Announcement

Collapse
No announcement yet.

Catalyst drivers broke EDID. How do I fix this?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Catalyst drivers broke EDID. How do I fix this?

    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:
    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
    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:

    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
    Here is the dmesg output when the DRM driver fails with 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.

  • #2
    AFAIK the drivers don't write to firmware or any other persistent storage on the card and don't think they are supposed to write anything to the monitor either. Registers lose their contents on power down, although it can take 30 seconds or more after the P/S has bled down in some cases.

    If anything changed it would either be xorg.conf (potentially changed by aticonfig) or amdpcsdb (only used by Catalyst Linux). At first glance I don't think the kind of change you are talking about would have been made by the driver (although the obvious question then is "so what did happen ?").

    BTW you mentioned ATI IGP (which wouldn't be supported by the current Catalyst drivers) but it sounds like you're talking about more recent video hardware -- maybe the GPU on an Ontario/Brazos APU ?
    Last edited by bridgman; 26 April 2013, 11:57 AM.
    Test signature

    Comment


    • #3
      Originally posted by bridgman View Post
      AFAIK the drivers don't write to firmware or any other persistent storage on the card and don't think they are supposed to write anything to the monitor either. Registers lose their contents on power down, although it can take 30 seconds or more after the P/S has bled down in some cases.

      If anything changed it would either be xorg.conf (potentially changed by aticonfig) or amdpcsdb (only used by Catalyst Linux). At first glance I don't think the kind of change you are talking about would have been made by the driver (although the obvious question then is "so what did happen ?").

      BTW you mentioned ATI IGP (which wouldn't be supported by the current Catalyst drivers) but it sounds like you're talking about more recent video hardware -- maybe the GPU on an Ontario/Brazos APU ?
      Not sure exactly. It's a newer machine, but I didn't pick out the hardware. (the desktop folks just drop random stuff off for us to use) It has Intel CPU, so I guess it's a separate VGA card.

      I'll try to leave it powered off and see what happens.

      thanks for the reply. I was afraid that it did change the firmware, but if you say it does not do this then I believe you.

      Comment


      • #4
        Well that didn't help, unfortunately. I guess it's a mystery why it's broken at this point. I'll have to talk to the guy and see if he did anything else to try to 'fix' this machine, like swapping cables or outputs or something.

        Comment


        • #5
          Why do you write Catalyst when you use radeon driver? When you write Catalyst then fglrx is usally meant.

          Comment


          • #6
            AFAIK drag did mean Catalyst -- my understanding was that normally the system ran with radeon but the user installed Catalyst on it, and once drag had reverted the system to use radeon again there were EDID checksum messages appearing.
            Test signature

            Comment

            Working...
            X