-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
7" HDMI Display does NOT work with KMS driver #4719
Comments
|
Not finding any displays implies the HDMI monitor does incorrect things via hotplug and/or EDID reading. Bullseye should have The key thing is likely to be knowing the connected status of the HDMI interfaces. You should also be able to read it via |
@6by9 Sorry if i sound dumb, but why is it that the KMS driver doesnt work without correct EDID? FKMS driver and legacy driver seem to just work fine ? Just before the KMS driver is even loaded, I can see the rainbow screen and kernel logs |
Sadly, that seems to be the issue. I am getting
|
Hmm, with FKMS driver i get |
FKMS doesn't support hotplug - https://github.com/raspberrypi/linux/blob/rpi-5.10.y/drivers/gpu/drm/vc4/vc4_firmware_kms.c#L1303 will always return connected. What is connected at boot is what you get until you reboot. KMS supports hotplug properly, so changing monitors will result in it reconfiguring correctly. It does require the device to follow the HDMI standard for hotplug though, which it sounds like your display doesn't. You can try forcing the output to be enabled at a particular resolution by adding an entry |
Under FKMS you could run |
ADDING |
We are aware that shifting to the standard Linux approaches is heavily reliant on devices following the relevant specifications. There are many workaround hacks that have been added to the firmware over the years for devices that misbehave, and those are effectively being discarded. It looks like your displays rely on one of those hacks, which probably means it will misbehave on almost any other HDMI device that uses Linux. (IIRC the firmware tries reading the EDID from the display even if no hotplug signal, and views the display as connected if it gets a valid EDID back). |
@6by9 is there a way we can ask the Pi to not look for any EDID/hotplugging and just still connect it, so that we do not have to put any cmdline addition like that ? FKMS already works that way, it doesnt rely on EDID as you said. Would it be possible to do the same for KMS? |
You have that way of getting the Pi to not look at hotplug by modifying /boot/cmdline.txt. The KMS driver did also do an EDID probe as well as checking hotplug, however there are significant issues with that approach when HDMI2.0 and scrambling (required for >4k30) are involved, as hotplug being deasserted (regardless of whether an EDID can still be read) requires a renegotiation/reenabling of scrambling. Hence that check was removed. |
This was also a problem for me using the RPi-branded 7" Touch Screen and Bullseye on an RPi 3B+. This solution worked for me: Issue can be resolved as a work around with the following line placed in /boot/config.txt dtparam=i2c_vc_baudrate=50000 From: https://raspberrypi.stackexchange.com/questions/133490/blank-touch-screen-after-upgrade-to-bullseye Good luck! |
Totally unrelated to this issue about HDMI displays, and covered by #4686. rnayabed originally posted on that thread, but because it was unrelated to the DSI display was requested to start a new issue, which is this one! |
almost 2 years later, this method no longer works.
|
dmesg:
|
|
From your timing https://www.raspberrypi.com/documentation/computers/config_txt.html#raspberry-pi-4-hdmi-pipeline
Since commit 57fb32e in Nov 2020 that requirement has been enforced by the driver. Sorry this is largely down to the display being non-compliant with the HDMI specs. |
I see.. I cannot find anything named Running Running the i2c dump command returns the same. Note that I was using FKMS driver on a Pi 0 W while writing this. |
The output of |
What's the relevance of this? |
I just thought it would be better if I specify the model just to be sure :) |
I did run Running |
??!?! This is your issue with the subject "7" HDMI Display does NOT work with KMS driver" and first post saying
You then post information saying you're running FKMS. So how much of your recent posts is related to FKMS vs that related to KMS? FKMS is considered deprecated, and no further work will be done on it. |
There has been a misunderstanding. I meant to say that the results are the same even in fkms mode. (no output by i2c programs). running the commands that you have given show no output regardless of fkms or kms mode. Sorry, wont use fkms in this discussion anymore until asked to! Only kms! |
Thanks for this information! I had the exact same issue, adjusting the framerate to 59Hz (instead of 60Hz) has solved it for me. |
Is this the right place for my bug report?
Should be, this is related to KMS/FKMS driver.
Describe the bug
Raspberry Pi OS Bullseye ships with KMS driver by default now. It has been a mixed bag for me, since none of the HDMI touch screens that I have from Waveshare (7", 5") work with it. I do get a rainbow screen and initial kernel log messages, but after some time it blanks and I get nothing on the screen.
I have not yet tried desktop mode, since i only use the lite package.
To reproduce
Just fresh install Raspberry Pi OS 32-bit Bullseye on an SD Card (preferably the lite version), try using an external 3rd party display like the ones from Waveshare and it's clones.
Expected behaviour
It should work fine. Using
vc4-fkms-v3d
works just fine. This problem can be blamed to only thevc4-kms-v3d
overlay.Actual behaviour
The System starts up. Rainbow Screen is showed, some basic kernel logs are shown. Then screen blanks and stays that way forever.
System
Copy and paste the results of the raspinfo command in to this section. Alternatively, copy and paste a pastebin link, or add answers to the following questions:
Which model of Raspberry Pi?
Pi 4B. But should be reproducible with other Pi as well
Which OS and version (
cat /etc/rpi-issue
)?vcgencmd version
)?uname -a
)?Logs
If applicable, add the relevant output from
dmesg
or similar.The text was updated successfully, but these errors were encountered: