This is a fork1 of the popular LibreELEC.tv distribution, optimized for the ASUS Tinker Board S (Rockchip RK3288).
Caution
Not tested on any other device than the Tinker Board S! Debian 12 (Bookworm) is used currently to build images from this source code.
I have the ASUS Tinker Board S, which has an integrated Wireless LAN and Bluetooth chip (RTL8723BS), but the driver support isn't as good as expected. The Rockchip RK3288 SoC has some regressions with current Linux kernels. The goal is to get a better working device with some minor changes.
Note
More information about my use-case, some useful scripts and configurations to use after the installation can be found in the Project Repository.
Kodi 21.3 (Omega)
- Patches for Kodi
- sleep timer (shutdown/suspend) defaults to 30 minutes; prevents instant sleep action, when accidentialy pressing OK twice
- reduced cpu load on idle
- fix bluetooth sound lag with pipewire (patch from xbmc master branch)
- removed pcre dependency in favor of pcre2
- crash fix when changing skins or language (xbmc issue)
- updated with merged commit to Kodi 22
- don't restart playback after resume from suspend
- removed timezone setting
- Updated LibreELEC-settings from LibreELEC/master
- Various fixes and configuration of timezone
- Bluetooth: icons for headphones, signal strength bar
Kernel 6.16.12
- Enabled BFQ I/O scheduler for testing (not set as default scheduler)
- CONFIG_HZ set to 100 instead of 300 (smoother UI response, probably less cpu interrupt overhead)
- Disabled XFS / BTRFS support
System / Image changes
- Rebranded LIBREELEC_ variables to DISTRO_ (like in LibreELEC/master)
- Alternative wireless vendor driver: RTL8723BS
- Alternative rtw88 wireless driver rtw88_rtl8723bs - credits to MocLG
- Additional packages included in image: btop, emmctool, evtest, rsync
- Updated u-boot to version 2026.04 which fixes a boot issue when installing to emmc
emmctool- Added support for Tinker Board S
- Fixed u-boot version output
- Updated iwd to version 3.12
- Added connman patches from LibreELEC/master
- Updated bluez to version 5.87
- Updated wireguard-tools to 1.0.20260223
- Some minor package cleanups
- Removed
SuspendMode=falsefrom systemd sleep.conf as it's deprecated - Removed
kodi-lirc-suspend.serviceas it's deprecated
- Removed
Tinker Board S specific
- Added alsa config file for working audio over the 3.5mm audio jack
- Enabled Bluetooth: dts-rk3288-tinker-bt-rtl8723bs
- Enabled 500 Mhz GPU frequency: dts-rk3288-gpu-500mhz-opp
- Enable HVEC and RGA node: dts-rk3288-tinker-hevc-rga
- Full shutdown patch: mfd-rk8xx-fix-shutdown-handler
- USB device detection on running system: disable autosuspend udev rule
- Add eeprom node: dts-rk3288-tinker-add-eeprom-node
Wireless LAN
- WPA3 isn't supported by the rtl8723bs driver (yet?)
- Staging driver won't show all SSIDs, has random disconnects and can't reliably reconnect
- For this reason the kernel staging driver is blacklisted and the alternative driver is used
Kodi
- Playback after suspend won't always continue, depending on the add-on or media last played
- So it's disabled with this patch
- Shadertoy visualization for music playback causes graphical glitches on menu icons and text
- Libretro: Setting the "stretch" mode to "original" for games causes an extremly zoomed in Kodi UI and a restart is required (has to be changed back blindly)
System
- Splash screen won't show (on shutdown or reboot) after the system was resumed from suspend
Full Shutdown (kernel)
- System didn't fully shutdown since Kernel 6.5 (power led stays on, device gets warm and draws power)
- System automatically booted on Kernel 6.16+ after some time (about 30 seconds)
- Fixed by mfd-rk8xx-fix-shutdown-handler
Wireless LAN (internal)
- Stable WIFI connection with the alternative driver on newer kernels (6.12 - 7.0)
- Loading of the kernel staging driver is blacklisted for TinkerBoard
- The prefered wireless driver can be changed in the
/storage/.config/modprobe.d/rtl8723bs-driver.conffile
- The prefered wireless driver can be changed in the
Bluetooth (internal)
- On mainline kernel version below 6.16 it connects only to one device; every secondary device gets a timeout on connect
- Large error message in kodi.log after resume from suspend (bluetooth still works)
- SETTINGS: bluetooth.init_adapter # DBusError('org.bluez.Error.Busy -- ')
- Fixed with patch for LibreELEC-settings
USB Device detection when system is running
- System didn't detect USB devices plugged in when fully booted and running
- Fixed with the udev rule, which disables USB autosuspend
- (on kernel 6.12.23) fixed by general-dwc2-fix-rk3288-reset-on-wake-quirk.patch
Audio over 3.5mm Jack
- Added required config file
- The output source in Kodi and pipewire is called "USB Audio ..."
To install the image from SDCARD onto the internal eMMC storage, you can use the emmctool script.
Caution
Use emmctool with care. Do a backup first to prevent losing data.
Like any Linux distribution, this project is not the work of one person. It is the work of many persons all over the world who have developed the open source bits without which this project could not exist. Special thanks to Armbian, CoreELEC, Lakka, LibreELEC, ROCKNIX, SupervisedThinking and to developers and contributors across the open source community.
TinkerELEC original code is released under GPLv2.
Footnotes
-
this branch is based on the libreelec-12.2 branch commit 71b3d24c2177c0c6833734e021e4b98ac581f6fc from Feb 27, 2026. ↩