v18 -  LibreELEC Testbuilds for RaspberryPi (Kodi 18.0)
Kodi "master" is now based on Leia, or Kodi 18. See this thread for Kodi 17 (Krypton) testbuilds.

Fair Warning

Kodi 18 is currently alpha and there is likely to be a lot of activity in the coming weeks/months. There will be some breakage.

In addition, these are "bleeding edge" builds - they often contain cherry-picked commits that require early testing prior to merging upstream, and which won't be found in regular nightlies until after they have been merged.

Please continue to report issues in this thread, but as I'm often not responsible for bugs and regressions (unless it's build related) don't expect personal replies or for me to file any upstream bug reports on your behalf. The best you can hope for is that the developer responsible is monitoring this thread and responds appropriately. If you want to progress an issue, identify when the issue first appeared as that may help suggest the pull request (PR) responsible, then post a comment on the relevant github PR or - if it's VideoPlayer related, or you don't know which PR is responsible - on trac.kodi.tv.

Bug reports

Please include a debug log with all bug reports as this greatly increases your chances of anyone taking an interest in your issue.

Best way to do this:
  1. Enable debug logging: Settings > System > Logging > Enable debug logging
  2. Reboot
  3. Reproduce the issue
  4. Upload the log: Settings > LibreELEC > System > Submit Log > Upload latest Kodi log
  5. Post the URL in the forum with a description of the problem
In the case of Kodi crashing use the Upload latest Kodi crash log option.

Bug reports without a suitable log will often be ignored - no debug log, no issue - or at best will take much longer to be investigated.

Skin Usage

By all means use third party skins with these builds (if the skins are compatible), but please do not report problems that cannot be reproduced while using the stock Estuary skin that is included with every build.

If a problem is not reproducible with stock Estuary then it's most likely to be a third-party skin problem, in which case contact the skin maintainer.


You need a working LibreELEC system in order to install a test build. If you are starting from scratch, use an official LibreELEC disk image to create a working system on your SD card. Once you have a working system, install the test build by copying the tar file into your Update folder and reboot.

RPi 3 Users: Use RPi2 builds.

Recent builds (see next post for older builds):
  • #0219, 19-Feb-2018: RPi / RPi2 -- Release post (New 4.14.20 kernel (with support for SuperAudioBoard sound card); tvheadend add hdhomerun; consolidate subtitle dialogs)
  • #0218, 18-Feb-2018: RPi / RPi2 -- Release post (Minors)
  • #0217, 18-Feb-2018: RPi / RPi2 -- Release post (busybox: bump package to v1.28.1; [Estuary] - fix info display for sets; python: Normalize Python exception; RetroPlayer GL(ES)/GUI fixes; paplayer (vp): fix out-of-bounds error in audiocodec passthrough)
  • #0216, 16-Feb-2018: RPi / RPi2 -- Release post (Controller topology (multitap support); libnfs updates; kernel 4.14.y: fix DAC S24_LE support)
  • #0215, 15-Feb-2018: RPi / RPi2 -- Release post (libnfs: status variable for the callback function is error; dwc_otg: add smp_mb() to prevent driver state corruption on boot; overlays: gpio-ir updates)
  • #0214, 14-Feb-2018: RPi / RPi2 -- Release post (RetroPlayer input fixes)
  • #0213, 13-Feb-2018: RPi / RPi2 -- Release post (bump arm-mem and valgrind; ffmpeg: hevc: Fix artifacts if bright scenes; dwc_otg: Fix a regression when dequeueing isochronous transfers)
  • #0212, 12-Feb-2018: RPi / RPi2 -- Release post ([input] InputManager: fix typo for `lirc.start` command; ffmpeg: hevc: Avoid zero length cache flushes; FIX: [3D] broken since awhile)
  • #0211, 11-Feb-2018: RPi / RPi2 -- Release post ([PVR] Ensure larger objects are heap allocated to avoid stack overflows.; [libdvd] latest versions libdvdcss 1.4.1 libdvdread/libdvdnav 6.0.0)
  • #0210, 10-Feb-2018: RPi / RPi2 -- Release post (Tvh update and scan-tables; [input] Re-factor remote control; [xbmc][fix] Use fmt for logging as well.; [cec] Add settings for configuring button repeats; input: Fix broken volume and mute button on remote)
  • #0209, 09-Feb-2018: RPi / RPi2 -- Release post (New 4.14.18 kernel; new firmware (fix boot crash))
  • #0208, 09-Feb-2018: RPi / RPi2 -- Release post (Games: Mouse remapping support; retroPlayer: Update OpenGL/ES Renderers and use RGB565)
  • #0207, 07-Feb-2018: RPi / RPi2 -- Release post (New firmware; fixes for Amazon/Netflix playback with latest libwidevinecdm.so; samba 4.7.5 / gdb / libjpeg-turbo / sqlite / tz)
  • #0206, 06-Feb-2018: RPi / RPi2 -- Release post (Added additional RPi sound card support; changed: drop XbmcThread::NonCopyable; fixed: return actual position for seek in file cache)
  • #0205, 06-Feb-2018: RPi / RPi2 -- Release post (New 4.14.17 kernel; switch from MySQL client to MariaDB client; bump glibc-2.27, systemd-237, etc.; ffmpeg: hevc: Fix minor memory leak and use stack for small allocations)
  • #0204, 04-Feb-2018: RPi / RPi2 -- Release post ([addons] don't use event load/unload in conjunction with async events; [addons] refactor dependecy tuples to a struct)
  • #0203, 03-Feb-2018: RPi / RPi2 -- Release post (Move several of the platform specific threading mechanisms to C++11 standard; Games: Keyboard remapping support)
  • #0202, 02-Feb-2018: RPi / RPi2 -- Release post (Update to gcc-7.3.0; new firmware)
  • #0201, 01-Feb-2018: RPi / RPi2 -- Release post (Switch ksoftirqd revert to Linus Torvalds fix for DVB issues; VideoPlayer: do not set stereo mode for monoscopic video, keep it an empty string)
  • #0131, 31-Jan-2018: RPi / RPi2 -- Release post (New firmware; new 4.14.16 kernel; [xbmc] refactor instantiation of storage provider and power manager syscalls)
  • #0130, 30-Jan-2018: RPi / RPi2 -- Release post (Add 64KB SMB chunksize to Kodi PR)
  • #0129, 29-Jan-2018: RPi / RPi2 -- Release post ([GLES] more shader cleanup; config: enable CONFIG_BPF_SYSCALL and CONFIG_CGROUP_BPF)
  • #0128, 28-Jan-2018: RPi / RPi2 -- Release post (Configurable MALLOC_MMAP_THRESHOLD_)
  • #0127, 28-Jan-2018: RPi / RPi2 -- Release post (Fix LiveTV OSD issue with OK remote button; kodi: reduce arm memory fragmentation (8KB))
  • #0126, 26-Jan-2018: RPi / RPi2 -- Release post (lirc: use it only for user-configured remotes)
  • #0125, 26-Jan-2018: RPi / RPi2 -- Release post (New firmware (Refactor get/set_voltage API, add SDRAM voltage); new 4.14.15 kernel; curl: update to curl-7.58.0; GLES cleanups)
  • #0124, 24-Jan-2018: RPi / RPi2 -- Release post (Updated RPi3/ZeroW(H) WiFi firmware (version
  • #0123, 23-Jan-2018: RPi / RPi2 -- Release post (filesystem: set proper chunk size for smb (RPi/RPi2 remain at 64KB via newclock5 commit); VideoPlayer: expose encoded display metadata to renderer)
  • #0122, 22-Jan-2018: RPi / RPi2 -- Release post (paplayer: fix bookmark at end of playback)
  • #0121, 21-Jan-2018: RPi / RPi2 -- Release post (Filesystem: test: Increase chunksize to 64K; fix 3D breakage after ffmpeg patches; AE: fix compensation distance; VideoPlayer: fix stereoscopic playback (PR:13395))
  • #0120, 20-Jan-2018: RPi / RPi2 -- Release post (Music Artwork Consistently Available To GUI)
  • #0119, 19-Jan-2018: RPi / RPi2 -- Release post (filesystem: test: Reduce chunksize to 32K; [pm] resume last played media after sleep)
  • #0118, 18-Jan-2018: RPi / RPi2 -- Release post ([video] Fix CGUIWindowVideoBase::GetResumeItemOffset after #13288)
  • #0117, 17-Jan-2018: RPi / RPi2 -- Release post (New firmware; new 4.14.14 kernel; updated curl linking)
  • #0116, 16-Jan-2018: RPi / RPi2 -- Release post (Input fixes and modernization; [PVR][Estuary] Guide window: Channel groups selector)
  • #0115, 15-Jan-2018: RPi / RPi2 -- Release post (filesystem: set proper check size for smb (2048*1024); VideoPlayer: fix segfault when stopping bluray playback; ffmpeg: hevc: Update to latest version; restore Ouya controller support)
  • #0114, 14-Jan-2018: RPi / RPi2 -- Release post (Update new splash screen for v18 alpha; [xbmc] Link against curl instead of using dlopen.)
  • #0113, 13-Jan-2018: RPi / RPi2 -- Release post ([gui] include now supports nested element processing)
  • #0112, 12-Jan-2018: RPi / RPi2 -- Release post (Application: Set volume after opening file; [gui] refactor window is topmost methods; Add a platform abstraction for temp files / directories)
  • #0111, 11-Jan-2018: RPi / RPi2 -- Release post (New firmware; [fix] boolean condition window.is does not work properly)
  • #0110, 10-Jan-2018: RPi / RPi2 -- Release post (New 4.14.13 kernel; [RFC] Get rid of frames-(m)sec conversion; VideoPlayer: fix audio/subtitle delay)
  • #0109, 09-Jan-2018: RPi / RPi2 -- Release post (Update vcsm kernel commits, fixing "freeze" issue in #0108; AE: register setting handlers inside ActiveAE; [PVR][Estuary] PVRInfoPanel: Add percent played progress bar)
  • #0108, 08-Jan-2018: RPi / RPi2 -- Release post (New 4.14.12 kernel; new firmware; systemd: persist persistent timer stamps; util-linux: Add systemd service, timer for fstrim)
  • #0107, 07-Jan-2018: RPi / RPi2 -- Release post ([fix] register settings callback for weather manager is called before it is ready; videoPlayer: fixes)
  • #0106, 06-Jan-2018: RPi / RPi2 -- Release post (bump pulseaudio 11.1, alsa-lib/alsa-utils 1.1.5, mysql-5.7.20; [fix] weather manager; [PVR] Fix OSD player times)
  • #0105, 05-Jan-2018: RPi / RPi2 -- Release post (fix and simplify PlayFile; videoPlayer: OpenVideoStream and m_pInputStream fixes)
  • #0104, 04-Jan-2018: RPi / RPi2 -- Release post (New Kodi splash; revert ksoftirqd commit - fixes DVB issues)
  • #0103, 03-Jan-2018: RPi / RPi2 -- Release post (iptables: Add default net filters; Fix certain home screen widgets not refreshing; [gui][fix] need splash window in history to render it properly)
  • #0102, 02-Jan-2018: RPi / RPi2 -- Release post (PVR logo, timeshift gui info fixes)
  • #0101, 01-Jan-2018: RPi / RPi2 -- Release post (busybox: enable brctl)
  • #1231, 31-Dec-2017: RPi / RPi2 -- Release post (New 4.14.10 kernel; switch mode whitelist from ints to strings)
  • #1230, 31-Dec-2017: RPi / RPi2 -- Release post ([JSON-RPC]Add "art" parameter to audio library Get and Set methods; PR:13274 Mode whitelist; PiSink: Treat default as HDMI; updated crazycat drivers)
  • #1229, 30-Dec-2017: RPi / RPi2 -- Release post (New 4.14.9 kernel; [PVR] Fix crash when enabling a PVR client addon.)
  • #1228, 28-Dec-2017: RPi / RPi2 -- Release post (Inputstream, PVR API 5.8.0 changes)
  • #1227, 28-Dec-2017: RPi / RPi2 -- Release post (Drop log upload authentication, still using ix.io; samba: update to samba-4.7.4; bluez: update to 5.48)
  • #1226, 26-Dec-2017: RPi / RPi2 -- Release post (No longer revert PR:13229; enable debug & statistics event counters; switch from sprunge.us to ix.io)
  • #1225, 25-Dec-2017: RPi / RPi2 -- Release post (Minors)
  • #1224, 24-Dec-2017: RPi / RPi2 -- Release post (windowing/gbm fixes; controller dialog: Wheel and throttle support)
  • #1223, 23-Dec-2017: RPi / RPi2 -- Release post (ifdef, TexturePacker and seek fixes)
  • #1222, 22-Dec-2017: RPi / RPi2 -- Release post ([pvr] no delay on switch to previous channel with key 0)
  • #1221, 21-Dec-2017: RPi / RPi2 -- Release post (Minors)
  • #1220, 20-Dec-2017: RPi / RPi2 -- Release post (Temporarily revert "Add video tag loaders" (newclock5 conflict))
  • #1219, 20-Dec-2017: RPi / RPi2 -- Release post (VideoPlayer: Fix stereo mode detection from filename in GetVideoStreamInfo; [PVR] Fix CPVREpgContainer::CreateChannelEpg not to change channel's)
  • #1218, 19-Dec-2017: RPi / RPi2 -- Release post (New 4.14.7 kernel; update to systemd-236)
  • #1217, 17-Dec-2017: RPi / RPi2 -- Release post (AESinkPULSE: Make default sink handling more failsafe; drop "Change Python sys.path population order")
  • #1216, 16-Dec-2017: RPi / RPi2 -- Release post (Change Python sys.path population order)
  • #1214, 14-Dec-2017: RPi / RPi2 -- Release post (New 4.14.6 kernel; drop gcc5/Nuvoton/Ouya patches; libcec: Fix LG tv always changing input)
  • #1213, 13-Dec-2017: RPi / RPi2 -- Release post (More AE fixes)
  • #1212, 12-Dec-2017: RPi / RPi2 -- Release post (New 4.14.5 kernel; restore ALSA/Pulse co-existence patch; shadow passwd file: overwrite if root is missing)
  • #1211, 11-Dec-2017: RPi / RPi2 -- Release post ([videoplayer][PVR] Make next/previous chapter work for PVR recordings; cmake cpp14)
  • #1210, 10-Dec-2017: RPi / RPi2 -- Release post (Drop ALSA/Pulse patch; bump cmake-3.10.0, mesa-17.3.0; fix /var/run symlink; AE: cleanup the mess in AESinkFactory; build Kodi using LTO)
  • #1208, 08-Dec-2017: RPi / RPi2 -- Release post (Fix file permissions on shadow file; prevent weak/bad root passwords; openssl 1.0.2n and heimdal 7.5.0; nss-mdns library and avahi socket fixes; PVR database query fix)
  • #1207, 07-Dec-2017: RPi / RPi2 -- Release post ([PVR] PVR manager: last PVR core component is now free from GUI code; videoPlayer: fix segfault; update kernel-firmware)
  • #1206, 07-Dec-2017: RPi / RPi2 -- Release post (Reintroduce media_tree (hauppauge, crazycat) drivers; allow root password to be changed)
  • #1205, 05-Dec-2017: RPi / RPi2 -- Release post (New 4.14.4 kernel)
  • #1204, 04-Dec-2017: RPi / RPi2 -- Release post ([PVR][Estuary] radio recordings fix + improvement)
  • #1203, 03-Dec-2017: RPi / RPi2 -- Release post ([PVR] Completely reworked playing flags. Moved almost all logic to PVR Manager; videoPlayer: add support for programs)
  • #1202, 02-Dec-2017: RPi / RPi2 -- Release post (Minor change)
  • #1201, 01-Dec-2017: RPi / RPi2 -- Release post (New firmware (with aliases node); new 4.14.3 kernel; VideoPlayer: fix detection of program change; VideoPlayer: drop recording related methods)

Feature Requests:
I will not be adding extra add-hoc packages to these builds as that is not their purpose, which is to help test bug fixes and enhancements for existing features/packages/drivers in stock LibreELEC. New functionality may be included for testing purposes if it is considered both beneficial and highly likely to be merged upstream in the near future, and is available as a github pull request or commit.

I have no desire to create builds with unique features upon which someone becomes dependent, as this benefits nobody in the long term not even those using the unique features once I stop creating new builds. In theory, when I stop creating new builds you should all be able to seamlessly switch back to official LibreELEC builds which by then should be including most if not all of the enhancements originally tested in these builds.

If you care about long term support for your favourite package, feature or driver and want to see it included in an LibreELEC build, contact the LibreELEC developers on github or post on the LibreELEC.tv forum requesting the addition of support in the base LibreELEC build (or better yet, create a Pull Request with patch). That way everyone building or using an LibreELEC derived system "wins".

Additional Testing Notes:
  1. Build references

    When reporting issues, refer to builds using only the published build codes, ie. #0215, #0216 etc. The build code is visible on the boot screen, and by typing "lsb_release".

    Do NOT use any other reference, as these are often meaningless. For instance, the LibreELEC github revision identifier, 20272, 20281 etc. can be used by more than one build if nothing changes in LibreELEC between successive builds meaning such references could identify multiple builds, rendering it useless as a unique reference.

    Anyone using the wrong reference will be ignored by me, possibly others, as I'm just not interested in working out which build you may or may not be referring to.

  2. Usage information

    Starting with build #0529(2014), very limited usage information will be collected during the first boot of each newly installed build. The information collected is: build#, Pi memory size (256MB, 512MB or 1008MB) and maximum ARM frequency. No IP or personal information is collected!

    If you wish to opt out of data collection, run the following command:
    touch /storage/.config/milhouse.dnt
    The purpose of this data collection is really just to get an idea of how much testing is being carried out and on what hardware, and would otherwise be achieved via non-opt out server logs if such logs were available (which they're not).

  3. Migrating LibreELEC from RPi1 to RPi2, and back again

    Note #1: Prior to migration I would recommend disabling all overclocks, as a Pi1 overclock may not work successfully on a Pi2, and vice versa.

    Note #2: LibreELEC now includes a compatability check to intentionally make it more difficult to upgrade the RPi1 or RPi2 with the wrong software. In order to switch from RPi1 to RPi2 (or vice versa) you will need to disable this compatability check by executing the following command in ssh BEFORE commencing the upgrade:
    touch /storage/.update/.nocompat

    From RPi1 to RPi2: While using the RPi1, upgrade with the RPi2 tar. Once the upgrade is complete, the system will reboot to a rainbow boot screen (as you're now booting the ARMv7 kernel). Shutdown (pull the power) and transfer the SD card into your RPi2, which will boot normally.

    From RPi2 to RPi1: While using the RPi2, upgrade with the RPi tar. Once the upgrade is complete, the system will reboot to a rainbow boot screen (as you're now using the ARMv6 kernel). Shutdown (pull the power) and transfer the SD card into your RPi1, which will boot normally.

  4. Builds since early Dec 2014 include crashlog support

    In the event of a crash, the file /storage/.kodi/temp/kodi_crashlog_<ccyymmddhhmmss>.log will be created. The symbolic link "/storage/.kodi/temp/kodi_crash.log" will always point to the latest crashlog. Upload one of these files to a paste site and post details on the forum.

    Debug builds are occasionally uploaded to the debug folder. Debug builds will usually include more detailed crashlog information, but require a larger System partition (at least 384MB) and more RAM.

    Use the following command to upload the most recent crashlog:
    cat /storage/.kodi/temp/kodi_crash.log | pastebinit

  5. Resizing partitions for debug-enabled builds (or undersized partitions that result in "CHECKING SIZE: FAILED" errors)

    The default FAT partitition created by a disk-image installation (prior to OpenELEC 6.0.1) is too small for a debug-enabled build (and even some of the more experimental non-debug builds depending on what features are included), and will need to be increased in size to 512MB using some of the free space allocated to the second ext4 partition.

    To resize the FAT and ext4 partitions of an existing installation:
    • Linux: use gparted to resize FAT/ext4 partitions
    • Windows: use MiniTool Partition Wizard. See this post for more details - unfortunately partition move/resize is not supported by MiniTool for ext4 filesystems so backup, delete/recreate ext4, then restore to resize the Storage partition
    • Windows: An alternative solution is to boot a Linux "LiveCD" and then use gparted

    Alternatively, if you have a Linux system available and are creating a fresh SD installation, manually creating the partitions may be a quicker option (the linked instructions will create a 512MB FAT partition).

    Starting with OpenELEC 6.0.1, disk image installations will now create a 512MB FAT partition although this will wipe all existing data - use the backup/restore procedure to save existing data.

  6. Amazon Prime / Netflix / inputstream.adaptive
    Amazon is working working (as of 03 July 2017)
    Netflix is currently working (as of 29 Jun 2017)

    These builds include the inputstream.adaptive addon, which is enabled by default.

    With inputstream.adaptive it is possible to view Netflix and Amazon Prime content.

    To do so, you will need to install the libwidevinecdm.so library:
    curl -Ls http://nmacleod.com/public/libreelec/getwidevine.sh | bash

    Edit: As of Jan 2018 the libwidevinecdm.so library installed by the script for RPi2 is no longer working with Amazon. Video add-ons will now need to install a working version of the library via one of the Widevine/DRM Helper addons that video add-ons should, by now, be supporting. If libwidevinecdm.so is not installed automatically by your chosen video add-on then contact the video add-on maintainer.

    Edit2: The new libwidevinecdm.so only works with RPi2 builds #0207 (2018) and later.

    Amazon Prime addons (valid Amazon Prime account required):


    Netflix addon (valid Netflix account required):


  7. LibreELEC Settings add-on Development Updates
    For these builds since #0612, enter a URL into a Custom Channel, selecting from the following URLs based on your hardware:
    RPi Zero/RPi1: http://milhouse.libreelec.tv/builds/master/RPi
    RPi2/RPi3:     http://milhouse.libreelec.tv/builds/master/RPi2
    Generic (x86): http://milhouse.libreelec.tv/builds/master/Generic
    then select "Milhouse-9.0" as the Update Channel (or "Milhouse-8.0" for builds before #0202).

  8. Clean builds - what are they?
    There are two ways to build LE: a "clean" build, where everything (every package) is built from scratch - this takes 2.5 to 3 hours - or there's an "incremental" build where only the packages that have changed from the last build are re-built - this is much quicker, usually 10-15 minutes depending on the number of packages that have changed.

    Obviously "incremental" builds are the preferred method since they're so much quicker, however there are consequences when packages have inter-dependencies and only some of those packages are changed (and thus rebuilt) which may result in unpredictable results at run-time. For this reason, every now and again it's a good idea to "clean build". Also, when there are a large number of core packages being updated/bumped it's also a good idea to "clean build" since the likelihood/risk of inter-dependency is so much greater.

    I'll sometimes make a point of mentioning in the build highlights when a build is of the "clean build" variety, mainly so that I remember this if/when I come back to this build for any reason in another 6 months time... Note that I won't always do this as I'll sometimes forget to mention it, so the lack of any reference to "clean build" should not be taken as confirmation that the build is incremental.

  9. Uploading debug logs
    Without a debug log there's often no way to investigate a problem, and you can expect your bug report to be ignored as a result. This is the easiest way to upload a debug log:
    1. Enable debug logging. If this is not possible in the GUI (because Kodi is crashing) then add the following to /storage/.kodi/userdata/advancedsettings.xml:
    2. Reboot, so that debug logging is in effect from the very start of Kodi
    3. Reproduce the problem
    4. Using ssh connect to LibreELEC (username: root, password: libreelec)
    5. Execute the command:
      cat /storage/.kodi/temp/kodi.log | pastebinit
      then paste the resulting url to the forum
    Debug logging is enabled in Settings > System Settings > Logging > Enable debug log. Sometimes component-specific logging may be useful depending on the issue.

    Do NOT upload the log itself to the forum! Always us a pastebin-type site (or dropbox/googledrive if you have to compress the log).

  10. Game Emulators
    Access games via Internet Archive ROM Launcher (IARL):
    1. Download Zach Morris Repo and install from zip (don't use "Install from zip file" Home screen widget - use Add-ons > Add-on browser > Install from zip file)
    2. Install from repository > Zach Morris Add-ons > Game add-ons > Game providers > Internet Archive ROM Launcher
    3. Within IARL, install emulators, launch games etc.

  11. Odds and sods
    1. What are newclock3, newclock4 etc.? Link.
    2. A selection of addons are available here
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Thread Rating:
  • 12 Vote(s) - 4.67 Average

Messages In This Thread
LibreELEC Testbuilds for RaspberryPi (Kodi 18.0) - by Milhouse - 2016-12-01, 06:34