LE13 Testing for RK3288, RK3328, RK3399, RK3566, RK3568, RK3576, RK3588

  • Dunno if that is in some way relevant for LibreELEC, but it may provide a clue

    I'd expect Wayland to be using zero-copy rendering as this is supported by the DRM layer and Mesa on RK hardware. For zero-copy to work mpv needs to use DRMPRIME pixfmt so buffers contain a pointer to a frame (in DMA) not a decoded frame. I'm not familiar with mpv config options but I'd guess --vo=dmabuf-wayland forces the correct output buffer format (that the compositor expects) for that to work.

    LE is not using mpv or Wayland, but Kodi and ffmpeg support both zero-copy (DRMPRIME) and normal (EGL) output. DRMPRIME is the default in all our ARM SoC images as it's more efficient, which is important for ARM SoC boards.

    NB: I have no playback issues with any of your private test samples on newer RK boards (356X, 3576, 3588).

  • I'd expect Wayland to be using zero-copy rendering as this is supported by the DRM layer and Mesa on RK hardware. For zero-copy to work mpv needs to use DRMPRIME pixfmt so buffers contain a pointer to a frame (in DMA) not a decoded frame.

    ...

    LE is not using mpv or Wayland, but Kodi and ffmpeg support both zero-copy (DRMPRIME) and normal (EGL) output. DRMPRIME is the default in all our ARM SoC images as it's more efficient, which is important for ARM SoC boards.

    NB: I have no playback issues with any of your private test samples on newer RK boards (356X, 3576, 3588).

    IIRC LE has some ffmpeg patches related to DRMPRIME which I may not have, so that could be a factor.

    I knew LE wasn't using mpv or Wayland, but I thought you encountered some issues too with Jellyfin test files ... and those were gone for me too with that dmabuf-wayland parameter. In case there were still issues, it could've pointed to a possible solution and that's why I mentioned it.

    But if there are no (more) issue with playback in LE, all the better :)

  • LE has some patches for v4l2_request and v4l2_m2m support. We cannot upstream them to Kodi because they depend upon the corresponding set of patches for ffmpeg that are also not upstream. Once the ffmpeg patches get merged and the ABI becomes defined, we'll be able to finalise the Kodi patches and get them merged.

    The issues with Jellyfin files were related to selecting the correct plane supporting 10-bit pixfmt. This is currently done with some simple patches applied to RK images only as Kodi lacks proper logic for plane selection and plane ordering. If you run Kodi under Wayland, the compositor handles this for you, but for GBM use Kodi needs to have its own similar logic.

  • Good evening chewitt, I'm trying to install your LibreElec image on the eMMC of the Orange Pi 3b and when I try to boot it doesn't work.

    The extlinux file does not have the dtb edited for this board and that is why it does not boot on the eMMc.

    Unfortunately, you can't edit the file here like you can on the SD card, so you'd have to edit the file inside the image so that everything is complete when burned.

    I would be very grateful if you could make this change.

    Regards


    This is how the file looks:


    and this is how it should be to be able to burn the image and boot directly into the eMMc:

  • If extlinux is /FDTDIR the boot firmware auto-selects the correct device-tree to use whereas /FDT defines a specific device-tree to boot with. I'm not sure how the auto-select in u-boot works for Rockchip (I'd need to go look at current u-boot source) but I trust that Kwiboo knows/knew what he was doing when setting things up like that. To triage the problem you need to attach a UART cable to the board and capture the early boot messages.

  • hi, I tried your image for rock5b, it didn't load, there's only a black background on the screen.

    I don't have a uart console that I can connect to and see what errors appear. I also tried to take an image from a nearby theme by balbes150. the system started from his image. Аfter making sure it was working, I downloaded the kernel and system updates from your repo and updated the SD card. after that, the system was able to boot and the kodi interface appeared. video files in the 264 codec are shown without delay. in the interface itself, when switching through the menu, sometimes barely noticeable pixels appear. judging by the fact that the system was able to start with the updated kernel and system. i think the problem lies somewhere in the loader.

  • hi, I tried your image for rock5b, it didn't load, there's only a black background on the screen.

    My ROCK 5B was able to start LibreELEC with 20251021-3f3aa0f nightly image via mSD.
    LibreELEC-RK3588.aarch64-13.0-nightly-20251021-3f3aa0f-rock-5b.img

    My ROCK 5B has no eMMC and no nvme SSD.
    Dose your ROCK 5B have eMMC or nvme SSD?


  • Dose your ROCK 5B have eMMC or nvme SSD?
    yes, nvme ssd is installed, with android.

    for running android firmware on nvme I have to update spl loader, mb this is the diffrent

    ok I will try LibreELEC-RK3588.aarch64-13.0-nightly-20251021-3f3aa0f-rock-5b.img image on the next weekend

  • Lots of RK boards ship with some kind of older/vendor u-boot installed in SPI flash and these might not support our extlinux.conf boot files. The solution to that is erasing SPI flash so the mainline u-boot on the SD card is found/used instead.

  • leo kalmaev You need to share the serial UART output from the board so we can see what happens during boot. There is no need to mess around with SPL loader tools. You image an SD card with the LE image, and as long as there is no other u-boot stored in SPI or eMMC to take priority, LE will boot its own u-boot from the SD card. If you want to run LE from eMMC, either mount the module via a USB/eMMC adaptor and write the image to it like an SD card, or boot from SD first, download the image to /storage, then use the "emmctool" script to write it to the eMMC device. Do not use vendor "write image direct to emmc" loader tools (as our .img is not created for them and won't work).

  • Code
    U-Boot SPL 2017.09-ge4e124926e-230922 #lxh (Sep 25 2023 - 10:58:38), fwver: v1.13

    You have an ancient Rockchip vendor u-boot installed (pre-installed by Radxa) in the SPI flash. Clear/erase the SPI flash and the board will boot from the SD card properly.

  • OK I have been using the latest nightly build for RK3566 and I've been able to watch videos natively!! I tried playing HDR and SDR videos and all plays smoothly, even 4K. I'm also able to control LE using CEC with my projector's remote control successfully. Thank you!

    I only have some issues at the moment:

    1. When I try to suspend the system, it gets stuck with a loading icon in the middle of the screen and I have to manually reboot. Is this a normal bug of LE or is this related with the nightly releases for the RK chips?

    2. I set LE to not suspend when the projector turns off (because of issue #1) and when I turn my projector off and then on, the CEC no longer works and LE doesn't react to my remote controller.

    3. I installed the Docker add-on and the docker service is not able to start because of an iptables error.

    Error: iptables v1.8.11 (legacy): can't initialize iptables table `nat': Table does not exist...