Hi everyone. It's my first post - thank you to the team for maintaining LibreELEC to such a high standard!
I've recently overcome a long-standing issue I've had with Kodi on Raspberry Pi 3, so I thought I'd post in the hope that it's helpful to other people. It's quite a long post containing all the details, so that hopefully it will be picked up successfully by people searching with similar issues...
I've been running Kodi on RPi for years - first using XBMC on an original Pi1 Model B, then using OSMC on that Pi. Then I changed to a Pi3 using OSMC (Kodi 16 at that time) then i changed to LibreELEC (still on Kodi 16) and now I'm fully up-to-date on Kodi 17. Throughout that time, I have been through a number of TVs and AV Receivers, and I have amassed experiences and settings that I have often carried forward to the newer version. Examples are:
- Choice of skin - I always used Amber due to it being recommended as lightweight and suitable for the low-powered original Pi1.
- Remote control settings (key mappings, LIRC config, etc.) - I've always used a homemade GPIO IR receiver and a Harmony remote, which originally seemed to need much tweaking to make it work reliably.
- Setting up NFS file shares - NFS was supposedly faster than SMB on the low-powered Pi1.
- Various HDMI-related settings in the config.txt file
It's that last item I want to share in more detail. I have always left the Pi powered on 24/7, but not the TV. The Pi1 running XBMC seemed to have a problem detecting that my TV had been turned on, so I ended up with a slew of HDMI configuration lines in config,txt, including HDMI_FORCE_HOTPLUG. This successfully fixed that problem.
When I bought a new Sony AV receiver (with HDMI ports!) I realised that the video was a bit jerky / stuttery when watching some files. By that time I was running OSMC on a Pi3. After many hours of reading, investigations, and help from the guys in the OSMC forum I fixed that behaviour by using HDMI_EDID_FILE to use an edid.dat file that I created when my TV was connected *directly* to the Pi3, not through the AV receiver. It turned out that the EDID information passed to the Pi through the receiver was different to that passed directly from the TV, with the result that the Pi was preferring an interlaced (1080i) video mode, which caused noticeable stuttering in panning scenes. Even after this fix, MMAL acceleration was never able to play stutter-free video for me, so I had to use OMXplayer even though MMAL was the recommended option for the Pi3. I never got to the bottom of that one.
I recently bought an Optoma 1080p projector which I connected to an active HDMI splitter between the AV receiver's single HDMI output and the TV. This worked well, except that the projector takes a few seconds to sync with any frame rate change, during which it displays only a swirling pattern of dots. This is rather distracting, and for some reason the projector attempted an annoying re-sync often during movies - even when there was a sudden scene change during the action. I did some more investigation (spent many hours researching and experimenting), changed some more HDMI settings, and created and compared some more EDID files (from the TV, the receiver, the projector, and all combinations of those connected with and without the HDMI splitter). I couldn't find anything obviously amiss, and the swirling circles kept appearing. Disappointing
So then I decided to start again from scratch. I did a totally clean install of LibreELEC on a blank SD card. I stuck with the Estuary skin, the default remote key mappings, pointed to my libraries on SMB shares, and didn't bother with any (well, not many) lines in config.txt - not even HDMI_FORCE_HOTPLUG and certainly no EDID files. And I'm pleased and amazed to report that the whole system works *perfectly* now! There is no video stuttering, I'm using MMAL acceleration (the default), the picture always appears when I turn on the TV and / or projector, etc.
I guess the bottom line is that Kodi on the Raspberry Pi has been improved so much over the years that many of the detail workarounds and configuration changes that used to be necessary are no longer required. And those of us who have carried over our hard-discovered settings are, by now, maybe doing ourselves no favours by continuing to use them. So if you are having (or have always had) problems similar to mine, I would recommend finding a spare SD card and trying out a completely clean default installation. I should have done that a long time ago
Thanks for reading this far, and if you're a developer or contributor: well done and thanks again