Configure 27" 2560x1440 for a monitor with corrupt EDID

Solution 1:

I had a similar problem recently. I could've made a custom Xorg.conf file but that would've undermined all the nice new automatic configuration when I connected to other monitors.
I re-wrote the corrupted EDID instead:

Here are some reading materials: ref: https://en.wikipedia.org/wiki/Extended_display_identification_data#External_links
edid-rw: https://github.com/bulletmark/edid-rw ( this might work for you... I tried it and could read the edid but couldn't write?! Try it first?)

You need to find the monitor's i2c address:

i2cdetect -l
// look for vga, in this case I got "1"

i2cdetect 1
// look for address.. in this case only one.. I got 0x50

sudo i2cdump 1 0x50 b
// get the current edid

I found a listing on the internet for my monitor's edid as part of an xorg listing in a bug post. Put it in file new.bin:

Checksum!.. This next line should spit out 0

x=$( sum -s new.bin | cut -d " " -f 1 ); echo "$x % 256 " |bc

Since edid-rw above didn't work for me I looked into:

I used this to write the edid:
WARNING - DANGEROUS - Make sure your i2c addresses are correct and insert them below!

cat new.bin | hexdump -v -e '"sudo i2cset -y 1 0x50 0x%_ax 0x" /1 "%02X b\n"'

check final result:
(make sure to use the address info you found above using i2cdetect instead of " 1 0x50 ")

sudo i2cdump 1 0x50 b >test.bin
cat test.bin
x=$( sum -s test.bin | cut -d " " -f 1 ); echo "$x % 256 " |bc should return 0 if good