Hi, I was just looking for an updated image for a M8S+.
I installed it and it boots up and works (network/wifi/bluetooth all is present), but when I try to play a video from whatever video addon I only get a spinner.
Looks very promising, hope you can fix the video playback !
Due to the switch to GLIBC v2.34, all binary addons have been rebuilt. The main version of the add-ons has been changed from v9.2.0 to v9.2.1, so after the system update, the binary add-ons will also be updated. In addition, the default transfer protocol in the repository has also changed from HTTP to HTTPS.
NOTICE: If the auto update is enabled, but the installed version is not the latest, then the supported devices will automatically download and install it after restarting. If anyone has any issues with the update, please let me know in the comments.
Changelog
LibreELEC v9.2.8.18 (2025-05-20):
Odroid_C1: replace boot.ini and fix scripts for Odroid C1/C1+,
Odroid_C2: add experimental support for Odroid C2 board,
ALL: fix DVD playback from local ODD and NFS/SMB shares,
ALL: update time zone database to 2025b,
ALL: system update channel protocol changed to HTTPS,
ALL: update pulseaudio to 13.0 to fix missing symbol,
ALL: update cacert.pem to 2025-05-20.
LibreELEC v9.2.8.17 (2025-02-19):
ALL: fix bluetooth for multifunction Realtek USB WiFi dongles,
ALL: add experimental driver support for RTL8723BU,
ALL: update time zone database to 2025a,
ALL: xonard package transformed from service addon to sysutil,
ALL: modify SCSI generic built-in kernel support to module,
ALL: add RTL8822BU-aml to additional drivers,
ALL: update GLIBC package to 2.34,
ALL: update OpenSSL package to 1.1.1zb_p3,
S905, S912: disable unhandled signal messages on amlogic-3.14,
S912: fix subtitle stutter issue.
LibreELEC v9.2.8.16 (2025-01-08):
Odroid_C1: add SCSI generic support for USB optical drives (Direct I/O),
Odroid_C1: fix S/PDIF output on Odroid C1+,
ALL: add patch for ignore EGL debug headers on all devices,
ALL: update OpenSSL package to 1.1.1zb,
S805, S8X2: disable kernel log flooding by amlnf, rtc and mmc driver,
S805, S8X2: IPv6 support restored in all Meson8* projects,
ALL: fixed no-sound issue on analog output via AV jack,
S8X2: M8S+ remote config and keymap has been replaced with Mecool K-Series remote,
S8X2: poweroff method simplification,
S8X2: remove 16-bit floating point restriction from S8X2 project.
Repository extra packages
Amlogic VNC Server: a Virtual Network Computing (VNC) server for Amlogic devices. Latest version: 1.2.1, addon revison: 100 (Updated: 2025-03-07).
MakeMKV: decodes and plays video clips from proprietary and usually encrypted video discs. Latest version: 1.18.1, addon revison: 102 (Updated: 2025-04-19).
Transmission: a fast, easy and free BitTorrent client. Binary package removed due to long-standing project policy. If you need it, you have to compile it.
Tvheadend Server 4.3 (Alpha): a TV streaming server for Linux. Latest version: 4.3-2433, addon revison: 103 (Updated: 2025-08-31).
Xonard: a simple daemon to handle the non-standard audio controls on Asus Xonar U1 devices. This package transformed from service addon to a built-in sysutil.
Please note that I am still maintaining these images because the developement version of LibreELEC (v13) does not officially support AMLMX devices, and there is no kernel driver for AMLGX devices with built-in tuners.
The official LibreELEC support for Amlogic devices is being prepared using the mainline kernel (v6.x), but since the quality of the original Amlogic kernel code (it was made for Android) is very poor and also quite outdated, so the migration to the mainline kernel is a very slow process. The implementation of hardware-accelerated video decoder drivers is already in a pretty good state, but support for most of the built-in dvb drivers is not yet implemented.
The use of legacy kernels (v3.x) has security risks, keep this in mind when using my legacy LE 9.2 images. At the same time, the version of Kodi v18 (Leia) is no longer developed, so it may happen at any time that an external add-on stops working (especially online add-ons) and no longer receive updates for this version of Kodi.
1. Amlogic Meson GXM (S912) SoC on Linux kernel v3.14.29 (LTS):
Generic_S912 | Generic image for multiple S912 devices (multiple GXM devices with different specs): This build is not especially device-specific, it is a general image that can be used for a lot of S912 SoC based devices. The image will only boot with the appropriate DTB, which must be copied from the 'device_trees' folder to the root directory and overwritten the existing 'dtb.img' file.
2. Amlogic Meson GXBB (S905) and GXL (S905x) SoC on Linux kernel v3.14.29 (LTS):
WeTek_Play_2 | WeTek Play 2 (a.k.a. WP2) with S905-H SoC (2 GB RAM, 8 GB eMMC) and a modular removable tuner (AVL6211 DVB-S/S2, Sony CXD2841ER DVB-C/T/T2 / Panasonic MN88436 ATSC): Working services: Power status LED, CPU temperature sensor, Analog+S/PDIF+HDMI audio output, Gigabit Ethernet, Wireless (2.4+5 GHz), Bluetooth, IR remote control (amremote), HDMI-CEC, NAND boot (installtointernal, amlpkg*), modular removable tuner (native kernel support).
WeTek_Hub | WeTek Hub with S905-H SoC (1 GB RAM, 8 GB eMMC): Working services: Power status LED, CPU temperature sensor, HDMI audio output, Gigabit Ethernet, Wireless (2.4+5 GHz), Bluetooth, IR remote control (amremote), HDMI-CEC, NAND boot (installtointernal, amlpkg*).
Generic_S905 | Generic image for multiple S905x devices (multiple GXBB/GXL devices with different specs): This build is not especially device-specific, it is a general image that can be used for a lot of S905x SoC based devices. The image will only boot with the appropriate DTB, which must be copied from the 'device_trees' folder to the root directory and overwritten the existing 'dtb.img' file.
* Please read the description beginning with "NAND install image for SD card" in the IMPORTANT NOTES section below.
NOTICE: The Mecool/Videostrong K-series device images migrated into the 'Generic_S905' image.
DTB list for K-Series boxes
Box name
SoC
DTB
KI Pro 2GB (GXL)
S905D
gxl_p230_k1_pro.dtb
KI Plus 1GB (GXBB)
S905
gxbb_p200_k1_plus.dtb
KI Plus 1GB (GXL)
S905D
gxl_p231_1g_dvb.dtb
KII Pro 2GB (GXBB)
S905(-H)
gxbb_p200_k2_pro.dtb
KII Pro 2GB (GXL)
S905D
gxl_p231_2g_dvb.dtb
3. Amlogic Meson8m2 (S812) SoC on Linux kernel v3.10.108 (LTS):
M8S-Plus | OTT M8S+ and Videostrong KII with Amlogic S812 SoC (2 GB RAM, 8GB eMMC/NAND): Working services: Power status LED, CPU temperature sensor, Analog+S/PDIF+HDMI audio output, Gigabit Ethernet, Wireless (2.4+5 GHz), Bluetooth, IR remote control (amremote), HDMI-CEC, NAND boot (installtointernal, amlpkg*).
WeTek_Core | WeTek Core with Amlogic S812-H SoC (2 GB RAM, 8 GB eMMC/NAND): Working services: Power status LED, CPU temperature sensor, Analog+S/PDIF+HDMI audio output, Gigabit Ethernet, Wireless (2.4+5 GHz), Bluetooth, RF+IR combo remote control (HID+amremote), HDMI-CEC, NAND boot (installtointernal, amlpkg*).
* Please read the description beginning with "NAND install image for SD card" in the IMPORTANT NOTES section below.
4. Amlogic Meson8b (S805) SoC on Linux kernel v3.10.108 (LTS):
HD18Q | MXQ "all black" versions with Amlogic S805 SoC and 1 GB RAM (1 GB RAM, 8 GB eMMC/NAND): Working services: CPU temperature sensor, Analog+S/PDIF+HDMI audio output, 10/100 Mbps Ethernet, IR remote control (amremote), HDMI-CEC, NAND boot (installtointernal, amlota*).
m201d | MXQ "all black" versions with Amlogic S805 SoC and 512 MB RAM only (512 MB RAM, 8 GB eMMC/NAND): Working services: CPU temperature sensor, Analog+S/PDIF+HDMI audio output, 10/100 Mbps Ethernet, IR remote control (amremote), HDMI-CEC, NAND boot (installtointernal, amlota*).
* This is a standard update package in OTA format for the factory recovery. This can also be used for S805 devices that do not have an SD card slot.
5. Amlogic Meson6 (AML8726-MX) SoC on Linux kernel v3.10.108 (LTS):
WeTek_Play | WeTek Play (a.k.a. WP1) with AML8726-MX SoC (1 GB RAM, 4 GB NAND) and a modular removable tuner: Working services: Power status LED, CPU temperature sensor, Analog+S/PDIF+HDMI audio output, 10/100 Mbps Ethernet, Wireless (2.4 GHz), Bluetooth, RF+IR combo remote control (HID+amremote), HDMI-CEC*, NAND boot**.
Driver addons: not available. Maximum supported resolution: 1080p @ 60Hz.
* On some TVs, this can cause instability, but in this case it is worth turning it off:
Settings -> System -> Input -> Peripherals -> CEC Adapter
** Please read the description beginning with "NAND install image for SD card" in the IMPORTANT NOTES section below.
IMPORTANT NOTICE: How to fix the update issue on WeTek Play:
My WeTek Play images before v9.2.8.7 as well as the official v9.0.x images contain a bug that prevents the update from being performed. The following workaround can provide a solution for this issue:
Manual method to fix image update on WeTek Play
You need to log in to your box via SSH, and run these commands:
Code
mount -o remount,rw /flash
cd /flash
wget http://libreelec.dtech.hu/misc/wp1-fix-updates/post-flash.sh
chmod +x post-flash.sh
cd ..
sync
mount -o remount,ro /flash
After that, image updates can be installed without errors. To perform the update, you need to download the .tar file and copy it directly to /storage/.update directory or to the \\<IP-of-your-box>\Update\ share under Samba.
6. Experimental images for 3rdParty devices:
NOTICE: I don’t have these devices, so although I try to support, but I can’t test them directly.
Universal images for multiple S8X2 devices:
Universal_k200_2G | Universal image for k200 devices (S802 SoC, 2 GB RAM, 10/100 Mbps LAN, Broadcom or Realtek WiFi): 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_2G | Universal image for n200 devices (S812 SoC, 2 GB RAM, 10/100 Mbps LAN, Broadcom or Realtek WiFi): 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 series S8X2 images (based on Demetris work):
How to create bootable media, boot, install to eMMC/NAND and update:
Create bootable media (SD card or USB flash drive*): To create bootable media you need to download the LibreELEC-AML USB-SD Creator tool. Select the file you want to download and click the Download button, or click the Select file button and browse the previously downloaded disk image (*.img.gz). * Meson8* devices (S805/S8X2) only support USB boot since version v9.2.8.16. However, this option is not enabled by default, because scanning USB ports in some cases increases the boot time with additional delay. To enable it needs to set a variable in the uboot environment: fw_setenv enableusbboot 1. It is important to note that some devices cannot boot from USB at all, or only certain USB ports can be used for this purpose.
Boot LibreELEC from your previously prepared bootable media: If you want to boot the device from your bootable media, you need to perform the toothpick method first: Disconnect the power plug, insert the prepared boot media, 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**. * The reset button on MXQ and M8S+ is located behind the A/V connector, but on the Mecool and WeTek devices, the reset button is located behind the hole on the bottom of the device. ** If the Android recovery menu appeared, you pressed the button for too long.
Install image from bootable media to internal NAND/eMMC: If you want to install the image into the internal memory, you need to log in via SSH and run the installtointernal script. IMPORTANT NOTICE: It will completely overwrite the installed OS (e.g. Android), so it will no longer be possible to boot that system!
NAND install image for SD card: Download the NAND install image (*-sdcard.zip), 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 device, insert the prepared SD card, and plug in the power jack while pressing the reset button*. You need to hold the button about 8-10 seconds until the LibreELEC installation begins. * The reset button on M8S+ is located behind the A/V connector, but on the Mecool and WeTek devices, the reset button is located behind the hole on the bottom of the device. IMPORTANT NOTICE: It will completely overwrite the installed OS (e.g. Android), so it will no longer be possible to boot that system!
Install an update package: To install the update, you need to download, and then 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:
If you have any questions, please determine the type of your device first. During troubleshooting, you may need to SSH into the device and run some commands. I would be happy if I didn't have to explain these operations to you, because it is very time-consuming.
If you need to log in via SSH, the default password for the root is 'libreelec'. Changing the password after logging in is recommended for security reasons.
The built-in LibreELEC packages for these devices are not installed from the official repo, because they are located on an external server. If the LE add-on server is not available, please let me know only if it has been unavailable for more than 24 hours!
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 and S912! If you have a device with one of these SoCs, but the rest of the specification is different, you can try one of these: Index of /device_trees/.
External DTB cannot be used with Meson8* (S805/S8X2), because there it only takes into consideration those that are integrated into the kernel!
Support for tuners has been expanded in the release '2021-04-02' with the dvb-latest package. It is also the last updated and most recommended driver package for external USB tuners!
Docker works on all devices except WeTek Play since version 9.2.8.15, including S805 and S8X2 images.
I can't do miracles with the wifi and bluetooth drivers built into the kernel, so I can't do anything about "cannot connect", "the signal is weak" or "the connection is slow" errors either, so please don't expect a solution from me.
OpenVFD display configuration and usage:
NOTICE: Support for FD628-style displays and its clones has been supported since v9.2.8.8, but built-in configuration files are only available in Generic_S905 and Generic_S912 images from v9.2.8.11.
Configuration file installation methods:
SD card in offline mode (card reader): If you boot from SD card, you need to copy the appropriate configuration file for your box from the openvfd_confs directory to the root of your card, and rename it to openvfd.conf.
On eMMC/NAND or SD card in online mode: You need to copy the appropriate configuration file for your box from the /usr/share/bootloader/openvfd_confs/ directory to the /storage/.config/, and rename it to openvfd.conf.
The OpenVFD linux driver will be active after restart and the display will work properly if you have selected the correct configuration file.
Additional display features: In addition to displaying the current time, some displays can display playback status, network connection status, and some other things. However, this also requires OpenVFD service, which can be installed from Add-ons -> LibreELEC Add-ons -> Services -> OpenVFD.
Fix the "power-on bug" in uboot for Meson8* boxes (S805 and S8X2):
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").
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.
I will try to build a WP2 project with my modified 9.0.2 codebase. I will use kszaq's latest 3.14 for it, because the official LE's latest kernel has a lot of issues with CEC, and there is no amremote support either.
I have two pieces of the 2014 revision with Panasonic MN88473 demodulator. It works perfectly under DVB-C (with QAM256 modulation) on my PC (LE-9.2.4, Linux 5.x+ kernel), and on my own Amlogic S8xx boxes (LE-9.0.2), with updated dvb-latest package.
I had no intention of initiating a "hassle" at all, I just found that the upgrade algorithm probably doesn't like the "-DVB" string added to the version number.
Just a little bit funny that "2" is bigger than "2-potato".
Unfortunately, none of the devices I use have official support, so I personally didn't encounter this update bug.
I don't know how the update check procedure works, but I changed the version number in the patch to "9.0.2-DVB" instead of the original "9.0.2" and the update check may not like extra strings.
The second problem is that the analog audio output is also not working.
So, in the first approach, the simplest solution might be to get an HDMI-Composite or an HDMI-SCART converter if you would not use the HDMI output for anything else. Fortunately, these adapters are available cheaply from China, but due to different TV standards (PAL/NTSC/SECAM), you need to find carefully a compatible converter for your analog TV.
I also use one of my boxes with an adapter on a Full HD monitor, although it’s an HDMI-VGA, that also has a D/A for audio with a 3.5mm stereo jack connector.
Since then, I have updated the crazycat package and added support for the dvb-latest package, because I had a lot of stream quality problems with the Astrometa DVB-T2/C tuner under the crazycat addon. It took about a week to put the packages and their configuration together to make them work.
I also got an Xbox One tuner and tested it. Works perfectly with both crazycat and dvb-latest packages.
This screenshot was taken from TVH-4.2 running on my M8S device (LE-9.0.2/amlogic-3.10, selected kernel addon: dvb-latest):
The simplest solution is to replace the entire contents of "packages/linux-driver-addons/dvb" in your source directory with the contents of my source.
And you will then need to make the following changes to the "projects/WeTek_Core/options" file:
Code
# build and install driver addons (yes / no)
DRIVER_ADDONS_SUPPORT="yes"
# driver addons to install:
# for a list of additinoal drivers see packages/linux-driver-addons
# Space separated list is supported,
DRIVER_ADDONS="crazycat dvb-latest"
After that, you need to start building. In short, that's it.
I have built some versions of the crazycat drivers for the S812 SoC, with amlogic-3.10 kernel support for my device (M8S+), and maybe it will work on Wetek Core as well.
But you need to install driverselect package first:
OK and installing libreelec directly to box so I dont have to use dual boot?
Since the Android part doesn't work well then how to install directly to MXQ the libreelec so I don't have to use the external SD Card....................
Hi AZlink,
I also have a piece of box with this PCB. Do you have the stock ROM for this S805 Rev 2.0 (20150806) board?
I tried several ROMs, because the original ownership of the box crossflashed it to a different firmware.
The kszaq's LE 8.2.3, and my LE 9.0.2 test builds are working properly on the box (m201d), but I want to use the factory original IR remote (0x40400001) instead of the remote of my M8S (0xfe010001), and I have an issue with the front red/blue LED control too.
All this functions hardcoded to the original uboot, but I couldn't find it.
If you (or someone) have the correct ROM, or a download link, or just the filename / build date / something usable information, please share with me.
I used Demetris version 18.6 and the remote.conf is working fine. I can turn the box OFF no problem, but turn it back ON did not work. So far
the only Demetris Libreelec version Kodi 18.0 is working perfect on my box. Other version my box had a problem to turn it back on after turn it OFF. I had OTT M8S box with Eny M8S ROM installed. I did rename the copied dtb to dtb.img and put it to the root of the SD card.
I don't know the Eny's uboot which power options used. If it supports power off correctly, you can try my M8S+ bulid on your box instead of M8S build.
My M8S supports suspend mode only, but my box isn't an Eny version.
Which device do you have? An Eny M8S 2G? And what was the name of image file that worked by Demetris?
Did you rename the dtb file to dtb.img and copied it to the root of sdcard first partition? If you just copyed the file into device_tree it is not enough.
And one more thing: my M8S (n200C) and Eny M8S (n200) have different IR remote.
I found some picture from Eny's remote, and it uses same remote like MXQ (S805) device.
If you have this remote, you need the correct remote.conf: remote_mxq.zip.