Using monitor with corrupted EDID

Dear everyone,

I have a monitor which has a corrupted EDID. If I start my RPi with other monitor plugged and then replug to the one with corruped EDID it works fine, but at the resolution of previous monitor. If I edit config.txt to include HDMI_save=1 and I
start RPi with the “corrupted” monitor plugged in I only get black screen. The monitor is getting some signal as it does not display “no signal” message, but just gives black “lit up” screen. Both monitors have only DVI connectors so I am connecting through a hdmi to dvi converter. I tried to play around with different setings in config.txt and with tvservice, but with no luck. The monitor works “fine” connected to my linux pc (I need to force it to work, but it works). Not sure what to do. Any ideas?

You may get enough info for an answer if you post a debug log.
What I would do is look (under settings) to see what the resolution is when the corrupted monitor is working. You can compare with what tvservice -s shows when working and not working. This may give enough of a clue.
I run several monitors thru’ HDMI to DVI adapters.

1 Like

I am very confused now. So what I tried to do is do the monitor switch trick and check video output settings using tvservise -s. What I get is:
state 0x120006 [DVI DMT (35) RGB full 5:4], 1280x1024 @ 59.94Hz, progressive
Now I try just “switch” to the same settings via tvservice --ntsc -e"DMT 35 DVI". Using these settings I get a black screen although the monitor seems to get some data, because it does not show no signal message. If I retrieve the settings after this change I get:
state 0x120006 [DVI DMT (35) RGB full 5:4], 1280x1024 @ 59.94Hz, progressive
which is identical. I am so very confused…

I understand your confusion.
I’ve not tried forcing the modes with tvservice (thankyou for bringing that to my attention).
All my monitors are used in a PAL environment, even tho’ I suspect they might be usable as NTSC - I’ve never tried it.
I’m not sure what your HDMI_save=1 will do - I have used the tvservice -d and then loaded that saved file to force the monitor settings where there is an EDID problem.

For a slightly confused TV with DVI in I use either of these (in config.txt):
hdmi_cvt=1360 768 50 3 0 0 1
hdmi_cvt=1360 768 60 3 0 0 1
(try adding hdmi_ignore_edid=0xa5000080) (see Video options in config.txt - Raspberry Pi Documentation)
However, what mode(s) can your EDID challenged monitor do?

From what I found about the monitor:
Standard timings supported
640 x 480p at 60Hz - IBM VGA
800 x 600p at 56Hz - VESA
800 x 600p at 60Hz - VESA
1024 x 768p at 60Hz - VESA
1280 x 800p at 60Hz - VESA STD
1280 x 1024p at 60Hz - VESA STD
1440 x 900p at 60Hz - VESA STD
1600 x 1200p at 60Hz - VESA STD
1680 x 1050p at 60Hz - VESA STD
1360 x 765p at 60Hz - VESA STD
1280 x 960p at 60Hz - VESA STD
1152 x 864p at 60Hz - VESA STD

Ok, a weird collection of modes, some 4:3 and some 16:9, but do you know the recommended/native resolution for the monitor/panel?
And 1360x765 is a bit weird, most panels use 8 pixel “groups”.
But, try “hdmi_cvt=1360 768 60 3 0 0 1”

For a similar issue I captured the config of the screen to a file and forced the mode in config.txt. So whatever you do to make the faulty screen working, make it. Adapt the screen resolution to you preference and when done :

#capture the config in a file
sudo tvservice -d edid.dat

#copy the file to /boot/ (on the SD card where OSMC resides)
sudo cp edid.dat /boot/

#add this line to config.txt (or via the GUI)

Reboot and check if it works.