Pi5: Dual HDMI EDID detection fails during boot - displays work individually but not simultaneously
Describe the bug
I have an rpi5 (2gb), with latest trixie based rpi os on it.
I wanted to connect two screens to it, but it didn't work. Interestingly: any screen works in any port, but not together.
After long hours of research and trial and error I figured out the solution, but i do think there is a bug somewhere.
So the symptoms are that if both screens connected, the second one wouldn't even show up in wlr-randr, or if you mess around with the video= parameters, you get it up, and reported as connected, but all edid data will be null.
So my solution was this:
-
sudo mkdir -p /lib/firmware/edid - Connect one monitor, extract the edid:
sudo cat /sys/class/drm/card1-HDMI-A-2/edid > /lib/firmware/edid/1920x1080.bin - Add this to /boot/firmware/cmdline.txt:
video=HDMI-A-1:1920x1080@60e video=HDMI-A-2:1920x1080@60e drm.edid_firmware=HDMI-A-1:edid/1920x1080.bin,HDMI-A-2:edid/1920x1080.bin
So this seems to bypass all edid related bugging and forces the outputs to be configured according to the specified edid binary.
Steps to reproduce the behaviour
Connect two screens at the same time. I don't know if it has anything to do with me connecting two blackmagick bididrectional sdi converters or not.
Device (s)
Raspberry Pi 5
System
ccpadmin@avpi:~ $ raspinfo | pastebinit https://pastebin.com/bVu2JTx9 ccpadmin@avpi:~ $ cat /etc/rpi-issue Raspberry Pi reference 2025-10-01 Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 7dadcf1fc5ce1648ab09409ab978831690c9a955, stage4 ccpadmin@avpi:~ $ vcgencmd version 2025/05/08 15:13:17 Copyright (c) 2012 Broadcom version 69471177 (release) (embedded) ccpadmin@avpi:~ $ uname -a Linux avpi 6.12.47+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.12.47-1+rpt1 (2025-09-16) aarch64 GNU/Linux
Logs
No response
Additional context
No response
I don't know if it has anything to do with me connecting two blackmagick bididrectional sdi converters or not.
This seems very likely. Do the two displays work if directly connected to the pi5 (assuming they also support hdmi)?
It would also be interesting to report what the diagnostic display shows for both the directly connected and connected via the converter cases.
Connect power and the two hdmi cables, but no sdcard/usb/nvme etc to get the diagnostic display. Report the "Display:" line.
SDI is normally unidirectional with a fixed set of bitrates (and hence resolutions/frame rates) supported based on the SDI generation (3G supports up to 1080p60). So an HDMI to SDI converter would normally just list those modes, and it assumes that the consuming device can support it.
The Blackmagic bidirectional SDI converters (https://www.blackmagicdesign.com/products/microconverters) are a bit more magic than standard ones as they also support sending camera control commands back up the return SDI feed to a compatible cameras. I don't know how they implement that (probably some additional I2C address on the DDC channel), but that should be totally independent of EDID reading.
The kernel EDID parsing that the Pi uses is totally standard within the Linux kernel, so it does make me intrigued as to how they are confusing it. I'd expect it to confuse any Linux system, not just a Pi.
Which generation of Blackmagic converter are you using? It may be that a colleague here may have access to some to allow us to test, but I suspect they'll only be 3G. Does it vary based on what is connected to the SDI side of the converters?