Die Leiden des jungen Catalyst
Linux und Grafiktreiber ist ja schon seit eh und je ein heikles Thema, insbesondere wenn es darum geht 3D-Funktionen des Chips konsequent auszunutzen. Denn die freien Treiber hängen ihren Pendants zumindest in diesem Segment noch um wasauchimmer hinterher. Die propriäteren Alternativen, bei AMD/ATI seit einiger Zeit „catalyst“ genannt, sind aber nicht wirklich der Heiland in Bits und Bytes.
Obwohl ich persönlich seit der Übernahme von ATI durch AMD etwas mehr Vertrauen in die Entwicklung dieses Treibers setze, ist vor allem eines festzustellen: Features werden auf Kosten anderer Features eingebaut.
Und das sehe nicht nur ich so, sondern auch einige Entwickler bei Archlinux. Der catalyst Treiber wurde deswegen von extra nach AUR verschoben, was soviel heißt, dass man das Paket selber kompilieren und einpflegen muss, da es über den Systempaketmanager (in diesem Fall pacman) nicht mehr zu erreichen ist. Als ich vor 2 Tagen catalyst aktualisieren wollte, hat mich das ein wenig aufgeregt. Inzwischen kann ich den Schritt aber nachvollziehen.
Ungefähr seit Catalyst 8.7 (erschienen im Juli 2008) war es nicht mehr möglich das entsprechende module (fglrx) zu laden. Zumindest nicht bei meinem R350 Radeon 9600 Mobility Grafikchip. Und mit diesem Problem stand ich nicht alleine da. Das schöne ist, dass der Treiber offiziell diese Karte weiter unterstützte. Trotzdem brach das Laden des Modules beharrlich mit „Cannot allocate memory“ ab. Dieses Verhalten zog sich bis zum Catalyst 9.2 bei mir hin (also bis Februar 2009). Erst zu diesem Zeitpunkt wurde der Fehler behoben. Das heißt also, dass ich seit ungefähr 6 Monaten diesen Treiber auch nicht aktualisieren durfte. Da der Catalyst allerdings auch seine eigene libgl mitbringt, gibt es arge Probleme, denn von libgl (und von einer halbwegs aktuellen Version) sind eine ganze Reihe von Programmen abhängig. Mit der Zeit landeten also immer mehr Systemkomponenten (u.a. auch hal, dbus, etc. pp.) auf der Ignorelist das Paketmanagers, was bei einer bleeding-edge Distro wie Archlinux natürlich halsbrecherisch ist. Im Dezember 2008 musste ich deswegen zwangsweise auf den freien Treiber wechseln.
Im Februar kam dann die Erlösung. Der Fehler wurde behoben. Und zwar genau für höchstens 2 Monate (den 9.3 hab ich nicht getestet). Denn der Catalyst 9.4 produziert wieder den selben Fehler. ES IST ZUM HEULEN!
Die Arch Entwickler beschreiben das ganz passend:
[...] AMD just wanted to break things at will, because their approach is very strange, break some things to improve others.
Wer jetzt wie ich spaßeshalber den 9.4 aus AUR installiert hat, findet sich also ganz unverblühmt ohne grafische Oberfläche wieder. Nun ist die Wiederherstellung des alten Zustandes für all diejenigen, die ihren Paketcache nicht allzu häufig leeren kein Beinbruch. Für alle anderen wirds schwierig.
In /var/cache/pacman/pkg finden sich alte Pakete wieder. Mit pacman -U [paketname] sind die schnell wieder drin und alles geht wieder. Nur das ignorieren von Paketen fängt jetzt wieder an. Es ist eine Farce.
Für all die, die ordentlich sind und den Cache regelmäßig säubern, habe ich die Version 9.2 i686 mal hochgeladen.
siehe Seite Archlinux Pakete
Ansonsten hoffe ich wie viele andere wahrscheinlich darauf, dass AMD sich im Juni, Juli irgendwann da so entscheidet, dem offiziellen Produktsupport auch Folge zu leisten.
Danke AMD!
Update:
Wie man auf Phoronix nachlesen kann wurde im Catalyst 9.4 einfach der Support für R300-500 Chips gedroppt. Das erklärt natürlich einiges und wird mich in absehbarer Zeit auf den freien Treiber festnageln. Wie ich mich schon freue :/.