Source code: GitHub - kszaq/LibreELEC.tv at 7.0.2.008
Kernel source code: GitHub - kszaq/linux-amlogic-le at 48d3a2fe0559f1b1088b49c4f9d911b2baf7370e
Important: please read Updating section below!
- no more booting issues!
- fixed 4K H264 playback
- added VP9 hardware decoding support - thanks to braindamagedman for adapting header update function
- fixed HD Audio and multichannel output by patching device tree (credits to afl1)
- kernel updated to latest publicly available version from Amlogic
- fixed output_rgb that forces RGB output
- fixed channel mapping with 7.1 output
- minor fixes to installtointernal script
- moved USB and CEC interrupts away from CPU0 to fix live TV issues for some USB DVB tuners
- fixed 1/4 screen video with 4K output (credits to wrxtasy)
- added back advancedsettings.xml to fix audio buffering issues with some live TV channels
- added a workaround for a black bar above video with 4K SMPTE output (not tested)
- changed default CPU governor to interactive
- added console on serial port
- fixed Kodi option to choose Power button action
- added aspect ratio detection for H.264 streams - thanks to pec for implementing the patch, chbmuc for PR and HD-Lite channels fix. I also added a check that turns ratio detection on only for streams that need it (to keep CPU usage low)
- added a workaround to make suspend (partially) work
- added a possibility to update a device tree during system update
- bumped coherent_pool_size to 4MB to fix firmware loading for some USB DVB tuners
- added Kodi patch from RPi for settings option to boost centre audio channel when downmixing
- added hardware demux buffering patch from Davilla to allow higher bitrate hardware decoding (e.g. "Jellyfish" up to 400Mbps)
- updated Bluetooth firmware for BCM4335 chip (thanks afl1)
- memory management optimized a little bit
- other little fixes and improvements
- Opening some high bitrate HEVC files/streams may lead to system lock - this is a bug in Amlogic hardware decoder memory allocation code.
- 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.
- Aigale WiFi chips are not supported.
- Built-in DVB tuners are not supported.
- Suspend doesn't work most of the times. Temporary solution: use poweroff.
- Temperature reading not available.
- 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.
- Lots of other things that I did not notice.
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.
- Download img.gz file and burn it to SD card/USB drive: 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, use a toothpick to push reset button 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 (take 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.
Internal memory (NAND/eMMC):
Recommended way: 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.
Alternative way of installing via recovery (not recommended):
- (This step is not needed when you have Android on internal memory) Download Android firmware for your box - you should get it from manufacturer or seller - and extract 2 files: recovery.img and dtb.img to your SD card.
- Download zip file from LibreELEC release folder.
- Unpack downloaded file to SD card/USB drive - you should now have 5 files on your card: aml_autoscript, factory_update_param.aml, a zip file with an update, dtb.img and recovery.img.
- Download a device tree for your box, rename downloaded file to ledtb.img and copy it to main folder of SD card.
- Insert SD card to your box and use "toothpick" method to install it. Alternatively you can boot into Android Recovery and install it manually.
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
Update by downloading img.gz to Update folder. You should also download a new device tree, rename it to dtb.img 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.