AMD’s Catalyst 13.8 Beta1 is busted

Revert to catalyst-13.4 and stick with Kernel 3.9

Reversion

This is an operable configuration; with 4x Hewlett-Packard ZR30w

$ rpm -q -a | grep -Ee '(catalyst|kernel-[^d])' | sort
kernel-3.9.11-200.fc18.x86_64
kernel-3.9.2-200.fc18.x86_64
kernel-modules-extra-3.9.11-200.fc18.x86_64
kernel-modules-extra-3.9.2-200.fc18.x86_64
kmod-catalyst-3.9.11-200.fc18.x86_64-13.4-2.fc18.8.x86_64
kmod-catalyst-3.9.2-200.fc18.x86_64-13.4-2.fc18.x86_64
xorg-x11-drv-catalyst-13.4-1.fc18.x86_64
xorg-x11-drv-catalyst-libs-13.4-1.fc18.x86_64

Separately

As of 2013-08-24, the use of 4K displays, e.g. the ASUS PQ321, no longer functions.  The FirePro video system forces the 4K display back to a lowrez mode.  That is fully characterized here.   A configuration with 2x HP ZR30w and 1x ASUS PQ321 worked well for weeks.  Then one day, without any updating, it stopped functioning and won’t work (even a full powercycle of all components).  The  ASUS PQ321 had to be removed from the system; 4x HP ZR30w works fine (but only with catalyst-13.4)

Official

Resolutions

  • [381120] Kernel 3.10 support
  • [379176] “Testing use only” watermark removed
    … pesky but benign relative to the lethargy and breakage of catalyst-13.8

Breakage

catalyst-13.8 is broken and unusable.

  • Only “updates” the static GNOME desktop when there is motion; e.g. mouse motion.
  • In gnome-terminal, it has the feel of working on a 1970s very slow 100-baud tty.
  • There seems to be a ~20 sec to ~30 sec timeout after which pending graphics events are flushed.
  • Putting the desktop into full compositing mode (e.g. ALT-F2) allows the X events to stream freely (e.g. video playback functions).
  • glxgears doesn’t run the gears unless ALT-F2 or the mouse is used to move the window around.
  • This is unusable.

Rumor

The symptoms are all different (and different from mine):

Fedora kernel updates with the Catalyst driver and a AMD FirePro W9000

Gear

Problem Statement

  • One or more monitors do not wake up from sleep in 1/1000 instances.
  • Kernel updates render this setup unstable:
    • Unmanaged “yum update” may make the display unuseable.
    • The kernel and drivers must be updated together, as a matched set.

Remediation

  • For the sleep-never-wake …
    • Unplug & replug the DisplayPort cable.
    • This will destroy your running X11 configuration back to the default
      (but the monitor was dark and unuseable anyway, right?)
    • A login/logout cycle is indicated.
    • A session with amdcccle is indicated to reconfigure the ordering & rotation.
  • For the kernel update problem
    • Ensure both the kernel and xorg drivers are updated together.

Best Practices

Basic paranoia about an ill-understood software stack…

  • If you have a working configuration, do not change it, do not log out.
  • Do not take kernel updates without management & monitoring.
    • See Resources, below, about preventing kernel updates.
  • Do not take Catalyst updates (e.g. from rpmfusion) without management & monitoring
  • Save old kernels, lots of them
    • See Resources, below, about saving old kernel (more than three)
  • Have a fallback position in case a new update doesn’t work out.

Configuration

Drivers & Kernels

  • You need both the catalyst X11 driver and the kmod catalyst driver
  • yum install xorg-x11-drv-catalyst kmod-catalyst

Packages

kmod-catalyst.x86_64
Metapackage which tracks in catalyst kernel module for newest kernel
xorg-x11-drv-catalyst.x86_64
AMD’s proprietary driver for ATI graphic cards

Failure Mode

  • Absent the kmod driver, the gear will still work, but in degraded mode
  • You will experience the GNOME “weak fallback mode”
    • A GNOME-2 type of experience (no compositing, no round edges)
    • Sliding windows will have video artifacts
    • Importantly, display rotation is unavailable
  • Therefore, make sure you have the catalyst X11 drivers and the kernel kmod catalyst drivers.
  • If you are experiencing GNOME-2 type screens, then acquire the appropriate drivers.
$ uname -a
Linux cathedral 3.9.11-200.fc18.x86_64 #1 SMP Mon Jul 22 21:04:50 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Here is shown a configuration where there are two workable kernels:

  • Kernel 3.9.2 and 3.9.11
  • Catalyst 13.4
$ rpm -q -a | grep catalyst
kmod-catalyst-3.9.2-200.fc18.x86_64-13.4-2.fc18.x86_64
kmod-catalyst-3.9.11-200.fc18.x86_64-13.4-2.fc18.8.x86_64
kmod-catalyst-13.4-2.fc18.8.x86_64
xorg-x11-drv-catalyst-13.4-1.fc18.x86_64
xorg-x11-drv-catalyst-libs-13.4-1.fc18.x86_64

Xorg Configuration

/etc/X11/xorg.conf as set up by amdcccle

Section "ServerLayout"
        Identifier     "amdcccle Layout"
        Screen      0  "amdcccle-Screen[2]-0" 0 0
EndSection

Section "Monitor"
        Identifier   "0-DFP1"
        Option      "VendorName" "ATI Proprietary Driver"
        Option      "ModelName" "Generic Autodetecting Monitor"
        Option      "DPMS" "true"
        Option      "PreferredMode" "2560x1600"
        Option      "TargetRefresh" "60"
        Option      "Position" "4800 0"
        Option      "Rotate" "normal"
        Option      "Disable" "false"
EndSection

Section "Monitor"
        Identifier   "0-DFP5"
        Option      "VendorName" "ATI Proprietary Driver"
        Option      "ModelName" "Generic Autodetecting Monitor"
        Option      "DPMS" "true"
        Option      "PreferredMode" "2560x1600"
        Option      "TargetRefresh" "60"
        Option      "Position" "3200 12"
        Option      "Rotate" "right"
        Option      "Disable" "false"
EndSection

Section "Monitor"
        Identifier   "0-DFP9"
        Option      "VendorName" "ATI Proprietary Driver"
        Option      "ModelName" "Generic Autodetecting Monitor"
        Option      "DPMS" "true"
        Option      "PreferredMode" "2560x1600"
        Option      "TargetRefresh" "60"
        Option      "Position" "1600 12"
        Option      "Rotate" "right"
        Option      "Disable" "false"
EndSection

Section "Monitor"
        Identifier   "0-DFP13"
        Option      "VendorName" "ATI Proprietary Driver"
        Option      "ModelName" "Generic Autodetecting Monitor"
        Option      "DPMS" "true"
        Option      "PreferredMode" "2560x1600"
        Option      "TargetRefresh" "60"
        Option      "Position" "0 12"
        Option      "Rotate" "right"
        Option      "Disable" "false"
EndSection

Section "Device"
        Identifier  "amdcccle-Device[2]-0"
        Driver      "fglrx"
        Option      "Monitor-DFP1" "0-DFP1"
        Option      "Monitor-DFP5" "0-DFP5"
        Option      "Monitor-DFP9" "0-DFP9"
        Option      "Monitor-DFP13" "0-DFP13"
        BusID       "PCI:2:0:0"
EndSection

Section "Screen"
        Identifier "amdcccle-Screen[2]-0"
        Device     "amdcccle-Device[2]-0"
        DefaultDepth     24
        SubSection "Display"
                Viewport   0 0
                Virtual   7360 2572
                Depth     24
        EndSubSection
EndSection

Yum Configuration

In /etc/yum.conf, declare:

installonlypkgs=kernel,kernel-PAE,kernel-smp,kernel-bigmem,kernel-devel,kernel-firmware,kernel-headers

In /etc/yum.conf, declare a higher limit on older kernels:

installonly_limit=6

To turn off the cleanup of old kernels altogether, in /etc/yum.conf, declare:

installonly_limit=0

See Configuration for Package Protection afforded by yum-plugin-protect-packages. This package blocks the uninstall of yum and its dependencies. To protect other packages, one creates files in /etc/yum/protected.d/*.conf and adds package name, one per line, to the *.conf files.

Use yum-utils to provide package-cleanup

## Install yum utils ##
yum install yum-utils
## Package-cleanup set count as how many old kernels you want left ##
package-cleanup --oldkernels --count=2

Resources

Products