From 122d009af149b3af83176fcf77a962bdc8b52d64 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 13 Jul 2025 15:21:46 +0100 Subject: coreboot/default: probe EDID twice in libgfxinit this mitigates buggy video converters e.g. displayport to hdmi, where sometimes the display doesn't come up. sometimes you have to probe them twice. this is apparently what linux does, according to nicholas chin's interpretation. this is a really quick and dirty patch that worked for Noisytoot on IRC, tested on their Dell OptiPlex 5050 SFF which they are porting; the port otherwise works, and this patch enables them to use their displayport adapter. Signed-off-by: Leah Rowe --- .../0002-re-try-EDID-reading-when-it-fails.patch | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 config/submodule/coreboot/default/libgfxinit/patches/0002-re-try-EDID-reading-when-it-fails.patch (limited to 'config/submodule/coreboot/default/libgfxinit/patches/0002-re-try-EDID-reading-when-it-fails.patch') diff --git a/config/submodule/coreboot/default/libgfxinit/patches/0002-re-try-EDID-reading-when-it-fails.patch b/config/submodule/coreboot/default/libgfxinit/patches/0002-re-try-EDID-reading-when-it-fails.patch new file mode 100644 index 00000000..889218fe --- /dev/null +++ b/config/submodule/coreboot/default/libgfxinit/patches/0002-re-try-EDID-reading-when-it-fails.patch @@ -0,0 +1,38 @@ +From cbac507d93dc357a75ccc11fdda5c7ed60935538 Mon Sep 17 00:00:00 2001 +From: Leah Rowe +Date: Sun, 13 Jul 2025 15:18:53 +0100 +Subject: [PATCH 1/1] re-try EDID reading when it fails + +some video converters are a bit buggy and have to be +probed twice; linux works fine, but in these cases, +coreboot won't set up the display. + +try it twice, to mitigate, when probing the EDID + +This entire function should probably be rewritten, since +it's buggy in general. + +Signed-off-by: Leah Rowe +--- + common/hw-gfx-gma-display_probing.adb | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/common/hw-gfx-gma-display_probing.adb b/common/hw-gfx-gma-display_probing.adb +index 67f8ddf..0500217 100644 +--- a/common/hw-gfx-gma-display_probing.adb ++++ b/common/hw-gfx-gma-display_probing.adb +@@ -122,6 +122,11 @@ is + Read_EDID (Raw_EDID, Port, Success); + end if; + ++ if not Success then ++ Panel.Wait_On (Config_Helpers.To_Panel (Port)); ++ Read_EDID (Raw_EDID, Port, Success); ++ end if; ++ + if Success and then + ((not Is_DVI_I (Port) or EDID.Compatible_Display + (Raw_EDID, Config_Helpers.To_Display_Type (Port))) and +-- +2.39.5 + -- cgit v1.2.1