build for S905/S905X

  • (2016-12-18)
    Source code: GitHub - kszaq/LibreELEC.tv at
    Kernel source code: GitHub - kszaq/linux-amlogic-le at 80f16637e8114ced140b2aa41b39143e5f1a88cd

    Important: please read Updating section below!

    Important notes:

    • These are community supported builds so please post all bugs/issues in this forum area only.
    • For any non-personal use you should refer to Kodi Trademark Policy. Please also follow these guidelines for LibreELEC branding.

    Additional notes:

    • I created this build for myself and work on it in my free time. I also don't know a lot of things so please be kind and patient if you encounter any bugs.

    Reporting bugs: LibreELEC

    For general information read this post: LibreELEC


    • reverted kernel patch from Amlogic introduced in build that breaks booting for many devices
    • reverted a change in USB driver to compile it as a module
    • reverted USB driver patch that broke some DVB tuners
    • fixed LIRC in 32-bit builds (thanks to Raybuntu)
    • fixed error recovery mode for H.264 streams
    • added a workaround for device tree update
    • re-added thumbnail speedup patch from SPMC
    • added some memory leak fixes from SPMC Jarvis
    • added a device tree for p201 boards with 2GB RAM

    Known issues:

    • 4K is a bit expetimental because I can't test it.
    • WiFi driver may need to be reloaded after a reboot 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.

    If you update from 64-bit to 32-bit build your device tree will not update automatically even if you put it in Update folder! You have to replace it manually or perform update process for the second time - i.e. once again put 32-bit build and device tree in Update folder and reboot.

    How to install
    I strongly recommend trying running this release from SD card/USB drive before installing to internal memory!

    32-bit? For new installations I recommend using a build from 32-bit folder. You can also update to it but you need to do this carefully and read notes below.

    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.

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

    Edited once, last by kszaq (January 6, 2017 at 11:05 PM).

  • This release has audio stuttering fixed and also memory leak?

    There is no audio stuttering issue if you update device tree properly... unless you mean USB Audio. Then it's not fixed, unfortunately.

    Memory leak is definitely not present in 32-bit build, I recommend using it for all new installs.

  • Hi kszaq, I assume using proper device tree using means, preparing sd card with latest image using Rufus and download the appropriate dtb file from device tree and replace it with the one in sdcard. Right.?
    Correct me if I am wrong. I have been doing it like that since the last few updates...
    Is there any performance issues in using 32bit version just to avoid memory leak? I have k1 plus s2t2 box with 1GB ram. That's why I need to know before I proceed with flashing.

  • After using the toothpick method my m8s2 goes in a black screen where I can only write stuff, nothing else happens. It has s905x. Used rufus to burn the img.gz to an sdcard and then copied the dtb.img. Anything I would do I end up in the black screen.

  • After using the toothpick method my m8s2 goes in a black screen where I can only write stuff, nothing else happens. It has s905x. Used rufus to burn the img.gz to an sdcard and then copied the dtb.img. Anything I would do I end up in the black screen.

    Try not replacing the device tree after creating SD image.

    Kernel is a aarch64 even with 32bit, correct?


  • should i replace dtb image even if i use 32 bit image or not ?
    i have screen tearing issue, i couldnt boot into the libreelec. i installed into NAND.
    i dont know what is the real problem. i tried 32 bit version.

    Edited once, last by plikmuny (December 18, 2016 at 6:12 PM).

  • i am using 32bit latest build, but once i finish installing, my screen is half black half kodi. i cant see anything except kodi and the date.

    Kszaq, any help from your side ? K1 plus is my Tv Box.

  • i dont have Android OS. i was running your last build from NAND.
    now i wanted to install your latest build. i tried all builds 32 bit img&zip and 64bit img and ZIP all these are giving me half screen once i boot into Kodi.
    No idea why...

    Is it running normal for you or anyone having the same issue ?

  • ok, thanks... it was too late bro, i got scoldings from my wife for that.(just offtopic)
    But i am sure you will do it.

    may i ask you how long it may take ? thanks in advance.