Well at work I helped setup a couple Linux workstations. One of the people using the workstations was a idiot and attempted to install the catalyst drivers on one of the machines that uses a ATI IGP, which is almost always a mistake.
Well the upshot of this is that while the catalyst drivers are completely uninstalled, but EDID is still broken. This breaks the ability for the OS and drivers to automatically know what resolution the monitors support.
There is nothing wrong with the OS at this point. Whatever changes catalyst did to the video card firmware or registers or whatever is what broke EDID. Even booting up in a Live CD, which worked perfectly before is now unable to configure the monitors.
I worked around this by adding this to /etc/X11/xorg.conf.d/40-monitors.conf:
But that is only a static change. If somebody wants to use the box on any other monitors it's not going to work at all. This is really terrible because while the open source drivers worked perfectly prior to catalyst, they obviously can't automatically undo the damage the drivers caused to the hardware. If I had Windows dual booting for the machine I expect that the windows drivers would be smarter and be able to properly get EDID working again, but I don't have Windows on this machine.
now this is all I get in dmesg when the display manager restarts:
Here is the dmesg output when the DRM driver fails with EDID:
The video device:
01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Cedar PRO [Radeon HD 5450/6350]
The drivers that did this damage to my machine is 13.1 release from Fedora's repositories.
Well the upshot of this is that while the catalyst drivers are completely uninstalled, but EDID is still broken. This breaks the ability for the OS and drivers to automatically know what resolution the monitors support.
There is nothing wrong with the OS at this point. Whatever changes catalyst did to the video card firmware or registers or whatever is what broke EDID. Even booting up in a Live CD, which worked perfectly before is now unable to configure the monitors.
I worked around this by adding this to /etc/X11/xorg.conf.d/40-monitors.conf:
Code:
Section "Monitor" Identifier "DVI-0" Modeline "1280x1024_75.00" 138.54 1280 1368 1504 1728 1024 1025 1028 1069 -hsync +vsync Option "PreferredMode" "1280x1024_75.00" EndSection Section "Monitor" Identifier "DVI-1" Modeline "1280x1024_75.00" 138.54 1280 1368 1504 1728 1024 1025 1028 1069 -hsync +vsync Option "PreferredMode" "1280x1024_75.00" EndSection
now this is all I get in dmesg when the display manager restarts:
Code:
[ 2652.508972] [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID [ 2652.751252] [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID [ 2653.073241] [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID [ 2653.567716] [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID [ 2751.453296] [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID [ 2751.699617] [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID [ 2752.261964] [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID [ 2752.764918] [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID
Code:
[ 1.419804] fb: conflicting fb hw usage radeondrmfb vs VESA VGA - removing generic driver [ 1.419815] Console: switching to colour dummy device 80x25 [ 1.420003] [drm] initializing kernel modesetting (CEDAR 0x1002:0x68F9 0x1028:0x2126). [ 1.420031] [drm] register mmio base: 0xE1420000 [ 1.420032] [drm] register mmio size: 131072 [ 1.420123] ATOM BIOS: C09002 [ 1.420205] radeon 0000:01:00.0: VRAM: 512M 0x0000000000000000 - 0x000000001FFFFFFF (512M used) [ 1.420207] radeon 0000:01:00.0: GTT: 512M 0x0000000020000000 - 0x000000003FFFFFFF [ 1.422055] [drm] Detected VRAM RAM=512M, BAR=256M [ 1.422059] [drm] RAM width 64bits DDR [ 1.422106] [TTM] Zone kernel: Available graphics memory: 2002476 kiB [ 1.422108] [TTM] Initializing pool allocator [ 1.422111] [TTM] Initializing DMA pool allocator [ 1.422134] [drm] radeon: 512M of VRAM memory ready [ 1.422135] [drm] radeon: 512M of GTT memory ready. [ 1.422146] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010). [ 1.422146] [drm] Driver supports precise vblank timestamp query. [ 1.422184] radeon 0000:01:00.0: irq 44 for MSI/MSI-X [ 1.422191] radeon 0000:01:00.0: radeon: using MSI. [ 1.422213] [drm] radeon: irq initialized. [ 1.422216] [drm] GART: num cpu pages 131072, num gpu pages 131072 [ 1.422768] [drm] probing gen 2 caps for device 8086:101 = 2/0 [ 1.422771] [drm] enabling PCIE gen 2 link speeds, disable with radeon.pcie_gen2=0 [ 1.422815] [drm] Loading CEDAR Microcode [ 1.441939] [drm] PCIE GART of 512M enabled (table at 0x0000000000040000). [ 1.442039] radeon 0000:01:00.0: WB enabled [ 1.442041] radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000020000c00 and cpu addr 0xffff880121 2dfc00 [ 1.442043] radeon 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000020000c0c and cpu addr 0xffff880121 2dfc0c [ 1.458428] [drm] ring test on 0 succeeded in 1 usecs [ 1.458485] [drm] ring test on 3 succeeded in 1 usecs [ 1.458656] [drm] ib test on ring 0 succeeded in 0 usecs [ 1.458673] [drm] ib test on ring 3 succeeded in 0 usecs [ 1.458811] [drm] Radeon Display Connectors [ 1.458812] [drm] Connector 0: [ 1.458813] [drm] DVI-I-1 [ 1.458814] [drm] HPD2 [ 1.458815] [drm] DDC: 0x6460 0x6460 0x6464 0x6464 0x6468 0x6468 0x646c 0x646c [ 1.458816] [drm] Encoders: [ 1.458816] [drm] DFP1: INTERNAL_UNIPHY1 [ 1.458817] [drm] CRT2: INTERNAL_KLDSCP_DAC2 [ 1.458818] [drm] Connector 1: [ 1.458819] [drm] DVI-I-2 [ 1.458819] [drm] HPD4 [ 1.458820] [drm] DDC: 0x6450 0x6450 0x6454 0x6454 0x6458 0x6458 0x645c 0x645c [ 1.458821] [drm] Encoders: [ 1.458822] [drm] DFP2: INTERNAL_UNIPHY [ 1.458823] [drm] CRT1: INTERNAL_KLDSCP_DAC1 [ 1.458884] [drm] Internal thermal controller with fan control [ 1.458904] [drm] radeon: power management initialized [ 1.504784] [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 4 [ 1.504787] Raw EDID: [ 1.504789] 00 ff ff ff ff ff ff 00 10 ac 24 a0 4c 39 48 31 [ 1.504790] 05 11 01 03 68 26 1e 78 ee ee 91 a3 54 4c 99 26 [ 1.504792] 0f 50 54 a5 4b 00 71 4f 81 80 01 01 01 01 01 01 [ 1.504793] 01 01 01 01 01 01 30 2a 00 98 51 00 2a 40 30 70 [ 1.504795] 13 00 78 2d 11 00 00 1e 00 00 00 ff 00 57 48 33 [ 1.504796] 32 30 37 32 32 31 48 39 4c 0a 00 00 00 fc 00 44 [ 1.504798] 00 ff ff ff ff ff ff 00 10 ac 24 a0 4c 39 48 31 [ 1.504799] 05 11 01 03 68 26 1e 78 ee ee 91 a3 54 4c 99 26 [ 1.532546] [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 4 [ 1.532549] Raw EDID: [ 1.532550] 00 ff ff ff ff ff ff 00 10 ac 24 a0 4c 39 48 31 [ 1.532552] 05 11 01 03 68 26 1e 78 ee ee 91 a3 54 4c 99 26 [ 1.532553] 0f 50 54 a5 4b 00 71 4f 81 80 01 01 01 01 01 01 [ 1.532555] 01 01 01 01 01 01 30 2a 00 98 51 00 2a 40 30 70 [ 1.532556] 13 00 78 2d 11 00 00 1e 00 00 00 ff 00 57 48 33 [ 1.532558] 32 30 37 32 32 31 48 39 4c 0a 00 00 00 fc 00 44 [ 1.532559] 00 ff ff ff ff ff ff 00 10 ac 24 a0 4c 39 48 31 [ 1.532561] 05 11 01 03 68 26 1e 78 ee ee 91 a3 54 4c 99 26 [ 1.532573] tsc: Refined TSC clocksource calibration: 3092.970 MHz [ 1.532576] Switching to clocksource tsc [ 1.559997] [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 4 [ 1.560001] Raw EDID: [ 1.560003] 00 ff ff ff ff ff ff 00 10 ac 24 a0 4c 39 48 31 [ 1.560004] 05 11 01 03 68 26 1e 78 ee ee 91 a3 54 4c 99 26 [ 1.560006] 0f 50 54 a5 4b 00 71 4f 81 80 01 01 01 01 01 01 [ 1.560008] 01 01 01 01 01 01 30 2a 00 98 51 00 2a 40 30 70 [ 1.560010] 13 00 78 2d 11 00 00 1e 00 00 00 ff 00 57 48 33 [ 1.560011] 32 30 37 32 32 31 48 39 4c 0a 00 00 00 fc 00 44 [ 1.560013] 00 ff ff ff ff ff ff 00 10 ac 24 a0 4c 39 48 31 [ 1.560015] 05 11 01 03 68 26 1e 78 ee ee 91 a3 54 4c 99 26 [ 1.560293] usb 2-1.2: new low-speed USB device number 3 using ehci-pci [ 1.587413] [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 4 [ 1.587416] Raw EDID: [ 1.587418] 00 ff ff ff ff ff ff 00 10 ac 24 a0 4c 39 48 31 [ 1.587419] 05 11 01 03 68 26 1e 78 ee ee 91 a3 54 4c 99 26 [ 1.587421] 0f 50 54 a5 4b 00 71 4f 81 80 01 01 01 01 01 01 [ 1.587423] 01 01 01 01 01 01 30 2a 00 98 51 00 2a 40 30 70 [ 1.587424] 13 00 78 2d 11 00 00 1e 00 00 00 ff 00 57 48 33 [ 1.587426] 32 30 37 32 32 31 48 39 4c 0a 00 00 00 fc 00 44 [ 1.587428] 00 ff ff ff ff ff ff 00 10 ac 24 a0 4c 39 48 31 [ 1.587429] 05 11 01 03 68 26 1e 78 ee ee 91 a3 54 4c 99 26 [ 1.587433] radeon 0000:01:00.0: DVI-I-1: EDID block 0 invalid. [ 1.587435] [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID [ 1.618316] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) 18:03:73:bf:16:22 [ 1.618319] e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection [ 1.618355] e1000e 0000:00:19.0 eth0: MAC: 10, PHY: 11, PBA No: E041FF-0FF [ 1.645056] usb 2-1.2: New USB device found, idVendor=1061, idProduct=0101
The video device:
01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Cedar PRO [Radeon HD 5450/6350]
The drivers that did this damage to my machine is 13.1 release from Fedora's repositories.
Comment