AMD Catalyst 13.8 Beta1 (fglrx 13.20.5) wurde veröffentlicht und unterstützt Grafikkarten ab Radeon HD 5000 und höher. Das Skript makerpm-amd-13.8-beta1.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.10.
[UPDATE 19.08.2013]
Im AMD Catalyst 13.8 Beta1 ist für den fglrx-Kernelmodul eine neue Funktion für den EFI-Teil 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]
Auf Grund der großen Nachfrage (Blog, E-Mail, Forum, IRC) nach einem makerpm-amd-Skript für die öffentliche Beta-Reihe, habe ich mich nun dazu entschlossen, diese auch mit dem Skript direkt zu unterstützen. Die Begründung ist, dass die letzte Version (AMD Catalyst 13.4) schon etwas älter ist und die Entwicklung des Treiber natürlich nicht aufgehört hat, sondern in Form eines Beta-Treiber als eine Art „Snapshot“ von den AMD-Entwickler zur Verfügung gestellt wird.
Zwischenzeitlich sind ein paar Bugs bekannt geworden, die ein Arbeiten mit dem Treiber unmöglich gemacht haben. Bei einer 3D-Anwendung sind folgende Meldungen aufgetaucht und der Absturz der Anwendung folgte unmittelbar:
libGL error: open uki failed (Operation not permitted) libGL error: reverting to (slow) indirect rendering
Dies ist ein bedauerlicher Fehler des fglrx-Treibers im Zusammenhang mit dem Kernel 3.10. Jedoch habe ich bereits ein Workaround in das Packaging Skript eingebunden, so dass alle 3D-Anwendungen ohne Probleme mit dem Treiber zusammenarbeiten werden.
Zusätzlich habe ich noch das störende Beta-Wasserzeichen in der unteren rechten Ecke entfernt.
Nachfolgende Release Notes von AMD zum AMD Catalyst 13.8 Beta1:
- OpenGL 4.3 support
- Dynamic primary surface resizing
- Kernel 3.10 support
- SLED 11 SP3 support
Folgende Probleme sind im Treiber behoben worden:
- [380355] Source Engine games hang when running on the High Performance ASIC
- [330287] Maya 2012 Paint brush fails to leave trails in real time while painting at some areas when desktop effects enabled
- [345211] Incorrect object picking in Autodesk Maya using UAV selection solver
- [376838] Autodesk Maya fluids display visually very pixelated even at higher resolutions of the fluid voxels
- [376823] Mesh/polygons selection take too long to select and deselect compared to Nvidia in Maya 2011-2013
- [372767] Unigine Heaven 4.0 crash in high performance GPU
- [376891] Enable Optimization on SGPU for 11% Performance gain (unigine heaven)
- [377640] Unigine Heaven OGL stops responding at high resolutions with VSync enabled
- [376842] Left4Dead2 Corruption is observed
- [378135] Left4Dead2 Yellow Screen Bug
- [379940] Left4Dead2 Gamma Correction Corruption
- [381765] Visual artifacts for XvBA playback with CABAC=No
- [380590] The menus are unbelievably slow with vsync disabled for XBMC
- [381120] Kernel 3.10 support
- [379176] “Testing use only” watermark removed
- [356014] AA does not function with desktop effects enabled
Offene Fehler, die bei AMD vorliegen:
- [370421] Quake4 fails to render in game sky properly at certain points with High Performance GPU
- [377432] Unigine Heaven at high resolution and settings will show intermittent corruptions in crossfire
- [380998] System hang when running Counter Strike: Source at low settings on Linux
- [382494] C4Engine show corruptions with GL_ARB_texture_array enabled
Link: AMD Catalyst™ 13.8 LINUX Beta 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:
- Skript: makerpm-amd-13.8-beta1.sh
- SHA1: makerpm-amd-13.8-beta1.sh.sha1
Installationsanleitung:
http://de.opensuse.org/SDB:AMD/ATI-Grafiktreiber#Installation_via_makerpm-amd-Skript
Über das makerpm-amd-Skript
Das Skript makerpm-amd-13.8-beta1.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.8-beta1.sh herunter und erstellt einen Report von eurem System in der Konsole:
su -c 'sh makerpm-amd-13.8-beta1.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.