-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Full KMS video driver does not support same HDMI-CEC features as fake KMS #5254
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
It's not a function that the kernel driver should undertake (it was the firmware under legacy and vc4-fkms-v3d). |
Where in the userspace should this be implemented then? Should this be done by the graphical environment, or perhaps by a script run as a service by systemd at boot? |
I'd recommend cec-ctl rather than libcec (which is largely unmaintained). |
Odd thing about cec-ctl there are times if does not seem to work. For example, I have a Vizio TV that just seems to refuse to work with cec-ctl but works fine with libcec, i.e. cec-client. Makes no sense but true. |
Thank you for that tip. I tried, but unfortunately I didn't get cec-ctl working either. It seems to have similar types of problems that I have in cec-client now. I'm new here, and it's possible that I just haven't realized some basic things that I should know. Also I may have posted this to a wrong place - please notice me if so. Anyway I have searched the forums a lot and tested everything quite patiently. I have been reading these discussions here and in Raspberry Pi forum to get a solution to a problem with libcec with Full KMS. It really seems to me like that, when I switch from kms to fake kms (fkms) in /boot/config.txt, cec-client works with absolutely no errors, just like it's supposed according to the manual. I have understood that probably libcec isn't just working well with Full KMS, but what about cec-ctl? When Full kms is enabled, cec-client first seems to communicate with the TV: It wakes up with 'on 0' and switches the active source from the TV cable broadcast to the Raspberry Pi with 'as'. But when I switch the TV with its own remote control to another HDMI or to any other source, CEC seems mess up. After that the communication with the TV fails, and will not recover to the original. My LG television uses CEC version 1.3a, so it might be also a compatibility problem with the versions. But it still works with the Fake KMS, so there's still something different in CEC functionality between the Fake and the Full KMS. And 1.3a isn't really so old, is it? :) I'd like to test this with a TV that supports CEC 2.0 later. My goal is to get this working with new and old televisions, so trying TV with the CEC 2.0 support wouldn't be the solution, but just a part of the troubleshooting. Cec-client with Full KMS: When switching the TV to another HDMI from the TV itself, cec-client immediately prints out this: 'scan' command shows that the TV's power status has changed from 'on' to 'unknown', and it also shows up in the cec output: After that I try to switch the Raspberry Pi to the active source with 'as', cec-client starts flooding these messages eternally: After that has happened, the game is over: I can switch the TV manually to the Raspberry Pi's HDMI input, so that cec-client calms down. I can also still switch the tv on with 'on 0'. But the problem is that, 'as' command is not working anymore. Cec-ctl with Full KMS I found your reply that cec-ctl is not using libcec, which is probably in the center of this problem, so of course I gave it an opportunity: sudo cec-ctl -d/dev/cec0 --to 0 --image-view-on --cec-version-1.4 sudo cec-ctl -d/dev/cec0 --to 0 --active-source phys-addr=1.0.0.0 --cec-version-1.4
Here's some information on my Raspberry Pi 3 Model B: $ uname -a $ cat /etc/rpi-issue $ vcgencmd version I'd be grateful for any help. |
I might be tempted to add: But this is just a guess. |
Thank you so much! That was the solution. Cec-client is now working properly and switches the source rapidly by the command to the Raspberry Pi from any other source. For some reason, cec-ctl is not working, but that's not a problem anymore. I'll go with cec-client or libcec-python. |
Describe the bug
With
dtoverlay=vc4-fkms-v3d
my CEC-capable TV automatically turns on and changes to the correct input source when the Raspberry Pi is turned on. Withdtoverlay=vc4-kms-v3d
this does not happen.Steps to reproduce the behaviour
2022-09-22-raspios-bullseye-armhf
)dtoverlay=vc4-kms-v3d
inconfig.txt
todtoverlay=vc4-fkms-v3d
Device (s)
Raspberry Pi 4 Mod. B
System
Logs
Full boot dmesg output
Additional context
config.txt
Related: documentation/#2699
The text was updated successfully, but these errors were encountered: