"HiassofT" LibreELEC RPi builds

Note: Wolfson / Cirrus Logic Audio Card support is included in official LibreELEC releases since version 8.0.1. Please use official releases, the builds linked on this page are no longer maintained.

Here are my "HiassofT" LibreELEC Raspberry Pi builds with support for the Wolfson and Cirrus Logic Audio Cards from element14. These builds offer the following features:


latest stable version:
RPi RPi2/3 builds
Source code
  • update to RPi kernel 4.9.9 with reworked Wolfson/Cirrus driver
  • include rpi-cirrus-config package from LE master
  • add bcm2835 DMA splitting fix to fix clicks when playing 192kHz audio files
previous testing version:
RPi RPi2/3 builds
Source code
  • Switch to kernel 4.9 and reworked Cirrus driver
  • Add passthrough-capable IEC958 / S/PDIF device
  • Custom mixer configuration is now possible via .config/rpi-cirrus-config.sh instead of udev rule.
    Look at .config/rpi-cirrus-config.sh.sample and the helper functions in /usr/lib/alsa/rpi-cirrus-functions.sh for details.
old versions:
  Download from archive Read Changelog.txt for details
LibreELEC 9.0 / Kodi 18 Leia preview builds
  Support for the Wolfson/Cirrus Logic audio cards is included in the LibreELEC master branch and also in the latest Milhouse builds

The source code is available on my GitHub repository https://github.com/HiassofT/LibreELEC.tv.

If you want to download the source code of a specific / older release select the appropriate VERSION-cirrus tag (eg 8.0.0-cirrus).


First-time installation

Updating from earlier builds

Automatic updates are disabled in the Wolfson/Cirrus builds so you have to perform a manual update as described in the LibreELEC manual update wiki page:

Please note that the 7.0.3 and 8.x builds use a new method to customize the mixer configuration, the old method of editing the udev rule will not work.

Upgrading from 7.x OpenELEC or LibreELEC builds

General disclaimer: Upgrades to a new major version in general work fine, but there's always a small risk that something goes wrong. Make a full backup of your SD card before upgrading so that you are prepared for that case.

Except for the standard disclaimer upgrading from OpenELEC to LibreELEC usuallly works just fine with the manual update procedure described above.

If the Cirrus card no longer shows up under audio output devices double-check that /flash/config.txt contains the following line:

In 6.x OpenELEC builds you could also use the deprecated variant rpi-cirrus-wm5102-overlay (note the -overlay at the end), but this is no longer supported with the current kernel.


Editing /flash/config.txt

By default the /flash partition is mounted read-only, you have to remount it read-write before you can edit /flash/config.txt:

mount -o remount,rw /flash
nano /flash/config.txt

Using a GPIO IR receiver

The default lirc-rpi GPIOs 17/18 will conflict with the Wolfson / Cirrus card. But you can use the following line in /flash/config.txt to use an IR receiver connected to GPIO 5 (pin 14 of the J2 connector on the Cirrus card):


A better alternative to lirc-rpi (which needs userspace lirc configured) is gpio-ir-recv. This driver will use in-kernel decoding and you can easily configure the keymap via config.txt

For example, if you are using a MCE remote and have the GPIO IR recevier connected to GPIO 5 / pin 14 just add the following line to config.txt and the remote will work out of the box:


Audio card configuration

On bootup the audio card is configured automatically by LibreELEC via a udev rule. You can override the default configuration (eg to enable speaker output) by creating a file

A sample configuration file, /storage/.config/rpi-cirrus-config.sh.sample is provided, just use it a template and look at the examples in the comments.


Please post your questions in this section of the LibreELEC forum.