LibreELEC image for Tinker Edge R (RK3399Pro) brick

  • Hello everyone,

    Having been mislead by Asus's brand and advertised hardware toughness, I got myself an Asus Tinker Edge R, which all of a sudden turned out to be a total bummer, right out of box. No decent casings, available firmware and OS choice confined to ridiculously obsolete releases and no reply (at all) from Asus official support fall behind any reasonable concept of a modern branded single board, and from my perspective might be expected from a Chinese no-name but not Asus. Should had run through the offered firmware first, but anyway I'm now a happy owner of this piece of art.

    Lyrical digression aside, a ray of hope to turn this brick into an ample KODI player has come across my mind, so I'm struggling to find out if there is a compatible LibreELEC image for my Asus Tinker Edge R (RK3399Pro) board. Having surfed for this for a while I've learned that the Rockchip RK3399 and RK3399Pro are pin-to-pin compatible, so maybe someone could help me out with picking a proper compatible image on this list: https://libreelec.tv/downloads/rockchip/ (or from wherever else.)

    Would much appreciate any practical help and/or an advice/lead to follow.

  • There's no dedicated device-tree file for the board in the upstream kernel and a brief Google doesn't find any obvious mentions of the board being used with other upstream oriented distros like Armbian. I can only find Linux 4.4 BSP sources, which aren't much use to anyone. Those sources do claim the board is compatible with the RK3399 evb (evaluation board) but whether that's true or (more likely) the ASUS developers were just too lazy to create a unique device-tree file is anyone's guess. The evb board is supported upstream but you'd need to build a custom LE board image to test it. The RK3399 SoC is well supported upstream so it's probably not a herculean task to fabricate a dedicated device-tree file; but that effort really needs to be done by someone who has the board to test things, and is motivated to do the work.

    TL/DR: no current LE support for this specific RK3399 board. If you can find examples of someone creating a Linux 6.1 or newer device-tree file for the board and have a Tinkering [sic] mindset you can probably self-build an LE image.

  • There's no dedicated device-tree file for the board in the upstream kernel and a brief Google doesn't find any obvious mentions of the board being used with other upstream oriented distros like Armbian. I can only find Linux 4.4 BSP sources, which aren't much use to anyone. Those sources do claim the board is compatible with the RK3399 evb (evaluation board) but whether that's true or (more likely) the ASUS developers were just too lazy to create a unique device-tree file is anyone's guess. The evb board is supported upstream but you'd need to build a custom LE board image to test it. The RK3399 SoC is well supported upstream so it's probably not a herculean task to fabricate a dedicated device-tree file; but that effort really needs to be done by someone who has the board to test things, and is motivated to do the work.

    TL/DR: no current LE support for this specific RK3399 board. If you can find examples of someone creating a Linux 6.1 or newer device-tree file for the board and have a Tinkering [sic] mindset you can probably self-build an LE image.

    Thank you so much for your time and effort to be specific in your reply. That's actually what I was afraid of the most)) I've got a friend of mine, a really talented and experienced any-os-language-and-platform developer who told me something close to this when I first bumped into the issue three years ago or so (yes, that's the time my Asus Tinker Edge R brick has proudly spent in my SBC box along with other basically useless stuff.) He is Linux-savvy and his only concern at the time was if the 3399 SoC was upstream supported (or supported at all) to port and compile the source code (which would take loads of time and effort anyway, just as you noted.)

    I actually almost forgot about this Asus's masterpiece until out of curiosity and some free time I've recently succeeded in building and launching a vibrant KODI assembly (RPi 4 + Argon One M.2 + 250G SSD + LibreELEC), so it just rang a bell and hence I visited the official Tinker Edge R webpage - just to see that a "new release is out" (which predictably stood for another end-of-life Linux/Android stack.) Nonetheless, this gave me a hope things might have changed ever since, so I ended up in this forum to seek for help.

    Well your indication that the RK3399 is well-supported upstream gives me a hope I can whet my developer friend's appetite to compile somewhat able to revive this surprisingly hardware-wise ample yet absolutely useless board. If you happen to come across any other idea or solution to my issue, I'd be grateful, and thank you again for your specific lead.

  • If he's motivated you can point your friend to:

    https://wiki.libreelec.tv/development/build-basics

    https://wiki.libreelec.tv/development/build-commands/build-commands-le-12.0.x

    LibreELEC.tv/scripts/uboot_helper at master · LibreELEC/LibreELEC.tv
    Just enough OS for KODI. Contribute to LibreELEC/LibreELEC.tv development by creating an account on GitHub.
    github.com

    The uboot_helper file defines the image name and the u-boot defconfig and device-tree file to use for boot. You also need to patch the kernel to include the same device-tree using a diff patch which the build-system applies onto the upstream sources at build time.

    NB: In the Android TV box world users sometimes download all the images for a SoC type to see what works (or is least-worst) and you could try that approach too. The challenge with SBC's is that board plumbing tends to be more unique to the board vs Android box devices which are often copy/paste from a refrence design and thus quite likely to work with a wrong but-close-enough device-tree. If the board boots from SD card (might need emmc storage erasing to force that) it's a simple and harmless experiment to do though.