Die Woche: AMDs Grafiktreiber machen sich
Danke, AMD! Durch euer Engagement für Open-Source-Grafiktreiber habt ihr Linux besser gemacht und Anwendern das Leben erleichtert.
- Thorsten Leemhuis
AMD hat es endlich geschafft: Sechs Jahre, nachdem sich das Unternehmen in die Entwicklung quelloffener Linux-Grafiktreiber eingeschaltet hat, haben die Treiber nun einen Stand erreicht, wo mit aktuellen Grafikkarten alles Wichtige funktioniert. Zwar gibt es immer noch viel zu verbessern – mit der jüngst entstandenen Unterstützung für den Video-Beschleuniger und die Stromspartechniken moderner Radeon-GPUs haben AMDs Entwickler allerdings nun die zwei letzten großen Funktionslücken geschlossen.
Anwender profitieren enorm von den quelloffenen Radeon-Treibern, da Distributionen diese integrieren, vollautomatisch einrichten und auf andere Distributions-Komponenten abstimmen können. Das erleichtert Neulingen die Linux-Installation erheblich; außerdem ist es für Live-Linuxe wie Knoppix wichtig, die dadurch Radeon-Grafikhardware von Haus aus vernünftig ansprechen können. Vor sechs Jahren war das ganz anders: Für die damals aktuellen Grafikkarten der Reihen 1000 und 2000 gab es eine Weile nur AMDs proprietären Linux-Grafiktreiber. Linux-Distributionen und auch Live-Linuxe verwendeten daher generische Treiber, die mehr schlecht als recht liefen – wenn überhaupt.
Offenbar war es nicht nur ein Manpower-Problem, warum AMDs Entwickler manche Features erst jetzt implementieren – Lizenzrecht, Software-Patente und Tauziehen innerhalb von AMD scheinen große Anteil zu haben, warum es so lange gedauert hat. Die Unterstützung für den Video-Beschleuniger beispielsweise war mindestens seit dem Frühling des letzten Jahres in AMDs interner Begutachtungsphase – veröffentlicht wurde der Code diesen April und damit mehr als ein Jahr später. Der Code ging offenbar bei AMD zwischen den Open-Source-Entwicklern und der Rechtsabteilung hin und her, bis sicher war, dass er weder Software-Patente noch Verträge verletzt, die AMD mit anderen Unternehmen abgeschlossen hat.
Zudem hatten die Entwickler der Open-Source-Grafiktreiber hausintern wohl anfangs einen schweren Stand und haben erst deutlich später Zugriff auf Informationen zu neuen Grafikchips bekommen als ihre Kollegen, die an den proprietären Linux-Grafiktreiber arbeiten. Nach Aussagen von AMDs Open-Source-Entwicklern wurde das mittlerweile behoben; sie sollen jetzt sogar einen direkten Draht zu den Hardware-Entwicklern haben. Dadurch können Letztere Features idealerweise so implementieren, dass die quelloffenen Treiber sie nutzen können, ohne gegen Lizenzen zu verstoßen oder Interna preiszugeben.
Daher besteht durchaus Hoffnung, dass es in Zukunft nicht mehr so lange dauert, bis neu vorgestellte Grafikchips voll unterstützt werden. Bei den Southern-Islands-GPUs, die die Radeon-HD-Grafikkarten 7750 bis 7970 mit Ausnahme der 7790 nutzen, hat es eine kleine Ewigkeit gedauert: Diese seit Ende 2011 verkauften Karten werden nämlich erst dieser Tage halbwegs ordentlich unterstützt. Und das auch nur bei Distributionen mit aktueller Ausstattung, da man neue Versionen von Mesa 3D und LLVM braucht, die Linux-Distributionen zumeist nicht über die regulären Updates nachreichen und so zu dem Ruf beitragen, Linux unterstütze nur alte Hardware.
Anlass zur Kritik gibt es aber trotzdem. Aktuelle Grafikchips erreichen mit den quelloffenen Treibern bei weitem nicht die 3D-Performance, die AMDs proprietäre Grafiktreiber aus den Grafikkernen kitzeln. Zudem hinken die Open-Source-Treiber auch beim Funktionsumfang hinterher: Der Southern-Islands-3D-Treiber von Mesa 3D 9.2 unterstützt beispielsweise bislang nur OpenGL 2.1 – einer der fünf Entwickler, die bei AMD an den quelloffenen Linux-Treibern arbeiten, hat aber vor ein paar Tagen Patches vorgestellt, die für OpenGL-3.0-Support sorgen. Die quelloffenen Treiber sind daher auch weiterhin nichts für Spiele, die hohe Anforderungen an die Grafikhardware stellen. Für viele andere Einsatzzwecke sind die Treiber aber mehr als ausreichend.
Die AMD-Entwickler haben bei ihrer Arbeit indes zahlreiche Verbesserungen erarbeitet, die den Linux-Kernel, X.org, Mesa 3D und LLVM besser gemacht haben. Daher an dieser Stelle: Danke, AMD, für die Arbeit an quelloffenen Software nach den Spielregeln der Open-Source-Gemeinde.
Schade nur, dass einige Unternehmensteile offenbar immer noch nicht verstanden haben, wie Open-Source-Entwicklung funktioniert – anders kann ich mir zumindest nicht erklären, wie AMD mit der Schließung des Dresdner Operating System Research Center im letzten Jahr auch den Maintainer des IOMMU-Subsystems im Linux-Kernel rauswerfen konnte. Der Code für Input/Output Memory Management Units ist nämlich ein zentraler Baustein zur Unterstützung der Heterogeneous Systems Architecture (HSA) von AMDs Anfang nächsten Jahres erwarteten Steamroller-Prozessoren. (thl) (thl)