Source code: GitHub - kszaq/LibreELEC.tv at 7.0.3.010
Kernel source code: GitHub - kszaq/linux-amlogic-le at fb23764f75e920ceb24c8b8c82e2b34c91b44854
Important: read this post first: LibreELEC
Important: please read Updating section below!
- experimental build with 32-bit userspace is now available
- improved a/v sync and buffering patch
- kernel updated from latest LibreELEC Amlogic sources and cleaned up a bit
- reverted some kernel audio patches to prevent clicks and pops
- applied a fix after the revert to keep HD Audio working
- backported a few memory leak patches from Krypton
- added a few fixes from SPMC
- fixed a script that updates device tree (thanks to CGarces)
- added hacks and workarounds to enable automatic Aigaile WiFi driver loading (still a little buggy)
- added an option to copy user data when installing to internal memory
- 4K scaling patches reverted to 7.0.2.008
- reverted AP6212 because of connectivity issues with updated firmware
- added temperature reading and thermal throttling support
- maybe something I don't remember
- 4K is a bit expetimental because I can't test it.
- Drivers for Aigaile WiFi may need to be reloaded from time to time by manually toggling WiFi in LE Settings.
- BT is not supported for Aigaile chips.
- Opening some high bitrate HEVC files/streams may lead to system lock - this is a bug in Amlogic hardware decoder memory allocation code. You may have a better experience using 32-bit build.
- If you use S905X device with TV without HDR support the screen will be darker than normal on boot. It goes back to normal after you start/stop a video.
- Built-in DVB tuners are not supported.
- Suspend doesn't work most of the times. Temporary solution: use poweroff.
- Jerky playback of some 29.97fps videos and some Live TV channels (Amlogic HW decoder bug).
- CEC might not work when your box has incomplatible u-boot or your TV is not that well supported by Amlogic low-level CEC driver.
- DVB support is experimental, some USB DVB tuners don't work at all.
- 3D support is experimental and not tested.
- Lots of other things that I did not notice.
Note on 32-bit build: If you want to switch to 32-bit build, you need to clean your addon cache first: rm -rf /storage/.kodi/addons/packages/*, after updating force refresh every repository you have and reinstall all binary addons. If you don't know what it is, you probably don't want to switch or shouldn't do it - make a clean install instead. The same note applies to restoring backup from 64-bit to 32-bit build and vice versa.
How to install
I strongly recommend trying running this release from SD card/USB drive before installing to internal memory!
If you have WeTek Hub, you don't need to use toothpick method: update to latest Android version and make use of dual-boot feature!
How to choose a device tree:
You can download device trees blobs (images) from device_trees
Important: Do not use device trees from previous build! You also cannot use device tree from Android firmware as in 99% cases it won't work.
S905: First look for device tree with your box name in it. In case there is no such image, download generic one. Device trees for S905 boxes start with gxbb.
- example: for a box with 2GB of RAM and 100Mbit Ethernet, you should download gxbb_p200_2G_100M.dtb
- example: for boxes with Gigabit Ethernet download gxbb_p200_1Gbit.dtb
- for boxes with Realtek WiFi (e.g. K1 Plus or K2 Pro) download device tree with RealtekWiFi in name
- S905X: Device trees for these boxes start with gxl. You can leave a tree that is already present on SD card (fresh install only) or choose one according to your RAM amount.
SD card/USB drive:
Note: only 1 USB port is able to boot the box. You have to try them all. Some boxes are unable to boot from USB drive.
- Look at the beginning of this post and find Downloads link. Download file with img.gz extension.
- Burn the downloaded file to SD card or USB drive using Rufus. Alternatively you can use LE tool but remember that you have to download the image manually: Installation - LibreELEC
- After this you will see that drive capacity is 512MB. This is OK as there is a second (hidden) partition on the drive for LE userdata!
- Download a device tree, rename it to dtb.img and copy it to main folder of SD card/USB drive - replace the one that's already there.
- To boot the system for the first time you have to use one of the following:
- toothpick method: disconnect the power supply, insert card/drive, push reset button and connect the power while holding the button. Wait until LibreELEC logo appears and release the button.
- menu button method (works with very few devices): disconnect the power supply, insert card/drive, push menu button on your remote control and connect the power while holding the button. Wait until LibreELEC logo appears and release the button.
- recovery method: boot into Android, insert card/thumb drive and choose Reboot to recovery. Your box should boot into LibreELEC.
- recovery method (2nd variant): if you have "Update" app pre-installed open it, insert SD card with LE/connect USB drive, and choose any ZIP file in the app for update. Your box should reboot to LE.
- recovery method (3rd variant): if your box is rooted, use terminal emulator app and execute reboot update command
- recovery method (4th variant): enable ADB (Google it) and issue adb reboot update command
Internal memory (NAND/eMMC):
Run LE from SD card first. If it runs fine, connect to your box over SSH, execute installtointernal command and follow on-screen instructions. This command wipes SYSTEM and DATA partition!
CAUTION: If your box has a non-standard partition layout, you will see an error when trying to boot from internal memory for the first time. To solve it, you need to boot one more time from SD card and run installtointernal again.
To boot into recovery after installing LE to internal memory use this procedure:
- prepare a clean, FAT32-formatted SD card or USB drive
- copy recovery.img and dtb.img from your Android firmware to SD card (don't use dtb.img for LE!)
- use "toothpick" method to boot from SD card/USB drive or execute reboot recovery over SSH
Update by downloading img.gz to Update folder. You should also download a new device tree, and put in Update folder with an update file. You should have both files in Update folder before rebooting.
HOW TO:Update LibreELEC - LibreELEC
- If you use a device tree from a previous build, you will experience audio stuttering issues and no passthrough.
- If you have a device with non-standard partition layout and have LE installed to internal memory, you have to perform a clean install.
Q: My remote control does not work, what can I do?
A: Grab remote.conf file from Android firmware (it's available in /system/etc) and copy it to Configuration folder: /storage/.config over SSH or \\your_box_IP\Configuration using Windows shares. You can also put that file to main folder of your SD card. You may need to remap some buttons.