build for S905

  • Almost there build 007 (2016-09-07)


    • multichannel PCM support (exeperimental as my AVR only does 2.1)
    • DD+ passthrough works
    • Mali driver reverted to r5p1 (again) for improved GUI performance
    • fixed optical S/PDIF entry in device trees
    • WiFi and Bluetooth:

    • 4K:

      • fixed GUI scaling
      • GUI (including Picture Viewer) is rendered at 1080p for optimal performance - rendering at 4K causes video stuttering
      • fixed GUI rect with scaling enabled (thanks codesnake)
    • added a possibility to force RGB output by echo 1 > /sys/class/amhdmitx/amhdmitx0/output_rgb
    • kernel config changed to improve S905X compatibility (thanks pulsar and koenkooi)
    • enable HDR output for supported devices
    • capped CPU frequency at 1.5GHz for lower power consumption and temperatures
    • improved memory management by disabling Android OOM killer and 2 minor kernel patches from Odroid
    • backported 2 Kodi upstream patches for memory leaks
    • added a script to install LE to internal memory while running it from SD card/USB drive
    • minor improvements to USB driver that should help some DVB tuners
    • added support for automatic boot script from balbes150

    Known issues:

    • Not tested on S905X.
    • Built-in DVB tuners are not supported.
    • VP9 hardware decoding is not supported.
    • Suspend doesn't work and when it works, device doesn't wake up properly. Temporary solution: use poweroff. IR power button switches the box off due to this bug.
    • 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.

    Source code: GitHub - kszaq/LibreELEC.tv at
    Kernel source code: GitHub - kszaq/linux at bca261f830318cabb95904f63812e7e91f7283a2

    How to install:

    CAUTION: Read the instructions carefully. Installation procedure has changed since!

    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

    • S905: First look for device tree with your box name in it. In case there is no such image, download generic one.

      • 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: At the moment there are 2 device trees available: p212_1g and p212_2g. 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!
    • S905 only: 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.
    • S905X only: Keep dtb.img that is provided on SD card.
    • 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.


    • (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.

    CAUTION (S905): 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

    Updating from or later (devel builds):
    HOW TO:Update LibreELEC - LibreELEC

    To update device tree (this is not needed if everything worked for you at

    • for SD card version simply download device tree and copy it as dtb.img to your SD card
    • for internal memory version follow instructions for new install using recovery
    • alternatively, for internal memory you can run this command: dd if=path_to_new_device_tree of=/dev/dtb bs=256k

    Updating LE running from SD card ( or earlier):

    • Update as usual: download img.gz, copy it to Update folder and reboot.
    • Wait for reboot procedure to complete.
    • After you device reboots and stops on first logo, connect the card to your computer, download aml_autoscript from release folder and replace the one that you already have on your card.
    • Download device tree and copy it to card: follow step 3 from SD card installation procedure.
    • Use toothpick method to boot the box.

    Updating LE running from internal memory ( or earlier):
    Follow procedure for new install. Your data won't be affected.

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

    Edited once, last by kszaq (October 13, 2016 at 10:33 PM).

  • Tested new build on Tanix Tx5 Pro (s905x 2GB RAM, 16GB eMMC)

    Tested from uSD card
    5 consecutive boot
    Fails with the following error:
    *** Error in mount flash: mount common: Could not mount /dev/mmcblk0p1 ***

    But on 6. attempt it boot and works.
    Here are all logs.

    WiFi works on both ranges.
    LAN Works.
    Playback also works, tested some h265 10 bit and some 4k contents

    Great work, thanks for all effort, even in this state playback is much better than with kodi on Android.

    Edited once, last by pm_mickey (September 7, 2016 at 10:46 PM).

  • I (stupidly?) just put the new image into the update folder and rebooted.. it updated but then BSOD after the LibreElec logo. Now I've flashed back to Android using the burning tool, but can't seem to flash Libre or boot into recovery. To make matters worse, every time I try the toothpick method it seems to kill the box, Android no longer boots and I need to keep reflashing Android with the USB Burning tool before I can try anything.

    EDIT: after several attempts basically trying the same thing over and over, the box finally decided to go into recovery and I was able to install 007 from there successfully.

    Edited once, last by RowanDDR (September 7, 2016 at 10:21 PM).

  • No, I used the toothpick method like a fresh install. I could have sworn that's how in the instructions said to do it when I first looked, or I misread the post.

    You read OP correctly was just curious if dropping the update in the folder worked since I don't see a new device tree for the MXIII i.e 2GB_1Gbit. Will try this way to see if it works for my eMMC install.

    Edited once, last by JonSnow (September 7, 2016 at 10:27 PM).

  • Just upgraded my Nexbox A95X (1GB S905 version) to .007 and everything seems to work fine.

    Tested multichannel PCM with a blu-ray rip of "Gone In 60 Seconds" and it works, as long as you set the number of speakers in the System -> Audio output menu correctly (I used 7.1, didn't try with 5.1 yet).

  • installed on nexbox a95x 1gb s905 using SD. when streaming moving Hz drops to 24Hz it play for a bit then i would lose WIFI and when i turn off the box i cant turn it back on.

  • I can confirm dropping 007 into the update folder works for eMMC install on my Beelink Mini MXIII, previous build was 006.

    kszaq would it be possible to get updated dtb for 2GB that also includes 1Gbit LAN or 1Gbit dtb file works for both 1/2GB?

    Edited once, last by JonSnow (September 8, 2016 at 4:27 AM).

  • Started with Beelink Mini MX III running stock android. Booted SD card okay. Tried the new install script and it completed, but I got a "corrupt filesystem" error on boot. Burned the box back to stock android using the USB burn tool. Tried the alternate toothpick method for installing to NAND. Same "corrupt filesystem" error.

    I will try installing 006 and then upgrading since that seems to be working for other owners of this box.

  • Started with Beelink Mini MX III running stock android. Booted SD card okay. Tried the new install script and it completed, but I got a "corrupt filesystem" error on boot. Burned the box back to stock android using the USB burn tool. Tried the alternate toothpick method for installing to NAND. Same "corrupt filesystem" error.

    I will try installing 006 and then upgrading since that seems to be working for other owners of this box.

    What dtb file are you using? Try using the one from 006 for the MXIII

  • Tested on Nexbox A95X S905X (2g/16g):
    - boot from SD card --- ok
    - install to NAND using ssh script from SD card -- ok
    - CEC, Wifi 2.4/5 ghz, bluetooth, lan, dvb-t2 Mygica T203 -- all ok

    So far so good.
    Thanks kszaq.

  • MiniM8sPro 2G/8GB
    Tested today with 007.

    Vanilla Kodi. WIFI ON but not connected to network yet!
    I have NO ethernet connected at this stage.
    Networks are displaying in LE configurations.
    Power off and on via remote tried 3 times WORKS.
    Reboot via power menu 3 times WORKS.

    Now i have connected to my network via WIFI (again no ethernet cable attached)
    I have not tried to play anything yet.
    I now did a manual Update of add ons. Went well 2 standard Kodi Updates.
    Used reboot from power menu box FROZE. Unplug Replug
    Wait for 1 minute. Tried reboot Box FROZE again. Repeated again 3rd time FROZE.
    Now i tried to power off box with the remote.
    The screen on my TV went Black and the box blue light stayed ON. Pressing the power button
    did nothing.
    Unplug Replug Hit power button this time box froze (could see kodi working wheel stuck)
    At this stage i cannot connect SMB either. Unplug replug.
    Tried 4 times with power button again Box Froze. unplug replug.
    Tried reboot again 3 times and it worked until i tried to install an add-on from Kodi Official repo. Nothing would download. All failing. So i have called up wifi to download add-on it failed then tried to reboot FROZE.
    OKAY it seems when wifi is called up to download or stream all the reboots and on off freezing occurs afterwards. If you don’t try to stream or download add-ons then ON, OFF, REBOOT all work.
    So basically wifi starts and then shuts down.
    Once you try to stream or download it disconnects and disappears from network smb as well.
    it is showing connected in LE configurations after this but no other network is displayed under connections..

    EDIT: With ethernet connected I can go to LE and see both Ethernet and wifi both reading Ready with their own IP Address.
    Rebooted 3 times same. Of course the box is working with ethernet plugged in.

    Reminder the device tree used for LE on these boxes is not a listed device tree specifically for this box in LE device trees.
    Using the below in testing.


    kszaq PM'D some logs after using speedtest addon where wifi breaks down and disconnects.
    No rush as i have exhausted the variables to the point of having no idea what i have achieved.

    Edited once, last by kostaman (September 8, 2016 at 7:55 AM).

  • Is it possible to boot the Wetek Hub from USB ?
    I wrote the img to a USB stick but it doesn't show me the menu to boot from it when rebooting, like it does when i have the bootable SD card in, it just goes straight to internal nand boot.