AMD Catalyst 13.4 (fglrx 12.104) wurde veröffentlicht und unterstützt Grafikkarten ab Radeon HD 5000 und höher. Das Skript makerpm-amd-13.4.sh steht ab sofort zum Download zur Verfügung und unterstützt openSUSE 11.4, 12.1, 12.2, 12.3 sowie bis Kernel 3.8.
[UPDATE 19.08.2013]
Durch den Patch von Kolasa ist eine neue Funktion für den EFI-Teil für den fglrx-Kernelmodul hereingekommen. Dadurch wurde ich auf einen Kompilierfehler aufmerksam gemacht (Vielen Dank an dieser Stelle an Martin Schröder und Torsten). Der Fehler beim Kompilieren „error: called object ‘efi_enabled’ is not a function“ ist nun mit dem neuesten Packaging Skript behoben.
Nun zu den technischen Details:
Die o.g. Fehlermeldung beim Kompilieren des fglrx-Kernelmodul für den Kernel 3.4.47 unter openSUSE 12.2 erschließt sich mir im ersten Moment nicht. Erst als ich openSUSE 12.2 auf einer separaten Partition installiert habe und dann Nachforschungen angestellt habe, kam zu dem Fehler ungeheuerliches zum Vorschein.
Zuerst ist im Kernelcode 3.4.47 ein EFI-Code reingepatcht worden, welches eher dem EFI-Code in neueren Kernelcodes zu finden ist. Dann wurde ein EFI-Patch (kabi-re-add-efi_enabled-variable.patch) von Jiri Slaby (SUSE Niederlassung in Tschechien) angewendet. Der genannte Patch baut quasi die vorhandene Funktion efi_enabled(EFI_BOOT) zu efi_enabled_f(EFI_BOOT) um und ersetzt dann efi_enabled als Variable, um anscheinend das alte Verhalten wegen eines Patch für die Samsung-Laptops wiederherzustellen.
Da EFI_BOOT aber immer noch definiert ist und dieser nur im neuen EFI-Code vorkommt, wird der Patch an der Stelle logischerweise Probleme machen. Das wird nicht nur beim Kompilieren des fglrx-Kernelmodul krachen, sondern woanders auch. Richtig wäre es gewesen, wenn man konsequenterweise EFI_BOOT auch umbenannt hätte. Ein undeklariertes EFI_BOOT wird im entsprechend Code als Variable efi_enabled andernfalls über die Funktion efi_enabled(EFI_BOOT) ausgelesen.
Wieso zum Geier müssen einige Leute im Kernel nur wegen einem Samsung-Laptop mit dem total kaputten UEFI herumpfuschen?! Hier hat der Hersteller die Sorgfaltspflicht ein BIOS-Update herauszubringen und nicht irgendwelche Kernel-Entwickler, die dadurch mehr kaputt machen als reparieren können!!! Ein Bugreport geht auch nochmal separat an die Kernel-Maintainer von openSUSE heraus, um den o.g. „re-add-efi_enabled-variable“-Patch ordentlich machen zu lassen. So kann es definitiv nicht bleiben.
[/UPDATE 19.08.2013]
[UPDATE 04.08.2013]
Das Patch von mir habe ich gegen das Patch von Kolasa aus dem GitHub ausgetauscht. Da der Maintainer noch weitere sinnvolle Bugfixes eingebracht hat. Ab sofort wird nun bis Kernel 3.10 unterstützt. Das Packaging Skript habe ich hingehend erneuert. An dieser Stelle vielen Dank an Paolo Marzari für den Hinweis und Kolasa für die Änderungen am fglrx-Code.
[/UPDATE 04.08.2013]
AMD hat erfreulicherweise wieder eine Release Notes für Linux veröffentlicht.
Neu bei dem Treiber ist:
- OpenCL Console Mode Support
- Kernel 3.7 and 3.8 Support
Folgende Probleme sind im Treiber behoben worden:
- [370253]: Serious Sam 3 – Color of Objects turning into be red when enabling separate shader object
- [371937]: Team Fortress 2 – Screen black issue while entering the game screen under cinnamon desktop environment
- [371374]: Team Fortress 2 – Screen random flickering and corruptions in Lakeside Map
- [354777]: Maya 2012 Benchmark – Benchmark falling out of TIMMO
- [372137]: NX8.0 – Severe flickering is observed while playing animation in manufacturing mode
- [373561]: Mari crashes at startup on Ubuntu only
- [374371]: Severe corruption occurs in Unigine Heaven 4.0 on Saturn XT when running at extremely high settings
- [373787]: Softimage fails to refresh properly
- [372918]: Maxon – Wrong shading when UBOs are used to store light parameters
Offene Fehler, die bei AMD vorliegen:
- [373836]: Vsync application shows corruption filed
- [373772]: Team Fortress 2 – Game could not be loaded in “High Performance GPU” mode
- [373909]: Driver install via .deb package will cause OS desktop corruption
- [371372]: SCQA – Anti-Aliasing does not work
Link: AMD Catalyst™ 13.4 Proprietary Linux® Graphics Driver Release Notes
Eine kleine Bitte habe ich: Wenn irgendwelche Probleme mit dem Treiber auftauchen, scheut euch nicht mir zu berichten (Ich nehme deutsche und englische Bugreports gerne entgegen). Ich werde versuchen, soweit es mir möglich ist, den gemeldeten Fehler zu reproduzieren. Zusammen mit den nötigen System-Informationen werde ich mich direkt an die richtige Stelle bei AMD wenden, um den Bug in der nächsten Treiber-Version beheben zu lassen. Danke schön.
Für Benutzer älterer AMD Grafikkarten (Radeon HD Serie 2000 – 4000) wird dringend die Installation dieses Treibers abgeraten. AMD hat einen Legacy-Treiber zur Verfügung gestellt. Mehr Informationen zum Legacy Treiber: http://www.sebastian-siebert.de/2013/01/25/opensuse-amd-catalyst-13-1-legacy-treiber-als-rpm-installieren/
Downloads:
Installationsanleitung:
http://de.opensuse.org/SDB:AMD/ATI-Grafiktreiber#Installation_via_makerpm-amd-Skript
Über das makerpm-amd-Skript
Das Skript makerpm-amd-13.4.sh ist sehr mächtig, robust und läuft vollautomatisch. Der AMD-Installer wird automatisch heruntergeladen, falls er nicht schon im Verzeichnis liegt. Zudem wird geprüft, ob die Grafikkarte vom Treiber unterstützt wird. Auf Wunsch wird nach dem Bau des RPM-Packages der fglrx-Treiber installiert.
Folgende Argumente können dem Skript übergeben werden:
-b |
Nur das RPM-Package bauen (Standard) |
-c <type> |
Nur X-Server konfigurieren. Monitor-Typ: single = 1 Monitor, dual = 2 Monitore (Wichtig: Nur ausführen, wenn es Probleme mit der Standardkonfiguration des X-Servers auftreten) |
-d |
Nur den AMD-Installer downloaden |
-i |
Das RPM-Package bauen und installieren bzw. updaten |
-kms <yes|no> |
Kernel-Mode-Setting (KMS) aktivieren oder deaktivieren |
-nohw |
Hardware-Erkennung explizit ausschalten. (z.B. beim Bau in einer VM) |
-old2ddriver <yes|no> |
den alten 2D-Treiber aktivieren oder deaktivieren |
-r|–report |
erstellt ein Report und speichert diese in eine Datei namens amd-report.txt |
-u|–uninstall |
entfernt AMD Catalyst restlos vom System. Zuerst wird das fglrx-Package (falls vorhanden) vom System deinstalliert. Danach werden vorhandene AMD-Dateien und -Verzeichnisse entfernt. Hinweis: Falls das Rebuild-Skript installiert wurde, wird es ebenfalls entfernt und das Initskript /etc/init.d/xdm wiederhergestellt. |
-ur|–uploadreport |
wie Option –report nur zusätzlich wird der Report auf einem NoPaste-Service sprunge.us hochgeladen und gibt bei Erfolg den Link zurück. |
-h |
Die Hilfe anzeigen lassen |
-V |
Version des Skript anzeigen |
Hilfe, es funktioniert nicht!
Bitte haltet folgende Regel ein:
- Bei der Eingabe der Befehle auf mögliche Tippfehler überprüfen.
- Möglicherweise ist die Lösung für das Problem im Wiki vorhanden.
- In Kommentaren lesen, ob eine Lösung zu einem Problem bereits existiert.
Wenn keines der o.g. Regel greift, dann könnt ihr mit eurem Anliegen an mich wenden. Damit ich euch helfen kann, müsst ihr erst vorarbeiten. Bitte ladet euch das Skript makerpm-amd-13.4.sh herunter und erstellt einen Report von eurem System in der Konsole:
su -c 'sh makerpm-amd-13.4.sh -ur'
Das Skript lädt das Report auf sprunge.us hoch und gibt anschließend einen Link aus. Diesen Link postet ihr in eurem Kommentar zusammen mit einer Beschreibung zu eurem Problem an mich. Ich werde mir euren Report anschauen und Hilfestellung geben, wo evtl. das Problem liegen könnte.
Feedbacks sind wie immer willkommen.