2019-04-16, 17:46
Kodi "master" is now based on Matrix, or Kodi 19. See this thread for Kodi 18 (Leia) testbuilds.
Fair Warning
Kodi 19 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 open an issue on Kodi github.
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:
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.
Installing
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/RPi 3+ users: Use RPi2 builds.
RPi4 users:
Concurrent HDMI and Headphone jack Analog audio? Not currently supported
Recent builds (see next post for older builds):
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 a 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 a LibreELEC derived system "wins".
Additional Testing Notes:
Fair Warning
Kodi 19 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 open an issue on Kodi github.
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:
- Enable debug logging:
Settings > System > Logging > Enable debug logging
- Reboot
- Reproduce the issue
- Upload the log:
Settings > LibreELEC > System > Submit Log > Upload latest Kodi log
- Post the URL in the forum with a description of the problem
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.
Installing
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/RPi 3+ users: Use RPi2 builds.
RPi4 users:
popcornmix Wrote:Known RPi4 issues:Black screen? see post
- 1 pixel wrap (2020-04-08: fixed with temporary hack)
- HW decode for stateful v4l2 (h264) disabled by default. Can be enabled in acceleration settings but seeking doesn't work.
- No CEC yet (more info) Fixed in #0511
- No multichannel PCM in current build
- ~No HBR passthrough yet. DTS/AC3 passthrough works~
Concurrent HDMI and Headphone jack Analog audio? Not currently supported
Recent builds (see next post for older builds):
- #0717, 18-Jul-2020: RPi / RPi2 / RPi4 -- Release post (New firmware; new 5.4.51 kernel; RPi4 bootloader: New beta pieeprom-2020-07-16 and vl805-000138a1; RPi4: HBR audio and passthrough support; gcc: update to 10.1.0; ffmpeg-4.3-Matrix-Alpha1)
- #0626, 26-Jun-2020: RPi / RPi2 / RPi4 -- Release post (New firmware; package updates; mesa-20.1.2; RPi4: Fix random switching of speakers when using multichannel audio)
- #0617, 17-Jun-2020: RPi / RPi2 / RPi4 -- Release post (New firmware; new 5.4.47 kernel; drop newclock5 patches)
- #0609, 09-Jun-2020: RPi / RPi2 / RPi4 -- Release post (New firmware (fix PMIC max voltage); new 5.4.44 kernel; RPi2/RPi3 HEVC cache flush overflow fix; RPi4: New beta SPI bootloader; mesa-20.1.0)
- #0601, 02-Jun-2020: RPi / RPi2 / RPi4 -- Release post (New firmware; RPi4: ignore VL805 firmware updates on boards without VL805 eeprom; remove expired cert)
- #0527, 27-May-2020: RPi / RPi2 / RPi4 -- Release post (New firmware; new 5.4.42 kernel; RPi4: new BETA bootloader firmware with USB MSD (Mass Storage Device) support; libnfs, pvr addon updates)
- #0519, 19-May-2020: RPi / RPi2 / RPi4 -- Release post (New firmware; PVR API update; inputstream.adaptive update)
- #0511, 12-May-2020: RPi / RPi2 / RPi4 -- Release post (New firmware (clamp voltage/isp/otp/bootcode fixes); new 5.4.40 kernel with RPi4 HDMI-CEC)
- #0430, 01-May-2020: RPi / RPi2 / RPi4 -- Release post (wireless-regdb-2020.04.29; mesa-20.0.6; kodi: PVR API updates; kodi: [python] drop xbmc.abortRequested flag)
- #0429, 29-Apr-2020: RPi / RPi2 / RPi4 -- Release post (kernel: ISP, VC4 and CEC commits (CEC still not working on RPi4!))
- #0428, 28-Apr-2020: RPi / RPi2 / RPi4 -- Release post (RPi4: rpi-eeprom: promote 2020-04-16 SPI bootloader from stable to critical; samba: update to samba-4.12.2)
- #0427, 28-Apr-2020: RPi / RPi2 / RPi4 -- Release post (New firmware (arm_loader; board_info); new 5.4.35 kernel; libcec: update to libcec-5.0.0)
- #0426, 26-Apr-2020: RPi / RPi2 / RPi4 -- Release post (kodi: [Addons] Ensure addon installation order when migrating to matrix; kodi: Network: Simplify the bind logic)
- #0425, 26-Apr-2020: RPi / RPi2 / RPi4 -- Release post (kernel: enable I2C_MUX_PINCTRL; libcec: packaging updates; inputstream.adaptive: update to 2.5.6)
- #0424, 24-Apr-2020: RPi / RPi2 / RPi4 -- Release post (kodi: Inputstream API 2.3.0; kodi: PVR, addon and JSON updates)
- #0422, 23-Apr-2020: RPi / RPi2 / RPi4 -- Release post (RPi4: Fix HEVC playback / fix Netflix playback; mesa: update to mesa-20.0.5; kodi: Fix crash on startup)
- #0421, 22-Apr-2020: RPi / RPi2 / RPi4 -- Release post (kodi: Fix crash on exit.; kodi: [settings] don't load setting values twice; kodi: Revert PR causing startup crash)
- #0420, 20-Apr-2020: RPi / RPi2 / RPi4 -- Release post (New firmware (clock); kodi: Remove onAbortRequested python callback functionality; kodi: [VP] Postpone DMX_SPECIALID_STREAMCHANGE until player is started)
- #0419, 19-Apr-2020: RPi / RPi2 / RPi4 -- Release post (New firmware - switch back to master from next; kodi: Correct on-screen keyboard behaviour for Arabic characters; kodi: add-on install bug fixes (2nd attempt))
- #0418, 18-Apr-2020: RPi / RPi2 / RPi4 -- Release post (kodi: disable testing)
- #0417, 17-Apr-2020: RPi / RPi2 / RPi4 -- Release post (New firmware (register clk device); new 5.4.32 kernel; [GUI] bump xbmc.gui to 5.15.0; use spdlog for logging; RPi3+/RPi4: Updated coexistence param for post-176 firmware)
- #0415, 15-Apr-2020: RPi / RPi2 / RPi4 -- Release post (New firmware (arm_dt, clock_2711, board_info); kernel updates (emmc2, vc4 pixel clock, HiFiBerry DAC+ADC PRO); busybox: update to busybox-9aa751b)
- #0414, 14-Apr-2020: RPi / RPi2 / RPi4 -- Release post (kernel: DMA, CMA fixes; LibreELEC Settings: mask PIN input; cleanup PIN entry logic)
- #0413, 13-Apr-2020: RPi / RPi2 / RPi4 -- Release post (Wireguard updates; fix potential divide by zero errors; kodi: Various gbm, DRMPRIME and DMA updates)
- #0412, 12-Apr-2020: RPi / RPi2 / RPi4 -- Release post (RPi4: update stable and beta recovery firmware; [addons][network] "C" ABI cleanups and clang cleanups; allow internetstream video sources in a LAN to look for exernal subtitle files.)
- #0411, 11-Apr-2020: RPi / RPi2 / RPi4 -- Release post (kernel: CMA updates; inputstream.adaptive: [ISM] support HEVC; drop PR17579 (addon updates))
- #0410, 10-Apr-2020: RPi / RPi2 / RPi4 -- Release post (Added additional RTL8821 devices; added the option to pass arguments to add-on menu callbacks)
- #0409, 09-Apr-2020: RPi / RPi2 / RPi4 -- Release post (RPi4: New beta SPI firmware (experimental fixes for slower silicon); inputstream adaptive and ffmpegdirect updates)
- #0408, 08-Apr-2020: RPi / RPi2 / RPi4 -- Release post (pi4: hack: Try to hide pixel wrap issue; add support for the AudioInjector.net Isolated sound card; various other RPi4 kernel fixes; enable UDMABUF; new stable SPI bootloader with HDMI diagnostics; inputstream API update, and updated inputstream addons)
- #0407, 07-Apr-2020: RPi / RPi2 / RPi4 -- Release post (Commence regular RPi4 test builds; samba: update to samba-4.12.1; RTL8812AU: add extra devices)
- #0406, 06-Apr-2020: RPi / RPi2 -- Release post (New package libudfread - fixes broken BD ISO playback; open python scripts in binary mode)
- #0405, 05-Apr-2020: RPi / RPi2 -- Release post (Fix wait for network timeout type conversion error)
- #0404, 04-Apr-2020: RPi / RPi2 -- Release post (Minors)
- #0403, 03-Apr-2020: RPi / RPi2 -- Release post ([VideoPlayer] move buffer classes to Buffers directory)
- #0402, 02-Apr-2020: RPi / RPi2 -- Release post (Update libcec)
- #0401, 01-Apr-2020: RPi / RPi2 -- Release post (New firmware (fixes HEVC playback); new 5.4.29 kernel; gnutls, openssl, libcec updates; RPi4: switch to KMS driver and enable v4l2 HEVC decoding)
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 a 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 a LibreELEC derived system "wins".
Additional Testing Notes:
- 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.
- 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:
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).Code:touch /storage/.config/milhouse.dnt
- 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:
Code: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.
- 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. See this post for details on enabling/increasing swap.
Use the following command to upload the most recent crashlog:
Code:pastecrash
- 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.
- Linux: use gparted to resize FAT/ext4 partitions
- 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.
Amazon Prime addons (valid Amazon Prime account required):
https://forum.kodi.tv/showthread.php?tid=331136 (Sandmann79)
https://github.com/liberty-developer/plu...me_instant
https://github.com/phil65/plugin.video.amazon65
If the Amazon addons do not support the Inputstream Helper addon then you may have to install libwidevine manually - this is an unsupported method, contact the Amazon addon maintainers if it doesn't work:
Code:curl -Ls http://nmacleod.com/public/libreelec/getwidevine.sh | bash
Netflix addon (valid Netflix account required):
The Netflix addon with Inputstream Helper can be installed from the Kodi 19 Netflix repository - once the repository is installed you can install the Netflix addon, and when a video is watched if the libwidevine library needs to be installed you will be prompted to do so.
Netflix support: https://github.com/CastagnaIT/plugin.video.netflix
- LibreELEC Settings add-on Development Updates
For these builds, enter a URL into a Custom Channel, selecting from the following URLs based on your hardware:
then select "Milhouse-9.80" as the Update Channel (for builds prior to 22-Jun-2019, use the "Milhouse-9.1" Update Channel).Code:RPi Zero/RPi1: http://milhouse.libreelec.tv/builds/master/RPi
RPi2/RPi3: http://milhouse.libreelec.tv/builds/master/RPi2
RPi4: http://milhouse.libreelec.tv/builds/master/RPi4
Generic (x86): http://milhouse.libreelec.tv/builds/master/Generic
- 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.
- 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:
- 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:
Code:<advancedsettings>
<loglevel>1</loglevel>
</advancedsettings> - Reboot, so that debug logging is in effect from the very start of Kodi
- Reproduce the problem
- Using ssh connect to LibreELEC (username: root, password: libreelec)
- Execute the command:
then paste the resulting url to the forumCode:cat /storage/.kodi/temp/kodi.log | pastebinit
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).
- 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:
- Game Emulators
Access games via Internet Archive ROM Launcher (IARL):
- 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)
- Install from repository > Zach Morris Add-ons > Game add-ons > Game providers > Internet Archive ROM Launcher
- Within IARL, install emulators, launch games etc.
- 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)
- RPi4: Updating Bootloader (SPI) and USB3 (VL805) firmware
Use the GUI (LibreELEC Settings addon > Updates > Firmware Updates) to confirm the status of the current bootloader and USB3 firmware, and optionally (re-)applycritical
firmware.
There are normally up to 3 firmware releases included in RPi4 builds.
The default iscritical
which is the most stable production version, and this is the release applied by the GUI.
Alternatively,stable
orbeta
releases may be selected from the command line for development releases (beta
andstable
releases may not always be present in every build).
Acritical
update is the latest stable production version and is normally only updated after it has been tested via thebeta
and then astable
release.
To update via the command line:
Critical:rpi-eeprom-update -a
then reboot
Stable:FIRMWARE_RELEASE_STATUS=stable rpi-eeprom-update -a
then reboot
Beta:FIRMWARE_RELEASE_STATUS=beta rpi-eeprom-update -a
then reboot
You can selectively update Bootloader or USB3, eg.rpi-eeprom-update -A vl805
to only update the USB3 firmware. Seerpi-eeprom-update -h
for details.
- Odds and sods