You are not logged in.
I've been having issues with my Nvidia graphics card (GTX 980 Ti) reading my monitor's EDID through a DVI to VGA converter. To solve this, I hooked up a laptop with native VGA output and ripped the EDID manually. I then followed the advice I found on this reddit thread to load the ripped EDID, but to no avail.
For posterity, GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub now looks like
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet drm.edid_firmware=DVI-I-1:edid/daewo.bin video=DVI-I-1:e"and FILES in /etc/mkinitcpio.conf now looks like
FILES=(/usr/lib/firmware/edid/daewoo.bin)What's strange is that I get no indication from dmesg that the EDID is being loaded, not even an error.
dmesg -H | grep -i edidgives me this:
[ +0.000000] Command line: BOOT_IMAGE=/vmlinuz-linux root=/dev/mapper/VolGroup00-lvolroot rw loglevel=3 quiet drm.edid_firmware=DVI-I-1:edid/daewoo.bin video=DVI-I-1:e
[ +0.000013] Kernel command line: BOOT_IMAGE=/vmlinuz-linux root=/dev/mapper/VolGroup00-lvolroot rw loglevel=3 quiet drm.edid_firmware=DVI-I-1:edid/daewoo.bin video=DVI-I-1:eI futzed around, and I do actually get an error from dmesg if it can't find the EDID file.
[ +0.000000] Command line: BOOT_IMAGE=/vmlinuz-linux root=/dev/mapper/VolGroup00-lvolroot rw loglevel=3 quiet drm.edid_firmware=DVI-I-1:edid/daewo.bin video=DVI-I-1:e
[ +0.000013] Kernel command line: BOOT_IMAGE=/vmlinuz-linux root=/dev/mapper/VolGroup00-lvolroot rw loglevel=3 quiet drm.edid_firmware=DVI-I-1:edid/daewo.bin video=DVI-I-1:e
[ +0.000060] nvidia 0000:09:00.0: Direct firmware load for edid/daewo.bin failed with error -2
[ +0.000003] nvidia 0000:09:00.0: [drm] ERROR [CONNECTOR:92:DVI-I-1] Requesting EDID firmware "edid/daewo.bin" failed (err=-2)
[ +0.000277] nvidia 0000:09:00.0: Direct firmware load for edid/daewo.bin failed with error -2
[ +0.000003] nvidia 0000:09:00.0: [drm] ERROR [CONNECTOR:92:DVI-I-1] Requesting EDID firmware "edid/daewo.bin" failed (err=-2)Any idea what I could be missing?
Full dmesg log: https://pastebin.com/XS4DeiML
Full /etc/default/grub: https://pastebin.com/KJM5QYGb
Full /etc/mkinitcpio.conf: https://pastebin.com/wzv8cvwU
Last edited by not_kieran_f (2025-12-29 19:14:19)
Offline
lsinitcpio /boot/initramfs-linux.img | grep daewoo.binDid you run mkinitcpio after providing the edid and changing mkinitcpio.conf?
Offline
~$ lsinitcpio /boot/initramfs-linux.img | grep daewoo.bin
usr/lib/firmware/edid/daewoo.binI did, yes. Likewise with grub-mkconfig.
Offline
https://pastebin.com/XS4DeiML does not actually include any edid loading errors?
ls /sys/class/drm/card*
edid-decode /sys/class/drm/card*-DVI-I-1/edidOffline
No EDID related info at all really. I was lead to believe that I would see something if it were properly loaded.
~$ ls /sys/class/drm/card*
/sys/class/drm/card1:
boot_display card1-DP-1 card1-DP-2 card1-DP-3 card1-DVI-I-1 card1-HDMI-A-1 dev device power subsystem uevent
/sys/class/drm/card1-DP-1:
connector_id device dpms edid enabled modes power status subsystem uevent
/sys/class/drm/card1-DP-2:
connector_id device dpms edid enabled modes power status subsystem uevent
/sys/class/drm/card1-DP-3:
connector_id device dpms edid enabled modes power status subsystem uevent
/sys/class/drm/card1-DVI-I-1:
connector_id device dpms edid enabled modes power status subsystem uevent
/sys/class/drm/card1-HDMI-A-1:
connector_id device dpms edid enabled modes power status subsystem uevent~$ edid-decode /sys/class/drm/card*-DVI-I-1/edid
edid-decode (hex):
00 ff ff ff ff ff ff 00 12 e5 00 00 60 03 00 00
33 05 01 00 08 1b 14 7f e8 0f de 9e 58 4d 97 26
10 47 4f ef d8 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 01 01 01 00 23
----------------
Block 0, Base EDID:
EDID Structure Version & Revision: 1.0
Vendor & Product Identification:
Manufacturer: DWE
Model: 0
Serial Number: 864 (0x00000360)
Made in: week 51 of 1995
Basic Display Parameters & Features:
Analog display
Signal Level Standard: 0.700 : 0.300 : 1.000 V p-p
Blank level equals black level
Sync: Separate
Maximum image size: 27 cm x 20 cm
Gamma: 2.27
DPMS levels: Standby Suspend Off
RGB color display
Color Characteristics:
Red : 0.6171, 0.3437
Green: 0.3037, 0.5927
Blue : 0.1513, 0.0634
White: 0.2802, 0.3105
Established Timings I & II:
IBM : 720x400 70.081663 Hz 9:5 31.467 kHz 28.320000 MHz
IBM : 720x400 87.849542 Hz 9:5 39.444 kHz 35.500000 MHz
DMT 0x04: 640x480 59.940476 Hz 4:3 31.469 kHz 25.175000 MHz
DMT 0x05: 640x480 72.808802 Hz 4:3 37.861 kHz 31.500000 MHz
DMT 0x06: 640x480 75.000000 Hz 4:3 37.500 kHz 31.500000 MHz
DMT 0x08: 800x600 56.250000 Hz 4:3 35.156 kHz 36.000000 MHz
DMT 0x09: 800x600 60.316541 Hz 4:3 37.879 kHz 40.000000 MHz
DMT 0x0a: 800x600 72.187572 Hz 4:3 48.077 kHz 50.000000 MHz
DMT 0x0b: 800x600 75.000000 Hz 4:3 46.875 kHz 49.500000 MHz
DMT 0x0f: 1024x768i 86.957532 Hz 4:3 35.522 kHz 44.900000 MHz
DMT 0x10: 1024x768 60.003840 Hz 4:3 48.363 kHz 65.000000 MHz
Standard Timings: none
Detailed Timing Descriptors:
Detailed mode: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 '..................'
Detailed mode: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 '..................'
Detailed mode: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 '..................'
Detailed mode: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 '..................'
Checksum: 0x23So, the EDID override is being loaded after all.
~$ xrandr
Screen 0: minimum 8 x 8, current 1024 x 768, maximum 16384 x 16384
DVI-I-0 connected primary 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.00*+
1600x900 59.82
1400x900 59.88
1368x768 59.88 59.85
1280x800 59.91 59.81
1280x720 59.86 59.74
1024x576 59.90 59.82
960x540 59.82 59.63
864x486 59.92 59.57
800x600 72.19 60.32 56.25
800x450 59.82
700x450 59.88
684x384 59.88 59.85
640x480 59.94
640x400 59.98 59.88
640x360 59.86 59.83
512x384 60.00
512x288 60.00 59.92
480x270 59.82 59.63
432x243 59.92 59.57
400x300 72.19
320x240 60.05
DVI-I-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 disconnected (normal left inverted right x axis y axis)Still using the fallback resolutions though. I'm not sure what I'm missing here. The monitor is plugged into the only DVI port on my machine, but it's listed as DVI-I-0 instead of DVI-I-1... which is in turn listed as disconnected. Does this have anything to do with dual-link? No luck with changing DVI-I-1 to DVI-I-0 in /etc/default/grub either.
Last edited by not_kieran_f (2025-12-28 22:39:21)
Offline
There is *an* edid in /sys/class/drm/card1-DVI-I-1/edid but that edid looks sorta bogus and also only advertises up to XGA
cat /usr/lib/firmware/edid/daewoo.bin | curl -F 'file=@-' 0x0.stI'll point out that nvidia actually has its own X11 option to pick a random edid, https://download.nvidia.com/XFree86/Lin … tions.html - look for "CustomEDID"
Offline
http://0x0.st/Pil_.bin I'm not expecting more than XGA to be frank, It's a CRT from 1995
. I mostly wanted the ability to use some of the higher refresh rate modes.
I tried setting up a file in xorg.conf.x for CustomEDID, but I'm not certain I'm doing it right.
~$ lspci -d ::03xx
09:00.0 VGA compatible controller: NVIDIA Corporation GM200 [GeForce GTX 980 Ti] (rev a1)
~$ cat /etc/X11/xorg.conf.d/10-daewoo-edid.conf
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:9:0:0"
Option "CustomEDID" "CRT-0:/usr/lib/firmware/edid/daewoo.bin"
EndSectionNo change from xrandr at least.
Offline
Ahhh… you're hoping to get the interlaced 87Hz mode
Option "ModeDebug" "True" will make the driver print to the log what modes it filters and why.
You can btw. also add completely random modelines but will require
Option "ModeValidation" "AllowNonEdidModes"Offline
Typo in the xorg config left me with an unresponsive screen of multicolored fuzz... I would've hoped that it would fall through into a login shell, but I guess not. Quick fix once I booted into a live usb.
Looking through the xorg log with debug mode on has been insightful though. In particular, it seems to be reading and promptly rejecting my EDID.
[ 9.190] (WW) NVIDIA(GPU-0): The EDID read for display device DVI-I-0 is invalid:
[ 9.190] (WW) NVIDIA(GPU-0): - The EDID has a bad detailed timing descriptor.Looking at the file, the standard and detailed timing description areas are padded with 0x01. I'm fairly confident that the EDID is valid otherwise (correct dimensions, correct manufacturing date, etc.) so I'll try editing those to be zero.
Full xorg log: https://0x0.st/Piht.txt
Offline
I also needed to add NoExtendedGpuCapabilitiesCheck and NoVertRefreshCheck to ModeValidation in my xorg configuration file, but it seems to be working like a charm now. I tried going back and overriding the EDID with the edited one via kernel options, but no dice... it shows up under /sys/class/drm/card1-DVI-I-1/edid, but none of the modes appear in xrandr. Oh well. Thank you for the help, seth!
Offline
I tried going back and overriding the EDID with the edited one via kernel options, but no dice... it shows up under /sys/class/drm/card1-DVI-I-1/edid, but none of the modes appear in xrandr.
If you've the edid in the initramfs (if not, try) - did you maybe forget to update the initramfs for this?
Do you still limit the modevalidation (the driver would likely still identify the contradiction)
Offline
For posterity, GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub now looks like
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet drm.edid_firmware=DVI-I-1:edid/daewo.bin video=DVI-I-1:e"and FILES in /etc/mkinitcpio.conf now looks like
FILES=(/usr/lib/firmware/edid/daewoo.bin)
I believe this didn't work because of the "daewo" vs. "daewoo" typo.
Offline