Hello all,
This is an unofficial test build of LibreELEC 11.0.1 with RPi3 HW acceleration support.
Kernel
Linux 5.10.110 is preferred in this build, because it has decent support for Legacy DispmanX and MMAL support. Kernel is 64-bit but the userspace is 32-bit for compatibility reasons. It is based on official RPi kernel releases on github.
Windowing System
DispmanX support is back on this test build (yay!) to achieve closer rendering performance on LE9.x releases. It's implemented to Kodi from scratch and it is not based on @popcornmix's previous work. I didn't test it yet, but DispmanX based VNC servers should work out of the box.
Audio Improvements
I did some minor changes to bcm2835_snd kernel module. Now it supports S/PDIF passthrough over HDMI (on my configuration at least). There is no need to do extra changes in the Kodi code to provide support.
Video Improvements
All video rendering should be done by MMAL, hopefully. There are two layers for rendering. One for the MMAL renderer and one for the DispmanX EGL renderer.
Supported Codecs
H264, MP4V, H263, MJPEG, VP6, VP8, THEO, MP2V, VC1:
-1080p HW accelerated decoding and rendering support through MMAL.
-Unfortunately you'll need license for MP2V and VC1 as always.
HEVC:
-720p QPU accelerated decoding, HW accelerated rendering support through MMAL.
-1080p decoding works if you have low bitrate streams.
-10-bit streams are not supported yet. (hangs if you try to play.)
AV1:
-720p SW decoding with libdav1d. Rendering is HW accelerated through MMAL.
-1080p may be possible, please test it.
VP9:
-1080p multi-threaded SW decoding with ffmpeg. Rendering is done by MMAL.
Known Bugs/Limitations
-Only HDMI output works. Composite video out and LCD's are not supported yet.
-Deinterlacing is not supported yet.
-3D streams are not supported.
-CEC may be broken. (I don't have any supported display to test it.) (works)
Planned Features
-HW accelerated texture decoding.
-10-bit HEVC decoding. (done)
-Deinterlacing.
-SDTV and LCD support.
Changes in 11.0.1.2
-Appled a workaround to prevent crash at the end of stream.