AMD führt eine neue Treiber-Veröffentlichungspolitik ein

AMD hat in ihrem Blog-Artikel die Absicht erklärt, die Veröffentlichungspolitik der Treiber zu ändern. Bisher wird der Linux-Treiber parallel zum Windows-Treiber veröffentlicht. Jedoch dauerte die Veröffentlichung immer etwas, weil der Windows-Treiber erst von Microsoft (WHQL) zertifiziert werden muss. Um die Wartezeit zu überbrücken, geht die Entwicklung des Treibers in einem separaten Zweig weiter. Der Nachteil bei der bisherigen Methode ist, dass sehr oft das Zeitfenster knapp war, um rechtzeitig die gemeldeten Bugs zu beheben. Oft ist dafür nur 2 Wochen Zeit. Die bisherige Nummerierung der Version (Jahr.Monat) wird beibehalten. Jedoch wird nicht jeden Monat ein neuer Treiber herauskommen. So wie diesmal kein AMD Catalyst 12.5 für den Mai herauskommen wird. Dafür möchte man mehr Zeit für die Treiberentwicklung investieren und die Beta-Tester (einschließlich meiner Person) mehr Gelegenheit geben, die Beta-Treiber in einer angemessenen Zeit auf Herz und Nieren zu testen.

Außerdem hat AMD heute auch einen Linux Beta-Treiber (kommende AMD Catalyst 12.6) für die Öffentlichkeit zu Testzwecken bereitgestellt:
http://support.amd.com/us/kbarticles/Pages/AMDCatalyst126beta.aspx
Die interne Treiber-Version lautet 8.98. AMD hat die 8.97 übersprungen, was auch zur neuen Treiber-Veröffentlichungspolitik passen würde. Jedoch muss ich warnen, dass der o.g. Beta-Treiber noch kein Kernel-Patch für den Kernel 3.4.x und höher enthalten ist.

Wie bereits in meinem vorhergehend Artikel angekündigt, hat AMD für die kommende AMD Catalyst 12.6 die Unterstützung für die Grafikkarten-Serie Radeon HD 2000, 3000 und 4000 früher als erwartet eingestellt. Mit der Veröffentlichung von AMD Catalyst 12.6 wird auch der Legacy-Treiber für die älteren Grafikkarten erscheinen. Zu diesem Legacy-Treiber werde ich auch ein makerpm-amd-Skript zur Verfügung stellen und die notwendigen Kernel-Patches einpflegen. So lange die Unterstützung von openSUSE zulässt. AMD wird weiterhin auch im Legacy-Treiber Fehler beheben. Jedoch werden nach bisheriger Annahme keine neuen Features hinzukommen.

openSUSE – proprietären Grafik-Treiber AMD Catalyst 12.4 als RPM installieren

AMD Catalyst 12.4 (fglrx 8.961) wurde veröffentlicht. Das Skript makerpm-amd-12.4.sh steht ab sofort zum Download zur Verfügung und unterstützt 11.4 und 12.1.

[UPDATE 30.05.2012]
ACHTUNG! Wer den Treiber AMD Catalyst 12.4 über den AMD Installer installiert hat, wird unweigerlich Probleme mit dem Kernel 3.4.0 und höher (z.B. aus dem Tumbleweed-Repo) bekommen. Da der Treiber zumindest unter openSUSE nur bis Kernel 3.3.x ausgelegt ist.

Hier einige Beispiele beim Kompilieren eines fglrx Kernelmoduls:

... error: ‘cpu_possible_map’ undeclared (first use in this function) ...
... error: implicit declaration of function '__save_init_fpu' ...

Beim Laden des fglrx Kernelmoduls:

FATAL: Error inserting fglrx (/lib/modules/3.4.0-25-desktop/extra/fglrx.ko): Unknown symbol in module, or unknown parameter (see dmesg)

Die Ausgabe von dmesg:

... fglrx: Unknown symbol old_rsp (err 0)

Das angebotene makerpm-amd-Skript wurde aktualisiert und tauscht das ältere Packaging Skript gegen ein neueres aus. Es enthält einen Patch, so dass das fglrx Kernelmodul auch auf einem Kernel 3.4.x laufen wird.

An dieser Stelle sage ich vielen Dank für die hilfreichen Feedbacks und auch an die AMD Community, die ihre Köpfe zusammen gesteckt haben, um das Problem zu ergründen und um es aus der Welt zu schaffen.
[/UPDATE 30.05.2012]

Das Packaging Skript brauche ich diesmal nicht extra zu pflegen. Die Kernel-Patches wegen den Compilerfehler habe ich bereits für diesen Monat in den AMD Installer eingepflegt. Im nächsten AMD Catalyst werden wir diese Patches nicht mehr brauchen. Da die Patches im fglrx Quellcode von AMD für die kommende Version enthalten sein wird.

Kleine Vorwarnung auf stürmische Zeiten:
AMD plant die Grafikchips R6xx/R7xx nicht mehr im Hauptzweig zu führen. Die Grafikkarten der Serie Radeon HD 2000, 3000 und 4000 sind betroffen (Phoronix hat darüber berichtet). Die letzte unterstützte Version wird voraussichtlich AMD Catalyst 12.7 sein. Jedoch hat AMD eingelenkt und lagert diesen in einen seperaten Zweig aus, um es dort weiterzupflegen. Es bedeutet, dass keine neuen Feature mehr hinzukommen, sondern nur Bugs gefixt werden. openSUSE 11.4 und 12.1 wird weiterhin unterstützt und gepflegt. Die Chancen stehen gut, dass der Treiber bis dahin auch auf einem X-Server 1.12 laufen wird. Die kommende openSUSE Version 12.2 im Juli wird noch auf den X-Server 1.10 aufsetzen, so dass der Treiber theoretisch auch auf dieser openSUSE Version laufen kann. Hierzu werde ich ein seperates makerpm-amd-Skript erstellen, dass diesen Legacy Treiber weiterhin wie gewohnt auf openSUSE 11.4 und 12.1 (ggfs. 12.2) zu installieren und werde auch die nötigen Kernel-Patches versorgen. AMD ist der Meinung, dass die genannten Chipsätze bereits umfangreich vom freien Radeon-Treiber unterstützt wird.

Es wird also Zeit eine neue Grafikkarte zu ordern, um weiterhin die Beta-Treiber vom AMD Catalyst auf openSUSE zu testen. Eine neue Grafikkarte war ohnehin schon letzten Oktober geplant. So werde ich endlich eure Hardware-Spende für die neue Grafikkarte einlösen. ;-)

Downloads:

Installationsanleitung:
http://de.opensuse.org/SDB:AMD/ATI-Grafiktreiber#Installation_via_makerpm-amd-Skript

Über das makerpm-amd-Skript

Das Skript makerpm-amd-12.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 ATI-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 ati-report.txt
-u|–uninstall entfernt AMD Catalyst restlos vom System. Zuerst wird das fglrx-Package (falls vorhanden) vom System deinstalliert. Danach werden vorhandene ATI-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:

  1. Bei der Eingabe der Befehle auf mögliche Tippfehler überprüfen.
  2. Möglicherweise ist die Lösung für das Problem im Wiki vorhanden.
  3. 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-12.4.sh herunter und erstellt einen Report von eurem System in der Konsole:

su -c 'sh makerpm-amd-12.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. :-)

openSUSE – proprietären Grafik-Treiber AMD Catalyst 12.3 als RPM installieren

AMD Catalyst 12.3 (fglrx 8.951) wurde veröffentlicht. Das Skript makerpm-amd-12.3.sh steht ab sofort zum Download zur Verfügung und unterstützt 11.4 und 12.1.

Das Packaging Skript habe ich wegen einem Kompilierungsfehler beim Bau eines fglrx Kernelmodul unter dem Kernel 3.2.8+ und dem Kernel 3.3+ aktualisiert. Auf Grund des sehr knappen Zeitfenster konnten die Patches leider nicht mehr in AMD Catalyst 12.3 einfliessen. Erst im kommenden AMD Catalyst 12.4 werden die Patches von mir für openSUSE verfügbar sein und ab AMD Catalyst 12.5 werden diese auch offiziell für alle anderen Distributionen enthalten sein. Ja, mit dem makerpm-amd-Skript kann ich für euch sehr einfach, bequem und schnell fehlende Patches oder sinnvolle Erweiterungen via Packaging Skript Update nachliefern, wo ihr sonst Monate warten müsst. ;-)

Downloads:

Installationsanleitung:
http://de.opensuse.org/SDB:AMD/ATI-Grafiktreiber#Installation_via_makerpm-amd-Skript

Über das makerpm-amd-Skript

Das Skript makerpm-amd-12.3.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 ATI-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 ati-report.txt
-u|–uninstall entfernt AMD Catalyst restlos vom System. Zuerst wird das fglrx-Package (falls vorhanden) vom System deinstalliert. Danach werden vorhandene ATI-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:

  1. Bei der Eingabe der Befehle auf mögliche Tippfehler überprüfen.
  2. Möglicherweise ist die Lösung für das Problem im Wiki vorhanden.
  3. 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-12.3.sh herunter und erstellt einen Report von eurem System in der Konsole:

su -c 'sh makerpm-amd-12.3.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. :-)

openSUSE – proprietären Grafik-Treiber AMD Catalyst 12.2 als RPM installieren

AMD Catalyst 12.2 (fglrx 8.950) wurde veröffentlicht. Das Skript makerpm-amd-12.2.sh steht ab sofort zum Download zur Verfügung und unterstützt 11.4 und 12.1.

[UPDATE 25.03.2012]
Das nächste Update vom Skript behebt einen weiteren Kompilierungsfehler beim Bauen eines fglrx-Kernelmoduls auf einem Kernel 3.3 und höher.
Im Wortlaut:

error: 'struct thread_struct' has no member named 'has_fpu'

Linus Torvalds hat es geschafft zum Leidwesen aller Kernel-Nutzer die betreffende Stelle im Git-Repo von Linus Torvalds innerhalb von wenigen Tagen für Kernel 3.3+ nochmal umzubauen, so dass der vorhergehende Patch (wegen TS_USEDFPU) vom 09.03.2012 erneut kaputt gegangen ist. Da sage ich doch mal, herzlichen Glückwunsch. Da braucht man sich nicht zu wundern, dass der Quellcode eines Kernelmoduls von Dritten irgendwann unleserlich wird, weil man versucht die gleiche Funktion für alle (halbwegs aktuellen und vor allem betreuten) Kernelversionen abzudecken. :evil:
[/UPDATE 25.03.2012]

[UPDATE 09.03.2012]
Das Packaging Skript wie auch das makerpm-amd-Skript wurden aktualisiert. Es behebt einen Kompilierungsfehler vom fglrx Kernelmodul auf einem 32bit System, weil ab Kernel 3.2.9 und höher die Konstante TS_USEDFPU entfernt und die Funktion dahinter umgeschrieben wurde. Ich habe über den genannten Fehler im Netz recherchiert und eine Information der Kerneländerung im Git-Repo von Linus Torvalds gefunden. Daraus habe ich einen Patch entwickelt und diesen auch an die AMD-Entwickler zwecks Prüfung geschickt. AMD hat sich das Patch angeschaut und hat ihn als akzeptabel eingestuft und nimmt ihn mit meiner Erlaubnis in den fglrx Quellcode auf. Vielen Dank an dieser Stelle nochmal an Rudolfo Patella für den Hinweis auf diese Problematik.
[/UPDATE 09.03.2012]

AMD hat diesmal etwas verspätet den Treiber veröffentlicht. Der Grund lag einzig daran, dass AMD die Treiber-Version 8.94 wegen möglicher Treiber-Probleme mit einigen Grafikkarten übersprungen hat. Außerdem habe ich das Packaging Skript aktualisiert, weil AMD leider meine Änderung nicht in ihren AMD Installer reingepackt hatte. (Vergessen? Kein Zeit? Wer weiß… Zumal die geschlossene AMD Mailingliste auch ausgefallen war. :-( ) Es betrifft einmal den atieventsd.sh Init-Skript. Dort wurde für den Start des Skriptes im Runlevel 3 angegeben und zugleich das XDM (X Window Manager) vorausgesetzt, was IMHO keinen Sinn macht. Andererseits ist das Powermode-Skript (ati-powermode.sh) endgültig rausgeflogen. Da der Treiber bereits den Suspend-Modus unterstützt und kein Hilfsskript mehr benötigt.

Der Treiber unterstützt jetzt auch AMD Radeon HD 7950, HD 7970, HD 7990.

Downloads:

Installationsanleitung:
http://de.opensuse.org/SDB:AMD/ATI-Grafiktreiber#Installation_via_makerpm-ati-Skript

Über das makerpm-amd-Skript

Das Skript makerpm-amd-12.2.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 ATI-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 ati-report.txt
-u|–uninstall entfernt AMD Catalyst restlos vom System. Zuerst wird das fglrx-Package (falls vorhanden) vom System deinstalliert. Danach werden vorhandene ATI-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:

  1. Bei der Eingabe der Befehle auf mögliche Tippfehler überprüfen.
  2. Möglicherweise ist die Lösung für das Problem im Wiki vorhanden.
  3. 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-12.2.sh herunter und erstellt einen Report von eurem System in der Konsole:

su -c 'sh makerpm-amd-12.2.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. :-)

openSUSE 12.1 – Kernel 3.1.9-1.4 im Update-Repo verfügbar

Das erste Kernel-Update für openSUSE 12.1 ist draußen und behebt unzählige Fehler und schließt einige Sicherheitslecks. Es beinhaltet zugleich alle 9 Patchlevel-Versionen vom Upstream, dass noch viele weitere Fehler behebt. Besonders fällt im nachfolgenden ChangeLog aus der RPM auf, dass eine ganze Reihe von Patches zum Dateisystem btrfs enthalten sind.

Das Kernel-Update kann über YaST2 oder per zypper eingespielt werden:

zypper up

Die offizielle Ankündigung zum Kernel-Update werde ich an dieser Stelle nachreichen.

Ein Auszug der Changelog aus der RPM:

  • patches.fixes/drm-radeon-kms-fix-i2c-masks.patch: Add git commit ID.
  • ALSA: hda/realtek – Skip invalid digital out pins (bnc#727348)
  • ALSA: hda – Add missing static ADC tables for ALC269 quirks.
  • patches.fixes/hfs-fix-hfs_find_init-sb-ext_tree-null-ptr-oops.patch: hfs: fix hfs_find_init() sb->ext_tree NULL ptr oops (CVE-2011-2203 bnc#699709)
  • X86: Solve Dell Latitudes do not reboot on x86_64 more generally.
  • sunrpc: wake up SOFTCONN tasks when a connection error happens (bnc#679059)
  • Linux 3.1.1.
  • Update config files.
  • Refresh patches.fixes/scsi-dh-queuedata-accessors.
  • Refresh patches.suse/staging-hv-staging-next-20110829-0327-Staging-hv-storvsc-Add-the-contents-of-hyperv_sto.patch.
  • Delete patches.drivers/alsa-hda-0002-Keep-EAPD-turned-on-for-old-Conexant-chips.
  • Delete patches.drivers/alsa-hda-0003-Fix-ADC-input-amp-handling-for-Cx20549.
  • Delete patches.drivers/alsa-hda-0004-Add-missing-static-ADC-tables-for-ALC269-qu.
  • Delete patches.drivers/alsa-hda-0005-realtek-Skip-invalid-digital-out-pins.
  • Delete patches.fixes/drm-radeon-kms-fix-i2c-masks.patch.
  • Delete patches.suse/staging-hv-staging-next-20111001-0058-staging-hv-fix-a-kernel-warning-in-netvsc_linkstat.patch.
  • Delete patches.suse/staging-hv-staging-next-20111001-0129-Staging-hv-Add-support-for-2-TB-LUN-in-storage-dr.patch.
  • Add package descriptions for ARM kernels
  • Update Patch-mainline headers.
  • ARM: Dont generalize the target. On ARM we can not build generic kernels that work through different generations, such as armv5 and armv7. So we better list them explicitly and not export an rpm that wouldn’t even work on the respective architecture :).
  • ARM: Use zImage, not vmlinux. On ARM we use the arch/arm/boot/zImage file similar to x86 to boot systems. Put that into the rpm as vmlinuz instead of the vmlinux ELF binary.
  • Linux 3.1.2.
  • drm/radeon/kms: fix up gpio i2c mask bits for r4xx (bnc#691052).
  • ARM: create uImage, not zImage, so we can boot with u-boot
  • patches.fixes/drm-radeon-kms-fix-up-gpio-i2c-mask-bits-for-r4xx.patch: Add missing git-commit.
  • rpm/kernel-binary.spec.in: Do not have a separate make invocation for s390 and the rest.
  • rpm/try-disable-staging-driver: Script to disable failing staging driver and restart make.
  • Linux 3.1.3.
  • intel_idle: Fix kvm -cpu host Null pointer enter function issue (bnc#726296)
  • Build the kotd against 12.1, not Factory.
  • rpm/kernel-binary.spec.in: Ignore staging failures only in vanilla only branches.
  • Fix kernel-source spec to give ownership of the /usr/src/linux link to kernel-devel. kernel-source depends on kernel-devel, so this is correct.
  • Linux 3.1.4.
  • rpm/kernel-binary.spec.in: Make the -base package conflict with the main one.
  • mm: Ensure that pfn_valid is called once per pageblock when reserving pageblocks (bnc#731261, bnc#730731)
  • Import 12.1 GA kabi files.
  • kabi/severities: Ignore changes to usb, nfs and some drivers for now.
  • kabi: fix jiffies_to_clock_t breakage.
  • Fix typo: Base package should not conflict with itself but with main package.
  • Use GPL-2.0 as license tag (from http://spdx.org/licenses/) Only have one licenses line per file, the rest was just duplicated.
  • rpm/kernel-binary.spec.in: Do not package the vmlinux image in the devel package.
  • Adjust kernel-source.rpmlintrc for Linux 3.x
  • Use versioned provides/obsoletes.
  • Do not show rpmlint warnings.
  • No self-obsoletions.
  • Linux 3.1.5.
  • Delete patches.fixes/drm-radeon-kms-fix-up-gpio-i2c-mask-bits-for-r4xx.patch.
  • x86, x2apic: Enable the bios request for x2apic optout.
  • Revert „USB: fix ehci alignment error“.
  • kabi/severities: Check drivers/usb again
  • Silence warning about dangling symlink and vdsos
  • Silence missing defattr warning.
  • batman-adv: Only write requested number of byte to user buffer (bnc#736149 CVE-2011-4604)
  • batman-adv: bat_socket_read missing checks (bnc#736149 CVE-2011-4604)
  • rpm/kernel-source.spec.in, rpm/mkspec: Fix linux tarball URL
  • rpm/kernel-source.spec.in, rpm/mkspec: Fix tarball URL for -rcX and do not generate any URL for linux-next and vanilla snapshots.
  • btrfs: Introduce btrfs_get_maps_dev() (bnc#672923)
  • vfs: allow /proc/pid/maps to return a custom device (bnc#672923)
  • Btrfs: make lzo the default compression scheme (FATE#306586)
  • btrfs: add new ioctl to determine size of compressed file (FATE#306586).
  • Sector Size check during Mount (bnc#724620)
  • Btrfs: rewrite btrfs_trim_block_group() (FATE#306586).
  • btrfs: allow cross-subvolume file clone (bnc#698540)
  • Btrfs: fix leaked space in truncate (FATE#306586).
  • Btrfs: fix how we do delalloc reservations and how we free reservations on error (FATE#306586).
  • Btrfs: deal with enospc from dirtying inodes properly (FATE#306586).
  • Btrfs: fix num_workers_starting bug and other bugs in async thread (FATE#306586).
  • Btrfs: add allocator tracepoints (FATE#306586).
  • Btrfs: fix btrfs_end_bio to deal with write errors to a single mirror (FATE#306586).
  • Btrfs: drop spin lock when memory alloc fails (FATE#306586).
  • Btrfs: check if the to-be-added device is writable (FATE#306586).
  • Btrfs: try cluster but don’t advance in search list (FATE#306586).
  • Btrfs: try to allocate from cluster even at LOOP_NO_EMPTY_SIZE (FATE#306586).
  • Btrfs: fix meta data raid-repair merge problem (FATE#306586).
  • Btrfs: skip allocation attempt from empty cluster (FATE#306586).
  • Btrfs: skip block groups without enough space for a cluster (FATE#306586).
  • Btrfs: start search for new cluster at the beginning (FATE#306586).
  • Btrfs: reset cluster’s max_size when creating bitmap (FATE#306586).
  • Btrfs: initialize new bitmaps‘ list (FATE#306586).
  • Btrfs: fix oops when calling statfs on readonly device (FATE#306586).
  • Btrfs: Don’t error on resizing FS to same size (FATE#306586).
  • Btrfs: fix deadlock on metadata reservation when evicting a inode (FATE#306586).
  • btrfs scrub: handle -ENOMEM from init_ipath() (FATE#306586).
  • Btrfs: remove free-space-cache.c WARN during log replay (FATE#306586).
  • Btrfs: sectorsize align offsets in fiemap (FATE#306586).
  • Btrfs: clear pages dirty for io and set them extent mapped (FATE#306586).
  • Btrfs: wait on caching if we’re loading the free space cache (FATE#306586).
  • Btrfs: prefix resize related printks with btrfs: (FATE#306586).
  • btrfs: fix stat blocks accounting (FATE#306586).
  • Btrfs: avoid unnecessary bitmap search for cluster setup (FATE#306586).
  • Btrfs: fix to search one more bitmap for cluster setup (FATE#306586).
  • btrfs: mirror_num should be int, not u64 (FATE#306586).
  • btrfs: Fix up 32/64-bit compatibility for new ioctls (FATE#306586).
  • Btrfs: fix barrier flushes (FATE#306586).
  • Btrfs: fix tree corruption after multi-thread snapshots and inode_cache flush (FATE#306586).
  • btrfs: rename the option to nospace_cache (FATE#306586).
  • Btrfs: handle bio_add_page failure gracefully in scrub (FATE#306586).
  • Btrfs: fix deadlock caused by the race between relocation (FATE#306586).
  • Btrfs: only map pages if we know we need them when reading the space cache (FATE#306586).
  • Btrfs: fix orphan backref nodes (FATE#306586).
  • Btrfs: Abstract similar code for btrfs_block_rsv_add{, _noflush} (FATE#306586).
  • Btrfs: fix unreleased path in btrfs_orphan_cleanup() (FATE#306586).
  • Btrfs: fix no reserved space for writing out inode cache (FATE#306586).
  • Btrfs: fix nocow when deleting the item (FATE#306586).
  • Btrfs: tweak the delayed inode reservations again (FATE#306586).
  • Btrfs: rework error handling in btrfs_mount() (FATE#306586).
  • Btrfs: close devices on all error paths in open_ctree() (FATE#306586).
  • Btrfs: avoid null dereference and leaks when bailing from open_ctree() (FATE#306586).
  • Btrfs: fix subvol_name leak on error in btrfs_mount() (FATE#306586)
  • Btrfs: fix memory leak in btrfs_parse_early_options() (FATE#306586).
  • Btrfs: fix our reservations for updating an inode when completing io (FATE#306586).
  • Btrfs: fix oops on NULL trans handle in btrfs_truncate (FATE#306586).
  • btrfs: fix double-free ‚tree_root‘ in ‚btrfs_mount()‘ (FATE#306586).
  • Btrfs: check for a null fs root when writing to the backup root log (FATE#306586).
  • Btrfs: fix race during transaction joins (FATE#306586).
  • Btrfs: fix a potential btrfs_bio leak on scrub fixups (FATE#306586).
  • Btrfs: stop leaking btrfs_bios on readahead (FATE#306586).
  • Btrfs: stop the readahead threads on failed mount (FATE#306586).
  • Btrfs: fix extent_buffer leak in the metadata IO error handling (FATE#306586).
  • Btrfs: fix the new inspection ioctls for 32 bit compat (FATE#306586).
  • btrfs: integrating raid-repair and scrub-fixup-nodatasum (FATE#306586).
  • btrfs: Moved repair code from inode.c to extent_io.c (FATE#306586).
  • btrfs: Put mirror_num in bi_bdev (FATE#306586).
  • btrfs: Do not use bio->bi_bdev after submission (FATE#306586).
  • btrfs: btrfs_multi_bio replaced with btrfs_bio (FATE#306586).
  • btrfs: new ioctls to do logical->inode and inode->path resolving (FATE#306586).
  • btrfs scrub: add fixup code for errors on nodatasum files (FATE#306586).
  • btrfs scrub: use int for mirror_num, not u64 (FATE#306586).
  • btrfs: add mirror_num to extent_read_full_page (FATE#306586).
  • btrfs scrub: bugfix: mirror_num off by one (FATE#306586).
  • btrfs scrub: print paths of corrupted files (FATE#306586).
  • btrfs scrub: added unverified_errors (FATE#306586).
  • btrfs: added helper functions to iterate backrefs (FATE#306586).
  • btrfs: use readahead API for scrub (FATE#306586).
  • btrfs: hooks for readahead (FATE#306586).
  • btrfs: initial readahead code and prototypes (FATE#306586).
  • btrfs: state information for readahead (FATE#306586).
  • btrfs: add READAHEAD extent buffer flag (FATE#306586).
  • btrfs: add an extra wait mode to read_extent_buffer_pages (FATE#306586).
  • Btrfs: fix delayed insertion reservation (FATE#306586).
  • Btrfs: ClearPageError during writepage and clean_tree_block (FATE#306586).
  • Btrfs: be smarter about committing the transaction in reserve_metadata_bytes (FATE#306586).
  • Btrfs: make a delayed_block_rsv for the delayed item insertion (FATE#306586).
  • Btrfs: add a log of past tree roots (FATE#306586).
  • btrfs: separate superblock items out of fs_info (FATE#306586).
  • Btrfs: use the global reserve when truncating the free space cache inode (FATE#306586).
  • Btrfs: release metadata from global reserve if we have to fallback for unlink (FATE#306586).
  • Btrfs: make sure to flush queued bios if write_cache_pages waits (FATE#306586).
  • Btrfs: fix extent pinning bugs in the tree log (FATE#306586).
  • Btrfs: make sure btrfs_remove_free_space doesn’t leak EAGAIN (FATE#306586).
  • Btrfs: don’t wait as long for more batches during SSD log commit (FATE#306586).
  • btrfs: ratelimit WARN_ON in use_block_rsv (FATE#306586).
  • btrfs: do not allow mounting non-subvolumes via subvol option (FATE#306586).
  • Btrfs: close all bdevs on mount failure (FATE#306586).
  • Btrfs: fix a bug when opening seed devices (FATE#306586).
  • btrfs: fix oops on failure path (FATE#306586).
  • Btrfs: fix race between multi-task space allocation and caching space (FATE#306586).
  • Btrfs: fix return value of btrfs_get_acl() (FATE#306586).
  • Btrfs: pass the correct root to lookup_free_space_inode() (FATE#306586).
  • Btrfs: do not set EXTENT_DIRTY along with EXTENT_DELALLOC (FATE#306586).
  • Btrfs: fix direct-io vs nodatacow (FATE#306586).
  • Btrfs: remove BUG_ON() in compress_file_range() (FATE#306586).
  • Btrfs: fix array bound checking (FATE#306586).
  • btrfs: return EINVAL if start > total_bytes in fitrim ioctl (FATE#306586).
  • Btrfs: honor extent thresh during defragmentation (FATE#306586).
  • btrfs: trivial fix, a potential memory leak in btrfs_parse_early_options() (FATE#306586).
  • Btrfs: fix wrong max_to_defrag in btrfs_defrag_file() (FATE#306586).
  • Btrfs: use i_size_read() in btrfs_defrag_file() (FATE#306586).
  • Btrfs: fix defragmentation regression (FATE#306586).
  • btrfs: fix memory leak in btrfs_defrag_file (FATE#306586).
  • btrfs: check file extent backref offset underflow (FATE#306586).
  • Btrfs: don’t flush the cache inode before writing it (FATE#306586).
  • Btrfs: if we have a lot of pinned space, commit the transaction (FATE#306586).
  • Btrfs: seperate out btrfs_block_rsv_check out into 2 different functions (FATE#306586).
  • Btrfs: reserve some space for an orphan item when unlinking (FATE#306586).
  • Btrfs: release trans metadata bytes before flushing delayed refs (FATE#306586).
  • Btrfs: allow shrink_delalloc flush the needed reclaimed pages (FATE#306586).
  • Btrfs: wait for ordered extents if we’re in trouble when shrinking delalloc (FATE#306586).
  • Btrfs: don’t check bytes_pinned to determine if we should commit the transaction (FATE#306586).
  • Btrfs: fix regression in re-setting a large xattr (FATE#306586).
  • Btrfs: fix the amount of space reserved for unlink (FATE#306586).
  • Btrfs: wait for ordered extents if we didn’t reclaim enough (FATE#306586).
  • Btrfs: inline checksums into the disk free space cache (FATE#306586).
  • Btrfs: take overflow into account in reserving space (FATE#306586).
  • Btrfs: check the return value of filemap_write_and_wait in the space cache (FATE#306586).
  • Btrfs: add a io_ctl struct and helpers for dealing with the space cache (FATE#306586).
  • Btrfs: don’t skip writing out a empty block groups cache (FATE#306586).
  • Btrfs: introduce mount option no_space_cache (FATE#306586).
  • Btrfs: only inherit btrfs specific flags when creating files (FATE#306586).
  • Btrfs: allow us to overcommit our enospc reservations (FATE#306586).
  • Btrfs: break out of orphan cleanup if we can’t make progress (FATE#306586).
  • Btrfs: use the global reserve as a backup for deleting inodes (FATE#306586).
  • Btrfs: stop using write_one_page (FATE#306586).
  • Btrfs: introduce convert_extent_bit (FATE#306586).
  • Btrfs: check unused against how much space we actually want (FATE#306586).
  • Btrfs: fix orphan cleanup regression (FATE#306586).
  • Btrfs: use the inode’s mapping mask for allocating pages (FATE#306586).
  • Btrfs: delay iput when deleting a block group (FATE#306586).
  • Btrfs: make sure to unset trans->block_rsv before running delayed refs (FATE#306586).
  • Btrfs: stop passing a trans handle all around the reservation code (FATE#306586).
  • Btrfs: don’t get the block_rsv in btrfs_free_tree_block (FATE#306586).
  • Btrfs: use the transactions block_rsv for the csum root (FATE#306586).
  • Btrfs: handle enospc accounting for free space inodes (FATE#306586).
  • Btrfs: put the block group cache after we commit the super (FATE#306586).
  • Btrfs: set truncate block rsv’s size (FATE#306586).
  • Btrfs: don’t increase the block_rsv’s size when emergency allocating space (FATE#306586).
  • Btrfs: fix space leak when we fail to make an allocation (FATE#306586).
  • Btrfs: fix call to btrfs_search_slot in free space cache (FATE#306586).
  • Btrfs: allow callers to specify if flushing can occur for btrfs_block_rsv_check (FATE#306586).
  • Btrfs: reduce the amount of space needed for truncates (FATE#306586).
  • Btrfs: only reserve space in fallocate if we have to do a preallocate (FATE#306586).
  • Btrfs: kill btrfs_truncate_reserve_metadata (FATE#306586).
  • Btrfs: optimize how we account for space in truncate (FATE#306586).
  • Btrfs: don’t try to commit in btrfs_block_rsv_check (FATE#306586).
  • Btrfs: kill unused parts of block_rsv (FATE#306586).
  • Btrfs: ratelimit the generation printk for the free space cache (FATE#306586).
  • Btrfs: fix how we reserve space for deleting inodes (FATE#306586).
  • Btrfs: use d_obtain_alias when mounting subvol/subvolid (FATE#306586).
  • Btrfs: kill reserved_bytes in inode (FATE#306586).
  • Btrfs: move stuff around in btrfs_inode to get better packing (FATE#306586).
  • Linux 3.1.6.
  • Revert „clocksource: Avoid selecting mult values that might overflow when adjusted“.
  • Revert „inet: add a redirect generation id in inetpeer“.
  • Delete patches.fixes/hfs-fix-hfs_find_init-sb-ext_tree-null-ptr-oops.patch.
  • Delete patches.fixes/mm-Ensure-that-pfn_valid-is-called-once-per-pagebloc.patch.
  • net: Add a flow_cache_flush_deferred function (bnc#737624)
  • btrfs: use correct device for maps (bnc#672923).
  • Delete patches.suse/0001-vfs-allow-proc-pid-maps-to-return-a-custom-device.patch.
  • Delete patches.suse/0002-btrfs-Introduce-btrfs_get_maps_dev.patch.
  • Linux 3.1.7.
  • Update Xen patches to 3.1.7.
  • patches.xen/1124-x86-undo-limit-pages.patch: x86: undo_limit_pages() must reset page count.
  • patches.xen/1126-netback-invalidation-index.patch: netback: use correct index for invalidation in netbk_tx_check_mop().
  • patches.xen/1134-blktap-locking.patch: blktap: fix locking (again) (bnc#724734)
  • patches.xen/1135-blktap-map-once.patch: blktap: ensure mmap() is called only once per region.
  • Delete patches.xen/xencons-tty_mutex.patch.
  • staging: hv: hv_mouse: use KBUILD_MODNAME as drivername.
  • Staging: hv: storvsc: Cleanup error handling in the probe function.
  • Staging: hv: storvsc: Fix a bug in create_bounce_buffer() (bnc#724616)
  • Staging: hv: storvsc: Fix checkpatch warnings.
  • Staging: hv: storvsc: Fix error handling storvsc_host_reset().
  • Staging: hv: storvsc: Fixup the error when processing SET_WINDOW command.
  • Staging: hv: storvsc: Get rid of an unnecessary forward declaration.
  • Staging: hv: storvsc: Implement per device memory pools.
  • Staging: hv: storvsc: remove last usage of DPRINT_WARN.
  • Staging: hv: storvsc: Support hot add of scsi disks.
  • Staging: hv: storvsc: Support hot-removing of scsi devices.
  • Staging: hv: storvsc: Upgrade the vmstor protocol version.
  • Staging: hv: storvsc: Use mempools to allocate struct storvsc_cmd_request.
  • Staging: hv: storvsc: Use the accessor function shost_priv().
  • Staging: hv: storvsc: use the macro KBUILD_MODNAME.
  • Staging: hv: storvsc: Use the unlocked version queuecommand.
  • Staging: hv: storvsc: Cleanup storvsc_device_alloc() (bnc#724616)
  • Staging: hv: storvsc: Disable clustering (bnc#724616)
  • Staging: hv: storvsc: Fix a bug in copy_from_bounce_buffer() (bnc#724616)
  • Staging: hv: storvsc: Fix a bug in storvsc_command_completion() (bnc#724616)
  • Refresh patches.suse/staging-hv-storvsc-module-name.patch.
  • Linux 3.1.8.
  • Refresh patches.kabi/revert-inet-add-a-redirect-generation-id-in-inetpeer.patch.
  • Delete patches.fixes/net-Add-a-flow_cache_flush_deferred-function.patch.
  • Reintroduce removed blk_init_allocated_queue_node.
  • ALSA: hda – Return the error from get_wcaps_type() for invalid NIDs (bnc#740118)
  • Linux 3.1.9.
  • kABI: struct urb fixup.
  • Delete patches.fixes/reiserfs-force-inode-evictions-before-umount-to-avoid-crash.
  • kABI: struct inet_peer fixup.
  • Refresh patches.kabi/revert-clocksource-Avoid-selecting-mult-values-that-.patch.
  • Delete patches.kabi/revert-inet-add-a-redirect-generation-id-in-inetpeer.patch.
  • fsnotify: don’t BUG in fsnotify_destroy_mark() (bnc#689860)
  • patches.fixes/proc-enable-writing-to-proc-pid-mem-revert.patch: proc: enable writing to /proc/pid/mem (bnc#742279 CVE-2012-0056)
  • Fix auto-mic of ALC268 static quirks (bnc#742322)
  • rpm/kernel-binary.spec.in: Remove the conflict between the main and base package again (bnc#743608)

Die folgenden Kernel-Changelogs sind die offiziellen Berichte zu den Änderungen von 3.1.1 bis einschließlich 3.1.9 vom Upstream kernel.org:
ChangeLog-3.1.1
ChangeLog-3.1.2
ChangeLog-3.1.3
ChangeLog-3.1.4
ChangeLog-3.1.5
ChangeLog-3.1.6
ChangeLog-3.1.7
ChangeLog-3.1.8
ChangeLog-3.1.9

Hinweis für Besitzer einer AMD-Grafikkarte, die AMD Catalyst auf ihrem openSUSE-System installiert haben:
Das fglrx-Kernelmodul muss nicht manuell gebaut werden. Dies geschieht nach einem Neustart vollautomatisch. ;-)

Weitere Informationen: openSUSE – proprietären Grafik-Treiber AMD Catalyst 12.1 als RPM installieren