royk Posted April 3, 2023 Posted April 3, 2023 (edited) @dkg It seems like your cec-client is missing the linux cec framework api, but with what do you want to use it? If it's with kodi you'll need to configure this before you compile it. If you want to use cec-client outside of kodi, you could try to compile a new one. First remove the installed version. apt-get update apt-get install cmake libudev-dev libxrandr-dev python-dev swig git clone https://github.com/Pulse-Eight/libcec.git mkdir libcec/build cd libcec/build cmake -DHAVE_LINUX_API=1 .. make -j8 sudo make install sudo ldconfig Edited April 3, 2023 by royk 0 Quote
dkg Posted April 3, 2023 Posted April 3, 2023 @royk Thank you. I built libcec and it works. I want to use it with Kodi. The libcec6 that is installed with kodi does not work properly. 1 Quote
Alex D Posted April 5, 2023 Posted April 5, 2023 Quote If it's with kodi you'll need to configure this before you compile it. @royk Can you help with configuration? 0 Quote
amielke Posted April 5, 2023 Posted April 5, 2023 Have you already tried the official Kodi repository? The Kodi version for Ubuntu unfortunately has internally linked libcec and does not use libcec via the system library. Unfortunately, I don't have a system to test right now. I can check next week. 0 Quote
dkg Posted April 5, 2023 Posted April 5, 2023 @Alex D I don't know how to configure, but it should work. With libcec built and libcec6 installed, run sudo cp /lib/libcec* /usr/lib/aarch64-linux-gnu 0 Quote
Alex D Posted April 6, 2023 Posted April 6, 2023 @amielke Does it have hw decoding related to rockchip (RK3588s)? 0 Quote
Alex D Posted April 6, 2023 Posted April 6, 2023 @dkg When I tried to build libcec from github repo I had some headers missing related to RPi implementation, so I disabled RPi API at all. Built cec-client can't find cec device in the board. Did you have similar issue? Did you have additional setup for libcec build? 0 Quote
Alex D Posted April 6, 2023 Posted April 6, 2023 (edited) @dkg Quote sudo cp /lib/libcec* /usr/lib/aarch64-linux-gnu By default target is installed in `/usr/local` Have you installed it into system libs? Or you suggest to copy official libraries? Edited April 6, 2023 by Alex D 0 Quote
dkg Posted April 6, 2023 Posted April 6, 2023 @Alex D libcec6 is installed in /usr/lib/aarch64-linux-gnu libcec.so libcec.so.6.0.2. github libcec is installed in /lib, so I replaced it with github libcec. 0 Quote
Alex D Posted April 6, 2023 Posted April 6, 2023 alex@orangepi5:~/tmp/libcec/build$ /usr/local/bin/cec-client -l libCEC version: 6.0.2, compiled on Linux-4.15.0-166-generic ... , features: P8_USB, DRM, P8_detect, randr, RPi, Exynos, AOCEC Found devices: NONE 0 Quote
Alex D Posted April 6, 2023 Posted April 6, 2023 (edited) But it works with kodi, so, problem is resolved, thank you all. @dkg I would use LD_PRELOAD instead of replacing system libs In general, if someone is interested in headless kodi - It works nice even without installing DE. Edited April 6, 2023 by Alex D 0 Quote
Dbosco Posted April 7, 2023 Posted April 7, 2023 Hi!I'm interested to add CEC support in Kodi, but I'm unable to build it as I don't know how to exclude the RPI, could you tell me which is the command?Thanks!Enviado desde mi MI 8 SE mediante Tapatalk 0 Quote
royk Posted April 7, 2023 Posted April 7, 2023 @Dbosco I guess by first compiling and install libcec without support for RPI. 0 Quote
dkg Posted April 7, 2023 Posted April 7, 2023 Now all that's left is truehd passthrough, does anyone have any problems with that? dd+ passthrough works 0 Quote
Alex D Posted April 7, 2023 Posted April 7, 2023 @dkg I'll check on weekend @Dbosco Just try to build as royk mentioned On 4/3/2023 at 9:24 PM, royk said: apt-get update apt-get install cmake libudev-dev libxrandr-dev python-dev swig git clone https://github.com/Pulse-Eight/libcec.git mkdir libcec/build cd libcec/build cmake -DHAVE_LINUX_API=1 .. make -j8 sudo make install sudo ldconfig 0 Quote
Dbosco Posted April 7, 2023 Posted April 7, 2023 @Alex D thanks, i've tried that, and this is the error: make -j8 Scanning dependencies of target cec_swig_compilation [ 4%] Building CXX object src/libcec/CMakeFiles/cec.dir/CECClient.cpp.o [ 4%] Swig compile libcec.i for python [ 9%] Building CXX object src/libcec/CMakeFiles/cec.dir/adapter/RPi/RPiCECAdapterCommunication.cpp.o [ 9%] Building CXX object src/libcec/CMakeFiles/cec.dir/LibCECC.cpp.o [ 13%] Building CXX object src/libcec/CMakeFiles/cec.dir/LibCEC.cpp.o [ 13%] Building CXX object src/libcec/CMakeFiles/cec.dir/CECProcessor.cpp.o [ 15%] Building CXX object src/libcec/CMakeFiles/cec.dir/adapter/RPi/RPiCECAdapterMessageQueue.cpp.o [ 18%] Building CXX object src/libcec/CMakeFiles/cec.dir/adapter/RPi/RPiCECAdapterDetection.cpp.o /home/dani/libcec/src/libcec/adapter/RPi/RPiCECAdapterDetection.cpp:40:10: fatal error: interface/vmcs_host/vc_cecservice.h: No such file or directory 40 | #include <interface/vmcs_host/vc_cecservice.h> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [src/libcec/CMakeFiles/cec.dir/build.make:132: src/libcec/CMakeFiles/cec.dir/adapter/RPi/RPiCECAdapterDetection.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... In file included from /home/dani/libcec/src/libcec/adapter/RPi/RPiCECAdapterCommunication.cpp:37: /home/dani/libcec/src/libcec/adapter/RPi/RPiCECAdapterCommunication.h:45:10: fatal error: interface/vmcs_host/vc_cecservice.h: No such file or directory 45 | #include <interface/vmcs_host/vc_cecservice.h> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [src/libcec/CMakeFiles/cec.dir/build.make:146: src/libcec/CMakeFiles/cec.dir/adapter/RPi/RPiCECAdapterCommunication.cpp.o] Error 1 In file included from /home/dani/libcec/src/libcec/adapter/RPi/RPiCECAdapterMessageQueue.cpp:37: /home/dani/libcec/src/libcec/adapter/RPi/RPiCECAdapterMessageQueue.h:41:10: fatal error: interface/vmcs_host/vc_cecservice.h: No such file or directory 41 | #include <interface/vmcs_host/vc_cecservice.h> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [src/libcec/CMakeFiles/cec.dir/build.make:160: src/libcec/CMakeFiles/cec.dir/adapter/RPi/RPiCECAdapterMessageQueue.cpp.o] Error 1 [ 18%] Built target cec_swig_compilation make[1]: *** [CMakeFiles/Makefile2:261: src/libcec/CMakeFiles/cec.dir/all] Error 2 make: *** [Makefile:136: all] Error 2 Thanks! 0 Quote
royk Posted April 7, 2023 Posted April 7, 2023 (edited) @Dbosco Perhaps you didn't uninstall the version with support for RPI. Try to install libcec again with: cmake -DCMAKE_INSTALL_LIBDIR:PATH='lib/aarch64-linux-gnu' -DCMAKE_INSTALL_PREFIX:PATH='/usr' -DHAVE_LINUX_API=1 .. make -j8 && sudo make install For Kodi run "make clean" and your cmake command first before you run make again, otherwise it will make the config it made before Edited April 7, 2023 by royk 0 Quote
Dbosco Posted April 7, 2023 Posted April 7, 2023 (edited) @royk you're right i didn't uninstall correctly the previous version, only purge without --auto-remove. Now working! Thank you! I've another issue in Kodi regard passtrough, unfortunately for me is not working properly. I've tried the config of this guide, Martivo with ansible, Joshua Riek, the following one (adding DP port as well) And unfortunately the audio output is always distorted, with noises, like when you send an incompatible digital format to TV or AV The official Orange android version works as expected, also my previous setup with Odroid C4. So it seems that there is some config that is incompatible with my TV (TCL 2022) OPI5 -> TV -> Sony sound bar (ARC) I've tried unplugging Sony sound bar, but no luck In internet I've found several guides and tips, modifying alsa daemon, changing sample and other stuff. Also tried to use only Alsa disabling Pulse, same behavior Tested with Kodi, VLC, various media files, all distros available for OPI5 Various HDMI cables HDMI audio extractor Do you have any suggestion? Thanks Edited April 7, 2023 by Dbosco 0 Quote
royk Posted April 7, 2023 Posted April 7, 2023 (edited) @Dbosco This is probably because of the audio device naming rule, I think this is a copied broken fix. Try: sudo rm /etc/udev/rules.d/90-naming-audios.rules What Martivo has should work then. At least for eac3 ac3 and dts. With Alsa some other formats might work. dts-hd could only work with alsa, but it doesn't. I've no idea why yet. Some things I found: Intel had the issue that the channel mapping order was not right, rpi soundchip only accepts one format "IEC958_SUBFRAME_LE". I think for the moment pulseaudio works best because then kodi decodes the non supported passthrough audio and plays it as multichannel, this way you should be able to play all movies with multichannel audio. Edited April 7, 2023 by royk 0 Quote
Dbosco Posted April 7, 2023 Posted April 7, 2023 @royk sudo rm /etc/udev/rules.d/90-naming-audios.rules rm: cannot remove '/etc/udev/rules.d/90-naming-audios.rules': No such file or directory rules.d:% ls 10-wifi-disable-powermanagement.rules 11-rockchip-multimedia.rules 50-usb-realtek-net.rules 99-rk-device-permissions.rules I've looked here: /usr/lib/udev/rules.d and found: 90-alsa-restore.rules 90-console-setup.rules 90-libinput-fuzz-override.rules 90-nm-thunderbolt.rules 90-pipewire-alsa.rules 90-pulseaudio.rules and tried to remove only this one 90-pulseaudio.rules, but no luck I'm only trying to get AC3 and AAC is there others folders with rules.d ? will check this one IEC958_SUBFRAME_LE and let you know Thanks again for your time and support 0 Quote
royk Posted April 7, 2023 Posted April 7, 2023 (edited) @Dbosco Quote will check this one IEC958_SUBFRAME_LE and let you know That will not work You shouldn't had to rm 90-pulseaudio.rules, I hope you only moved it instead of removing. What is in /etc/udev/rules.d/11-rockchip-multimedia.rules Be sure you've got in the file: /usr/share/alsa/cards/HDMI-OUT.conf # configuration for HDMI connection which just expose the # audio out device <confdir:pcm/hdmi.conf> HDMI-OUT.pcm.hdmi.0 { @args [ CARD DEVICE CTLINDEX AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.DEVICE { type integer } @args.CTLINDEX { type integer } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hw card $CARD } And in /usr/share/alsa/cards/aliases.conf the line: rockchip-hdmi0 cards.HDMI-OUT Then: sudo alsa force-reload && pulseaudio -k && pulseadaudio -D Then open pulseaudio volumecontrol: in "Configuration" only enable hdmi" set this on STEREO, then go to "Output devices" -> advanced and enable the passthrough functions Now you're able to passthrough dts and ac3, but not aac, dts-hd. This is why you could better set pulseaudio at 5.1/7.1 and let kodi the decoding do. Otherwise you could try ALSA, assuming you're running it on GBM: sudo nano /usr/share/wayland-sessions/kodi.desktop And change: Exec=kodi-standalone to: Exec=pasuspender -- env KODI_AE_SINK=ALSA kodi-standalone Edited April 7, 2023 by royk 0 Quote
Dbosco Posted April 7, 2023 Posted April 7, 2023 @royk i didn't remove 90-pulseaudio.rules, but now is back in place What is in /etc/udev/rules.d/11-rockchip-multimedia.rules KERNEL=="mpp_service", MODE="0660", GROUP="video" KERNEL=="rga", MODE="0660", GROUP="video" KERNEL=="system-dma32", MODE="0666", GROUP="video" KERNEL=="system-uncached-dma32", MODE="0666", GROUP="video" RUN+="/usr/bin/chmod a+rw /dev/dma_heap" HDMI-OUT and card alias were correctly added As suggested I've disabled other devices, and kept only HDMI did this " sudo alsa force-reload && pulseaudio -k && pulseadaudio -D " and also a reboot Unfortunately the issue persists as example I've attached a recording of the audio output that i've when i'm trying to play ac3 7 abr. 17.08.aac 0 Quote
Dbosco Posted April 7, 2023 Posted April 7, 2023 @Alex D@dkg not sure if can help, but i saw on RebornOS more passtrough options there, i cannot remember if TrueHD was available 0 Quote
Dbosco Posted April 8, 2023 Posted April 8, 2023 @royk Hi tried with Alsa, same issue If can be useful i'm attaching logs and a screenshot from Kodi when playing Thanks! kodi.log 0 Quote
royk Posted April 8, 2023 Posted April 8, 2023 (edited) @Dbosco Because you've installed the ansible of Martivo, you could try to edit the asound.conf to: /etc/asound.conf <confdir:pcm/dca.conf> defaults.pcm.dca.iec61937 1 Or: <confdir:pcm/dca.conf> defaults.pcm.dca.aes0 0x04 Then: sudo alsa-force-reload && pulseaudio -k pulseaudio -D in pulseaudio you should see a hdmi/dts device. Choose that device. I guess you already have this installed, but you could run: sudo apt install libswresample3 If this doesn't work, you could try to set pulseaudio back to hdmi stereo, then in kodi set the audio output to 2.0 and at passthrough options disable all formats except ac3 and enable ac3 transcoding You could also try these with alsa, so 6 options to try. I don't have other ideas at the moment, but will search further for hbr passthrough. Edited April 8, 2023 by royk 0 Quote
Dbosco Posted April 9, 2023 Posted April 9, 2023 @royk Tried everything and for some reason now is working with the hdmi audio extractor. OPI to TV no way to do it There is probably some incompatibility issue between the OS and my TV, but at least now is ok. More cables and stuff but with Dolby and happy Thanks again for your time Enviado desde mi MI 8 SE mediante Tapatalk 0 Quote
amielke Posted April 11, 2023 Posted April 11, 2023 (edited) I installed the Debian package from libcec and CEC works on Ubuntu with that as well https://packages.debian.org/bullseye/arm64/libcec6/download Cec ist working with kodi. Edited April 11, 2023 by amielke 0 Quote
Igor Posted April 12, 2023 Posted April 12, 2023 11 hours ago, amielke said: I installed the Debian package from libcec and CEC works on Ubuntu with that as well Strange that Ubuntu package is broken ... but we have a nice mechanism to workaround such issues. Synchronising applications with Armbian repositories: https://github.com/armbian/os/pull/34 Once this gets merged it will automatically sync libcec from Debian to (our) Ubuntu Jammy repository and manual hacking won't be needed anymore. This covers Ubuntu Jammy, for Lunar (if needed) a similar new config file has to be created. 2 Quote
amielke Posted April 12, 2023 Posted April 12, 2023 (edited) @Igor That's great, thank you very much Igor. Edited April 12, 2023 by amielke 0 Quote
royk Posted April 12, 2023 Posted April 12, 2023 FYI with the master branch HDR is broken again after this commit https://github.com/xbmc/xbmc/pull/23116/commits/e278e3a4b990d5de7afe9642b6b39c7eeff999bb If you revert this, it will work again, a proper fix seems has to be done in the kernel. So if someone knows how this has to be done... 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.