The short story ...
I tried to find a build solution for my devices to run the current stable version (v9.2.6) on them, because official support for Amlogic devices ended with version 9.0.2, at least with the old kernels. And the new mainline 5.x kernel still lacks some features to make it suitable for daily use.
After a (very) long time, I managed to get them to work. Some example:
Currently supported Amlogic SoC families and devices:
1. Amlogic Meson GXBB (S905) and GXL (S905x) SoC on Linux kernel v3.14.29 (LTS):
- Mecool KI-Pro with S905D SoC (2G/16G) and a modular integrated DVB-T2/S2 tuner (AVL6862 with Rafael Micro R848/R912) :
Working services: Power status LED (Blue=ON, Red=OFF), CPU temperature sensor, Analog+S/PDIF+HDMI sound output, Gigabit LAN (factory MAC address detection works), Wireless (2.4+5 GHz, Bluetooth), IR remote control (amremote), HDMI-CEC, NAND boot (installtointernal), Availink AVL6862 multi-standard internal tuner (native kernel support).
NOTICE: WLAN and bluetooth tested and works with both wireless modules: AP6255 and BCM4335B0 also work.
- [NEW] Mecool KI-Plus with S905 SoC (1G/8G) and a modular integrated DVB-T2/S2 tuner (AVL6862 with Rafael Micro R848/R912) :
Working services: Power status LED (Blue=ON, Red=OFF), CPU temperature sensor, Analog+S/PDIF+HDMI sound output, 10/100 LAN (factory MAC address detection works), Wireless (2.4 GHz only), IR remote control (amremote), HDMI-CEC, NAND boot (installtointernal), Availink AVL6862 multi-standard internal tuner (native kernel support).
NOTICE: WLAN tested and works with wireless module: RTL8189ES.
- MXQ 4K Pro+ with S905X SoC (2G/16G):
Working services: Power status LED (Blue=ON, Red=OFF), CPU temperature sensor, Analog+S/PDIF+HDMI sound output, 10/100 LAN (factory MAC address detection works), Wireless (2.4+5 GHz, Bluetooth), IR remote control (amremote), HDMI-CEC, NAND boot (installtointernal).
NOTICE: WLAN and bluetooth tested and works with wireless module: BCM4334B1.
Driver addons: dvb-latest (media_tree: 2019-07-11), crazycat_aml (media_tree_cc_aml: 2018-09-23).
Maximum supported resolution: 2160p @ 60Hz.
Amlogic S905 images: Index of /S905/ - Latest version: v9.2.8.3 (2021-11-05).
2. Amlogic Meson8m2 (S812) SoC on Linux kernel v3.10.108 (LTS):
- OTT M8S+ with Amlogic S812 SoC (2G/8G):
Working services: Power status LED (Blue=ON, Red=OFF), CPU temperature sensor, Analog+S/PDIF+HDMI sound output, Gigabit LAN (factory MAC address detection works), Wireless (2.4+5 GHz, Bluetooth), IR remote control (amremote), HDMI-CEC, NAND boot (installtointernal).
NOTICE: WLAN and bluetooth tested and works with both wireless modules: AP6330 and BCM4335B0 also work.
M8S+ image: Index of /S8X2/ - Latest version: v9.2.8.3 (2021-11-05). - [NEW] WeTek Core* with Amlogic S812-H SoC (2G/8G):
Working services: Power status LED (Blue=ON, Red=OFF), CPU temperature sensor, Analog+S/PDIF+HDMI sound output, Gigabit LAN (factory MAC address detection works), Wireless (2.4+5 GHz, Bluetooth), RF+IR combo remote control (HID+amremote), HDMI-CEC, NAND boot**.
WeTek Core image: Index of /WeTek_Core/ - Latest version: v9.2.8.3 (2021-11-05).
Driver addons: dvb-latest (media_tree: 2019-07-11).
Maximum supported resolution: 2160p @ 30Hz.
* This device has only been supported since the last version. It is recommended that you back up your system before updating from my previous version (semi-official) or an earlier version of the official LibreELEC image (e.g. v9.0.2).
** Please read the description beginning with "WeTek NAND Installation Guide" in the IMPORTANT NOTES section below.
3. Amlogic Meson8b (S805) SoC on Linux kernel v3.10.108 (LTS):
- [Updated] MXQ HD18Q (1G/8G) a.k.a. "all black" versions:
Working services: 10/100 Mbps LAN, Realtek WiFi 2.4 GHz, CPU temperature sensor, IR remote control (amremote), HDMI-CEC, NAND boot (installtointernal).
Latest version: v9.2.8.3 (2022-05-18) - Update reason: S/PDIF output fixed. - MXQ m201d (512M/8G) a.k.a. "all black" versions with 512 MB RAM only:
Working services: 10/100 Mbps LAN, Realtek WiFi 2.4 GHz, CPU temperature sensor, IR remote control (amremote), HDMI-CEC, NAND boot (installtointernal).
Latest version: v9.2.8.3 (2021-11-05).
Driver addons: dvb-latest (media_tree: 2019-07-11).
Maximum supported resolution: 1080p @ 60Hz.
Amlogic S805 images: Index of /S805/
4. Amlogic Meson6 (AML8726-MX) SoC on Linux kernel v3.10.108 (LTS):
- WeTek Play (1G/4G) a.k.a. WP1:
The device image is based on the officially supported version 9.0.2.
Driver addons: not available.
Maximum supported resolution: 1080p @ 60Hz.
WeTek Play image: Index of /WeTek_Play/ - Latest version: v9.2.8 (2021-07-18).
For NAND installation please read the description beginning with "WeTek NAND Installation Guide" in the IMPORTANT NOTES section below.
+1 Bonus - Experimental images for 3rdParty devices:
Note: I don’t have these devices, so although I try to support, but I can’t test them directly.
Driver addons (for all 3rdParty devices): dvb-latest (media_tree: 2019-07-11).
Maximum supported resolution (S8X2-based devices only): 2160p @ 30Hz.
- [NEW] Universal k200 (S802, 2GB RAM, 10/100 Mbps LAN, AP6330 or Realtek WiFi):
Index of /3rdParty/S8X2/Universal-k200-S802_2G-AP6330/
This build is not especially device-specific, it is a general image that can be used for most M8 clones, as well as a bunch of further Chinese noname boxes with S802 (Meson8) SoC and 2 GB of RAM. - Universal n200 (S812, 2GB RAM, 10/100 Mbps or Gigabit LAN, AP6330 or Realtek WiFi):
Index of /3rdParty/S8X2/Universal-n200-S812_2G-AP6330/
This build is not especially device-specific, it is a general image that can be used for most M8S and MXIII clones, as well as a bunch of further Chinese noname boxes with S812 (Meson8m2) SoC and 2 GB of RAM. - MXIII (S802, 1GB RAM, 10/100 Mbps LAN, AP6330 WiFi):
Index of /3rdParty/S8X2/MXIII-S802_1G-AP6330/ - MXIII-G / MXIII Plus (S812, 2GB RAM, Gigabit LAN, AP6234 WiFi):
Index of /3rdParty/S8X2/MXIII-Plus-S812_2G-AP6234/ - [NEW] MINIX Neo X8 / X8-H (S802/S802-H, 2GB RAM, 10/100 Mbps LAN, AP6330 WiFi):
Index of /3rdParty/S8X2/X8-X8H-S802_2G_AP6330/ - [Re-based] MINIX Neo X8-H Plus (S812-H, 2GB RAM, Gigabit LAN, AP6335e WiFi):
Index of /3rdParty/S8X2/X8-H_Plus-S812_2G-AP6335e/
How to create bootable media, start, install and update the firmware:
- Create bootable SD card:
To create bootable SD card media you need to download the LibreELEC USB-SD Creator tool from the LibreELEC website. Then click on the 'Select file' button and browse the previously downloaded 'img.gz' disk image. - Start LibreELEC from SD card:
If you want to boot the device from an SD Card, you need to perform the 'toothpick method':
Disconnect the power plug, insert the prepared SD Card on, which the image file is written (img.gz), and then press and hold the reset button. Reconnect the power jack while holding down the reset button, then release it after about 3-5 seconds.
NOTICE: If the Android recovery menu appeared, you pressed the button for too long. - Install image from SD Card to internal memory (eMMC or onboard NAND Flash):
If you want to install the firmware into the internal memory, you need to log in to the device via SSH and run the installtointernal command. The default password for the root user is 'libreelec'.
NOTICE: The command will completely overwrite the previously installed firmware, so it will no longer be possible to boot the originally installed system. - Install an update package:
To install the update, you must copy the update file (tar) to the Update folder via SMB, and then restart the device. The update process will start automatically after the restart.
IMPORTANT NOTES - Please read them carefully before asking:
- The built-in LibreELEC packages for the devices are not installed from the official repo, because they are located on an external server.
- The remote control configurations are integrated into the image for all devices, so those can be used immediately after the first boot.
To install a remote control for an unsupported device, follow the instructions here: Index of /remote.conf/ - Keep in mind that only "amremote" is supported, the "meson-ir" configurations for these images are not supported.
- Using an external DTB only works with the S905/S905X/S905D, but also only when booting from the SD card or USB storage.
If you want to boot from external storage with an external DTB, you can find it here: Index of /device_trees/. - External DTB cannot be used with Meson8* (S802/S805/S812), because there it only takes into consideration those that are integrated into the kernel!
- If you use an external DTB to boot, you should NEVER install it to the NAND directly, because it will NEVER boot!
- WeTek NAND Installation Guide: Download the NAND installation zip file, extract it, and copy the contents of the file to the root folder of an FAT32-formatted SD card. Disconnect the power cord from the WeTek device, insert the prepared SD card, and plug in the power jack while pressing the reset button through the toothpick-sized hole in the bottom panel. You need to hold the button about 8-10 seconds until the LibreELEC installation begins.
- Support for tuners has been expanded in the release '2021-04-02' with the dvb-latest package.
It is also the last updated and recommended driver package. - There is no guarantee for 3rdParty images because I do not have such devices, so I cannot test them.
- There is no support for docker, because the docker compatibility was not a priority in my builds, so I wasn’t really concerned with re-implementing background support.
- It is possible that support for other devices and other Amlogic SoCs (eg. S912) can be created from this source, but unfortunately I do not currently have any time and resources to compile code for other Amlogic devices.
Fix the "power-on bug" in uboot for some boxes (S8X2 only):
This new power management option has been added since version 9.2.8, and it is only visible from the advanced level.
NOTICE:
Enable this option only in case of detailed condition, otherwise it may cause a system error or data loss during shutdown.
This option has been tested and works on an M8S box with M8S+ image (labeled: "AM8228 2G+8G 2016-03-19", PCB: "S812_M8_REV1.1 15/05/21").
Known issues (latest on top):
[S905] Multichannel-PCM and HD Audio passthrough issues.(Fixed: 2021-10-08)
projects/S905: fix audio passthrough issues · dtechsrv/[email protected][S8X2] Device with bcm4335b0: the 5 GHz wireless and bluetooth stops working after power off or restart.(Fixed: 2021-06-23)
restore bcmdhd driver replace patch in S8X2 · dtechsrv/[email protected][ALL] Slow channel change with 'pvr.iptvsimple'.(Kodi gets 0 fps from streaminfo when starting stream.)(Fixed: 2021-02-24)
replace streaminfo fixes · dtechsrv/[email protected][S905] Playback problems with VC-1 codec.(Fixed: 2021-02-22)
fix VC-1 playback on S905… · dtechsrv/[email protected][S8X2/S805] Analog audio output (DAO) not working via AV jack.(Fixed: 2021-02-17)
… enable analog audio output for meson8* · dtechsrv/[email protected][S8X2] Audio passthrough issues.(Fixed: 2021-02-09)
add some patches: … audio passthrough for M8S+ · dtechsrv/[email protected][S8X2/S805] Playback freezes when it is stopped or rewind/forward is used.(Fixed: 2021-02-08)
replace initramfs script to fix playback freezing · dtechsrv/[email protected]
The source files are available here:
GitHub - dtechsrv/LibreELEC-AML: 'Just enough OS' for Kodi for some Amlogic TV boxes
Acknowledgments:
Thanks to those who have worked on Amlogic devices before as I have used a lot of resources from their work:
kszaq, codesnake, drieschel, wrxtasy, Demetris, datrh, afl1 and many others.
Requests:
- If you find an error in the image, please report it in this thread.
- If you tested an image on a device other than the devices I support and it worked, please indicate it here in the thread as well.
- If you have a device that belongs to the supported SoC family, still feel free to write and I will try to find a working solution for it.
- If you have usable information for how to troubleshoot known issues, please post in this thread, or start a conversation with me, or send a pull request through GitHub.
Finally, you can invite me for a beer if you think my work is worthwhile: