build for S905/S905X

  • (2016-11-06)
    Source code: GitHub - kszaq/LibreELEC.tv at
    Kernel source code: GitHub - kszaq/linux-amlogic-le at ffa3f8ce0d0e00a4549df13a0f65eab6112db1e7

    Further development builds available at: devel

    Important: read this post first: LibreELEC

    Important: please read Updating section below!


    • kernel updated from latest LibreELEC Amlogic sources and cleaned up a bit, enabled 3D in kernel config
    • fixed IR remote key code replacement script (e.g. remote button not working)
    • reworked Kodi patches for demux buffering: vq stays high, high bitrate videos still able to play
    • simplified updater-script for less errors when installing to internal memory in recovery
    • added some GLES memory leak fixes from SPMC
    • updated 4K scaling patches from LibreELEC master branch
    • fixed analog audio for S905X
    • allowed updating from any *.dtb file
    • increased dynamic_buf_margin to fix playback of some HEVC clips
    • switched to updated drivers for RTL8192EU and RTL8812AU (thanks to CGarces)
    • updated AP6212 and added AP6212a firmware
    • added experimental support for Aigaile WiFi

    Known issues:

    • Drivers for Aigaile WiFi need to be loaded in autostart.sh by adding the following lines:

      insmod /lib/modules/qca9377-aml/compat.ko
      mount -o bind /lib/modules/qca9377-aml/cfg80211.ko /lib/modules/3.14.29/kernel/net/wireless/cfg80211.ko
      mount -o bind /lib/modules/qca9377-aml/wlan.ko /lib/modules/3.14.29/kernel/drivers/amlogic/wifi/bcmdhd/dhd.ko
    • 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.
    • Some clicks/pops can appear when no audio is playing.
    • 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.
    • DVB support is experimental, some USB DVB tuners don't work at all
    • 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. Some boxes are unable to boot from USB drive.

    • Look at the beggining 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, 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, 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.

    If you like my work, you can buy me a coffee (or without PayPal account: link)

    Edited once, last by kszaq (December 9, 2016 at 9:08 AM).

  • Do we need to rename the dtb file to dtb.img? It seems like this is not needed with 009 but want to make sure.

    In any event flashed by renaming to dtb.img and then flashed again without renaming.

    Edited once, last by JonSnow (November 6, 2016 at 10:00 PM).

  • Nope, the last 5 points of changelog have been "added" over 28.10 dev build, the kernel has also got the latest updates from Amlogic (courtesy of Codesnake).

  • Nope, the last 5 points of changelog have been "added" over 28.10 dev build, the kernel has also got the latest updates from Amlogic (courtesy of Codesnake).

    What does 3D enabled in kernel config mean exactly? And thanks for the great work!

  • I have a 3D TV, how can I test the new feature? (I have to change the mode myself and I only can use sbs and hou)

    Another thing that never happend to me before ...
    After updating (incl. device tree) I have no sound anymore :(

    Edit: wait ... I just connected to my hub again to put another update file in the folder. THe old one was not deleted -> device tree haven't got updated.
    Edit 2: Updated by renaming to dtb.img, but still no sound
    Edit 3: Updating LE again.
    Edit 4: Still nothing. :( Sound with android works.

    Looking into the audio output settings, I only can choose "Pulseaudio" (Default, Bluetooth Audio). I am not sure, but I think this is the wrong one for me, I had this on the other setting before.
    Now it is grey and I can't change it anymore.
    Dev build was working fine.

    Using the "gxbb_p200_1G_wetek_hub.dtb" for updating wasn't possible for me, somehow.

    Edited once, last by Stimmenhotel (November 6, 2016 at 11:01 PM).

  • Stimmenhotel There is no new feature for 3D, I only enabled one kernel option that may be needed to make 3D work.

    You have to use a proper device tree for this build - from .009 folder - to make sound work. Unless I've done something wrong when compiling the trees... Can you by any chance use a different SD card and try a clean install to confirm whether it's wrong device tree issue?

  • Hi kszaq

    I updated from 10/28 dev build to 7.02.009, but I can't see any improvement...because everything was/is working flawlessly :)

    - poweron / poweroff / suspend / wake from IR
    - x265 8/10 bits, high bitrate (50 mbits/s) x264
    - stereo downmix to HDMI and passthtrough to optical
    - 23.976/24p working perfectly
    - no buffering issues (I'm connecting to a Synology NAS using NFS with 32 kb buffers, that might help)

    I've disabled wifi/BT/CEC, as I don't need them.

    The only thing I noticed is the size of my Thumbnails folder (which I populated with the texturecache.py script) : 1.1 Gb, instead of 690 Mb on a Raspberry Pi using the same MariaDB shared database.

    Really impressed with your work, will buy you some coffees :shy:

  • Hi,

    I tried to boot my TX3 Pro (s905x) with an USB flash drive with LE flashed on it, but it wont boot. Normally i would use an SD card, but i didnt had any left.
    I tried the different options (toothpick, other USB port, boot to recovery etc.), is it possible that my box will only boot LE from an SD card?

    ps. will u-boot help?


    Edited once, last by wimmetje (November 7, 2016 at 9:56 AM).

  • I have a small problem. Its not directly related to this build specifically, but since i just updated i thought i might as well post it here.

    Ever since i've been using your LibreElec builds i have had connection speed problems when my MxQ Pro 4K is connected via Ethernet.
    Live-TV (HD/High-Bitrate) constantly buffers, so does any HD/High-Bitrate movie.

    I already adjusted the videobuffer via advancedsettings.xml, but that only gets rid of the rebuffer-pausing, and instead shows the whole thing in slow-mo while buffering in the background.

    The Box negotiates 100MBit Full-Duplex, and if i copy something to the box via ethernet the speed is there. (Its maxing out the 5MB/s of the cheap SD-Card)
    Via WiFi everything works great! No problems with video or anything else.

    The CPU usage while using ethernet is also normal.

    It appears the speed via ethernet is only slow if the Box initiates the connection to the outside so to speak, which i don't understand.

    Any help would be appreciated ;)

    The new build seems to be working just fine though.

  • Hi,

    I tried to boot my TX3 Pro (s905x) with an USB flash drive with LE flashed on it, but it wont boot. Normally i would use an SD card, but i didnt had any left.
    I tried the different options (toothpick, other USB port, boot to recovery etc.), is it possible that my box will only boot LE from an SD card?

    ps. will u-boot help?


    Do you have more than 1 USB on your box? I guess i read sometime, that these boxes can boot just from one of them.