Comment 2 for bug 2064370

Revision history for this message
Dave Jones (waveform) wrote :

You are correct it was introduced for noble as, without the KMS driver, there's no audio output over HDMI on the server image under the Pi 5 (LP: #2038924). KMS is also the only supported stack on the Pi 5 upstream, and rather than trying to support different stacks on different models I opted to move everything to the KMS stack instead (which we were already using on the desktop images).

Unfortunately, it seems that as well as causing issues on the older models (LP: #2063255, LP: #2060300 -- incidentally the cma-128 workaround is for this latter bug), it's now even causing issues on the Pi 4. Obviously I didn't see these issues during testing, but then I've only two different models of monitor here that I test with: a BenQ and a Samsung.

From the description it sounds like the kernel is either failing to retrieve, or failing to parse the EDID from your monitor. However, from reading a potentially related upstream bug (https://github.com/raspberrypi/linux/issues/5368#issuecomment-1453144837) it may be that the monitor is failing to assert hotplug. I would first try 6by9's work-arounds from that thread, specifically:

* Forcing hotplug by appending "vc4.force_hotplug=N (where N is 0x01 for the first HDMI port, or 0x02 for the second) to cmdline.txt on the boot partition:

$ sudo sed -i -e 's/$/ vc4.force_hotplug=0x01' /boot/firmware/cmdline.txt
$ sudo reboot

* If that fails, reboot with the fkms overlay in place, dump the EDID to /lib/firmware/edid.bin, then force that to be parsed under kms:

$ sudo sed -i -e 's/vc4-kms-v3d/vc4-fkms-v3d/' /boot/firmware/config.txt
$ sudo reboot
... wait for the reboot ...
$ sudo cp /sys/class/drm/card1-HDMI-A-1/edid /lib/firmware/edid.bin
$ sudo sed -i -e 's/vc4-fkms-v3d/vc4-kms-v3d/' /boot/firmware/config.txt
$ sudo sed -i -e 's/$/ drm.edid_firmware=HDMI-A-1:edid.bin' /boot/firmware/cmdline.txt
$ sudo reboot
... see if the monitor works ...

If you could attach the edid dump from when running under FKMS that may also help the kernel team in their investigation.