Hello. I've recently deployed LibreELEC/Kodi 12.0.0 to a refurbished Lenovo m910x. It is connected to a Samsung RU7100 (65), via CD0712 ( active DP++ to HDMI ) and an HDMI cable that should allow the CEC pass through, but I never was able to receive any listing in the Settings -> Input -> Peripherals menu.
I've read through the other forums on this topic, and I've tested as far as I could with respect to the CEC interoperability. I started with first verifying that the device was being detected by the kernel:
Display Spoiler
media-client0:~ # udevadm monitor -k -u
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent
KERNEL[825.644127] change /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
UDEV [825.646289] change /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
KERNEL[826.667171] remove /devices/pci0000:00/0000:00:02.0/cec0 (cec)
UDEV [826.668230] remove /devices/pci0000:00/0000:00:02.0/cec0 (cec)
KERNEL[828.826361] add /devices/pci0000:00/0000:00:02.0/cec0 (cec)
UDEV [828.827249] add /devices/pci0000:00/0000:00:02.0/cec0 (cec)
KERNEL[828.882211] change /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
UDEV [828.882960] change /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
Display More
This does not appear to be the problem. Detected on boot up, as well as detects and recreates device node on re-seating of the adapter.
I then tried to verify that CEC was in fact working with cec-ctl when it is registered as a playback device:
This also does not appear to be an issue. From this output, it suspect that the driver, the adapter and the cable allow the messages to make it the system without issue.
This is when I began to suspect something was going on with the way Kodi was initializing through libcec or how libcec was identifying devices, after all, it's the client software that ultimately needs to receive those messages.
These are the debug logs, and I enabled the libcec component hoping that something obvious would stand out to me in the log.
I saw a section about CEC adapter mappings being loaded, and I tried to explore them further to better understand how that translated to identifying CEC functionality in this setup. Sadly, I am still too unfamiliar with the overall architecture of the software to make progress on this front.
At this point, I'm concerned that I've missed something obvious, such as some option ( it took me 3 hours to figure out the wifi thing w/ REGDOMAIN ), but everything that I've read up to now suggests that this should populate in in the input peripheral settings.
The next level of testing I've been looking into is whether I can test with libelec directly to see if I can isolate it there. It's still beyond me for now, but I'm hoping this post can help surface my next step on getting this particular environment working.
Any pointers are welcome.