Bug 102931

Summary: Radeon : EDID Reading Incorrectly
Product: Drivers Reporter: Maxqia (public)
Component: Video(DRI - non Intel)Assignee: drivers_video-dri
Status: RESOLVED INVALID    
Severity: normal CC: alexdeucher, deathsimple, lorenz.bona
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 4.1.5 Subsystem:
Regression: No Bisected commit-id:
Attachments: get-edid | parse-edid output

Description Maxqia 2015-08-15 13:08:30 UTC
When running get-edid | parse-edid with i2c-dev module loaded, It doesn't read my monitor correctly. The EDID reads fine with Windows and xrandr.
Comment 1 Alex Deucher 2015-08-17 02:02:31 UTC
IIRC, get-edid doesn't actually probe any i2c buses, it uses vm86 to do vbe calls to the vbios.  vbe will only provide the edid for whatever monitor it happened to probe at boot and likely won't work correctly once a real driver is loaded.  It's also not multi-head aware so if you have multiple monitors attached or are using a different display than what was available at boot it probably won't work.
Comment 2 Alex Deucher 2015-08-17 02:03:00 UTC
This is not a driver bug.  It's a limitation of get-edid.
Comment 3 Maxqia 2015-08-17 07:19:39 UTC
Created attachment 185121 [details]
get-edid | parse-edid output

According to the read-edid website and the program output, get-edid uses the i2c bus.
Comment 4 Christian König 2015-08-17 09:16:49 UTC
get-edid calls into the BIOS directly to access the I2C bus and doesn't uses the driver. With a kernel driver this is pretty much deprecated and shouldn't be used any more.

Use the one provided in sysfs instead, try: find /sys -name "edid"