zurück zum Artikel

Kernel-Log: Treiber für neue Radeon-GPUs

| Thorsten Leemhuis

Der Kernel wird bald einige Grafikkerne von AMD unterstützten, die bei neuen Radeon-Grafikkarten und einigen kommenden Prozessoren eingesetzt werden. Bei Systemen mit Intel-Grafik kann der Ruhezustand zu Speicherverfälschungen führen. Die Entwicklung von Linux 3.4 ist angelaufen.

AMD-Entwickler Alex Deucher hat eine Patch-Sammlung veröffentlicht [1], die die DRM- und KMS-Treiber des Linux-Kernels um Unterstützung für die Grafikkerne der Familien "Southern Islands" (SI) und "Trinity" (TN) erweitert. Zur SI-Generation gehören [2] die Grafikchips der Mittelklasse- und High-End-Modelle Radeon HD 7900 und 7700, die AMD kurz vor Weihnachten [3] und Mitte Februar [4] eingeführt hat; beim Trinity [5] handelt es sich um einen Prozessor [6] mit integrierten Grafikkern, der vermutlich in den nächsten Wochen [7] vorgestellt wird und die bisherigen Llano-Prozessoren aus AMDs Serie A beerben sollen.

Deucher hat angekündigt, Treiber für Mesa 3D und X.org folgen zu lassen, die auf die DRM/KMS-Unterstützung im Kernel aufbauen; wann die fertig sein sollen, sagte er allerdings nicht. Alles zur 2D- und 3D-Unterstützung der Trinity-CPU Aruba ist bereits in Mesa [8] und den X.org-Treiber Radeon [9] eingezogen – die nötigen Anpassungen waren offensichtlich einfach, da der bei Trinity eingesetzte Grafikkern eng mit älteren verwandt ist, die Mesa 3D und X.org schon länger unterstützen. Die Entwicklung eines quelloffenen 3D-Treibers für SI-Grafikkerne soll allerdings noch etwas Zeit brauchen.

Es ist unklar, ob die DRM/KMS-Unterstützung für die neuen Grafikkerne noch in den Linux-Kernel 3.4 einzieht. Normalerweise sollen solch große Änderungen wie die von Deucher bereits im Entwicklungszweig Linux-Next enthalten sein, bevor mit der Arbeit an einer neuen Kernel-Version begonnen wird, damit größere Änderungen nicht ohne Tests in linux-next im Merge Window in den Kernel eingehen; letzteres war bei den Grafiktreibern aber bereits einige Male der Fall, daher ist es recht wahrscheinlich, dass die jetzt veröffentlichten Patches in Kürze in den Hauptentwicklungszweig [10] eingehen und noch Bestandteil von Linux 3.4 werden, das Ende Mai erscheinen dürfte.

Mangels Open-Source-Treiber richten Linux-Distributionen für SI-Grafikkerne bislang die nur wenige Grundfunktionen bietenden Standard-Vesa-Treiber ein. AMDs proprietärer Treiber unterstützt den Grafikchip der Radeon HD 7970 bereits seit der Einführung dieser Karten.

Nach der Freigabe von Linux 3.3 [11] Anfang der Woche [12] sind die ersten Fehler aufgetaucht, die die Kernel-Hacker [13] bei der Entwicklung übersehen haben – so soll etwa die DVB-S-Unterstützung der WinTV Nova HD-S2 und ähnlichen Karten gestört sein. Das lässt sich durch eine kleinen Patch [14] korrigieren, der vermutlich in die Stable-Kernel auf Basis von Linux 3.3 einziehen dürfte.

Derweil suchen einige Kernel-Entwicklern nach der Ursache eines offenbar schon seit einigen Kernel-Versionen auftretenden Fehlers, der nach dem Aufwachen aus dem Ruhezustand (Hibernate/Software Suspend) Speicherbereiche verfälscht. Offenbar ist der für neuere Intel-Grafikkerne zuständige DRM/KMS-Treiber i915 oder die von ihm angesteuerte Hardware schuld (1 [15], 2 [16]); je nach Zeitpunkt und Verwendung der modifizierten Speicherbereiche kann das zu Abstürzen, Fehlberechnungen oder beschädigten Daten führen. Einige Hintergründe erläutert Fedora-Entwickler Dave Jones in einem Blog-Eintrag [17]. Jones hat sich mit dem Problem näher auseinander gesetzt, weil mehrere Fedora-Anwender Speicherverfälschungen nach dem Ruhezustand gemeldet haben; das Problem tritt offenbar auch bei anderen Distributionen auf und besteht möglicherweise schon seit Mitte 2011.

Auch der immer mal wieder über die Probleme rund um ACPI und (U)EFI bloggende und twitternde [18] Kernel-Hacker Matthew Garrett hatte kürzlich mit Speicherverfälschungen zu kämpfen und hat seine Leidensweg im Blog-Eintrag "More ways for firmware to screw you [19]" beschrieben. Wer sich nicht bis zur Pointe vorarbeiten will, hier der Spoiler: Verursacher der Speicherverfälschungen, die zu den beobachteten Boot-Problemen auf einem Mac führten, war ein EFI-Treiber, der den WLAN-Chip aktivierte; manchmal modifizierte der bis zum Laden des Linux-WLAN-Treibers noch per DMA Arbeitsspeicherbereiche, obwohl der Linux-Kernel eigentlich die volle Kontrolle über das System erhalten hatte und diese Bereiche schon anders verwendete.

Die VMware-Entwickler haben vor knapp zwei Wochen die Version 12.0.0 [20] ihres X.org-Treibers xf86-video-vmware freigeben, der zusammen mit dem DRM/KMS-Treiber Vmwgfx in Linux 3.2 [21], einer halbwegs aktuellen Libdrm und Mesa 8.0 3D-Beschleunigung in den Virtualisierungs-Produkten VMware Workstation 8.0, Fusion 4.0 und Player 4.0 bieten sollte; aufgrund eines Fehler gelingt das allerdings erst mit der eine Woche später nachgelegten Version 12.0.1 [22]. Da alle erwähnten Bestandteile für die 3D-Untersütztung unter Open-Source-Lizenzen stehen, sollten in den kommenden Monaten erscheinende Linux-Distributionen diese Komponenten mitliefern; da diesen vielfach auch der parallel zum neuen Grafiktreiber aktualisierte [23] VMware-Maustreiber beiliegt, sollte sich die grafische Oberfläche von Gastsystemen voll bedienen lassen, ohne dass der Anwender erst Treiber im Gastsystem installieren muss.

Die X-Erweiterung Xrender wird durch die VMware-Treiber allerdings typischerweise nicht beschleunigt. Trotzdem sollen das Interaktivitätsgefühl etwa bei den von Kwin erzeugten Effekten gut sein; das geht aus einer Seite im X.org-Wiki [24] hervor, die noch einige weitere Aspekte rund um die Treiber erläutert.

Seit dem letzten regulären [25] Kernel-Log hat Greg Kroah-Hartman die Longterm-Kernel 3.0.23 [26], 3.0.24 [27] und 3.0.25 [28] sowie die Stable-Kernel 3.2.9 [29], 3.2.10 [30], 3.2.11 [31] und 3.2.12 [32] freigegeben. In den Freigabe-Mails rät der Kernel-Entwickler Anwendern selbst-kompilierter Kernel wie üblich nachdrücklich zum Wechsel auf die neuen Versionen, die eine Reihe kleinerer Verbesserungen und Fehlerkorrekturen bringen – darunter möglicherweise auch solche, die Sicherheitslücken beseitigen.

Nachdem Kroah-Hartman die Pflege des Kernel 2.6.32 [33] Anfang des Monat aufgegeben hat, hat er in einem Blog-Eintrag [34] nochmal einige Gedanken und Hintergründe zur Pflege dieser Kernel-Version zusammengefasst, die mehrere große Linux-Distributionen verwenden.

Willy Tarreau, der sich schon um die 2.4er-Kernel und 2.6.27 kümmert, hat derweil wie angekündigt [35] die Pflege des Kernels 2.6.32 übernommen und bereits Linux 2.6.32.59 [36] veröffentlicht; parallel gab er zudem Linux 2.6.27.62 [37] frei.

Knapp 40 Stunden nach der Freigabe von Linux 3.3 hat Linus Torvalds die ersten Commits für Linux 3.4 vorgenommen; zum Erscheinen dieses Kernel-Logs hat er bereits rund 3100 Änderungen eingepflegt. Mit ihnen legte [38] der SCSI-Treiber für Microsofts Virtualisierungsschnittstelle Hyper-V die Staging-Einstufung ab. Der Brcm80211-Treiber brcmfmac unterstützt nun auch [39] die Broadcom-USB-WLAN-Chips bcm43235, bcm43236 und bcm43238; die Netfilter-Infrastruktur erhielt Erweiterungen [40], durch die Administratoren für jeden Datenstrom eigene Timeout-Regeln definieren können ("Cttimeout Infrastructure").

Kernel

Unterstützung für Grafikhardware

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.

Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung [75].

LKML-Diskussionen

Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich in den vorangegangenen Kernel-Logs [79] auf heise open [80] und in c't [81]. Neue Ausgaben des Kernel-Logs [82] werden auf den Identi.ca [83]- und Twitter [84]-Konten "@kernellog" erwähnt; die englischen, bei den Kollegen von "The H [85]" erscheinenden Übersetzungen auf den Identi.ca [86]- und Twitter [87]-Konten "@kernellog2". Gelegentlich zwitschert der Autor des Kernel-Logs unabhängig davon über einige Kernel-Log-Themen bei Identi.ca [88] und Twitter [89] als "@kernellogauthor". (thl [90]). (thl [91])


URL dieses Artikels:
https://www.heise.de/-1476937

Links in diesem Artikel:
[1] http://thread.gmane.org/gmane.comp.video.dri.devel/66573
[2] http://xorg.freedesktop.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names
[3] https://www.heise.de/news/Radeon-HD-7970-Mit-2048-Kernen-an-die-Leistungsspitze-1399905.html
[4] https://www.heise.de/news/Radeon-HD-7700-Neue-Mittelklasse-Serie-von-AMD-1434474.html
[5] https://www.heise.de/news/AMD-Roadmap-Neue-Systems-on-Chip-Stategie-schliesst-auch-ARM-Kerne-ein-1427377.html
[6] https://www.heise.de/news/AMDs-verspaetete-Antwort-auf-die-Ultrabooks-1415477.html
[7] https://www.heise.de/news/HP-listet-erste-Notebooks-mit-Trinity-und-Ivy-Bridge-1475018.html
[8] http://cgit.freedesktop.org/mesa/mesa/commit/?id=b4082f492b4b55df4c636445e47b97d1f1e4b5b2
[9] http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?id=6ed191c33caa33c12c2c6dafcba3a5ab1bf4a02f
[10] http://www.heise.de/glossar/entry/Hauptentwicklungslinie-397933.html
[11] https://www.heise.de/hintergrund/Die-Neuerungen-von-Linux-3-3-1464664.html
[12] https://www.heise.de/news/Linux-Kernel-3-3-freigegeben-1467641.html
[13] http://www.heise.de/glossar/entry/Kernel-Hacker-397919.html
[14] http://thread.gmane.org/gmane.linux.kernel/1269586
[15] http://thread.gmane.org/gmane.linux.kernel/1116939/focus%3D1265920
[16] http://thread.gmane.org/gmane.linux.kernel/1258568/focus%3D66531
[17] http://codemonkey.org.uk/2012/03/12/i915-hibernate-memory-corruption/
[18] https://twitter.com/#!/mjg59
[19] http://mjg59.dreamwidth.org/11235.html
[20] http://thread.gmane.org/gmane.comp.freedesktop.xorg.announce/1603
[21] https://www.heise.de/hintergrund/Kernel-Log-Was-3-2-bringt-5-Treiber-1395528.html
[22] http://thread.gmane.org/gmane.comp.freedesktop.xorg.announce/1610
[23] http://thread.gmane.org/gmane.comp.freedesktop.xorg.announce/1604
[24] http://www.x.org/wiki/vmware/vmware3D
[25] https://www.heise.de/hintergrund/Kernel-Log-Intel-Grafiktreiber-und-Util-Linux-aktualisiert-1443732.html
[26] http://thread.gmane.org/gmane.linux.kernel/1260285
[27] http://thread.gmane.org/gmane.linux.kernel/1265880
[28] http://thread.gmane.org/gmane.linux.kernel/1269736
[29] http://thread.gmane.org/gmane.linux.kernel/1260287
[30] http://thread.gmane.org/gmane.linux.kernel/1265878
[31] http://thread.gmane.org/gmane.linux.kernel/1266772
[32] http://thread.gmane.org/gmane.linux.kernel/1269738
[33] https://www.heise.de/news/Pflege-des-Linux-Kernels-2-6-32-verlangsamt-sich-1447606.html
[34] http://www.kroah.com/log/linux/2.6.32-stable.html
[35] http://thread.gmane.org/gmane.linux.kernel/1261660/focus%3D1261742
[36] http://thread.gmane.org/gmane.linux.kernel/1269007
[37] http://thread.gmane.org/gmane.linux.kernel/1269009
[38] http://git.kernel.org/linus/89ae7d709357df3a60e81c57613859d91d093ace
[39] http://git.kernel.org/linus/71bb244ba2fd5390eefe4ee9054abdb3f8b05922
[40] http://git.kernel.org/linus/50978462300f74dc48aea4a38471cb69bdf741a5
[41] http://paulmck.livejournal.com/31853.html
[42] https://www.heise.de/news/Transactional-Memory-fuer-Intels-Haswell-Prozessor-1432877.html
[43] http://thread.gmane.org/gmane.linux.file-systems/62517
[44] http://digitalvampire.org/blog/index.php/2012/03/16/you-can-never-be-too-rich-or-too-thin/
[45] http://thread.gmane.org/gmane.comp.video.dri.devel/66440
[46] http://valgrind.org/
[47] http://tstellar.blogspot.de/2012/03/how-to-test-clover-with-r600g.html
[48] http://thread.gmane.org/gmane.comp.video.mesa3d.devel/38357/focus%3D38429
[49] http://thread.gmane.org/gmane.comp.video.mesa3d.devel/38450
[50] http://thread.gmane.org/gmane.comp.freedesktop.xorg.announce/1576/focus%3D47479
[51] https://www.heise.de/news/X-Server-1-12-bringt-Multitouch-Unterstuetzung-1447564.html
[52] http://thread.gmane.org/gmane.comp.freedesktop.xorg.devel/29140
[53] http://thread.gmane.org/gmane.linux.kernel/1270508
[54] http://lttng.org/
[55] http://thread.gmane.org/gmane.linux.kernel/1270023
[56] http://thread.gmane.org/gmane.linux.hotplug.devel/17345
[57] http://thread.gmane.org/gmane.linux.hotplug.devel/17370
[58] http://lists.lm-sensors.org/pipermail/lm-sensors/2012-March/035641.html
[59] http://www.lm-sensors.org/
[60] http://www.lm-sensors.org/browser/lm-sensors/tags/V3-3-2/CHANGES
[61] http://thread.gmane.org/gmane.comp.version-control.git/192515
[62] http://thread.gmane.org/gmane.linux.kernel/1267567
[63] http://git-blame.blogspot.de/2012/03/please-discuss-what-git-push-should-do.html
[64] http://git-blame.blogspot.de/2012/03/summary-of-discussion-on-git-push.html
[65] http://linux-man-pages.blogspot.de/2012/03/man-pages-336-is-released.html
[66] http://linux-man-pages.blogspot.de/2012/03/man-pages-337-is-released.html
[67] https://www.heise.de/hintergrund/Kernel-Log-Was-3-0-bringt-1-Netzwerk-1257064.html
[68] http://cyberelk.net/tim/2012/03/08/session-printing/
[69] https://www.heise.de/meinung/Die-Woche-Linus-Tochter-1446576.html
[70] http://www.youtube.com/watch?v=BkBGTBadOO8
[71] http://www.youtube.com/watch?v=mKjBsgOlYmE
[72] http://www.youtube.com/watch?v=f6cgZotqUj0
[73] https://www.heise.de/hintergrund/Kernel-Log-Was-2-6-38-bringt-4-Storage-1199339.html
[74] http://www.linux-iscsi.org/
[75] https://www.heise.de/Datenschutzerklaerung-der-Heise-Medien-GmbH-Co-KG-4860.html
[76] http://thread.gmane.org/gmane.linux.kernel/1245999/focus%3D1264170
[77] http://thread.gmane.org/gmane.linux.kernel/1265152/focus%3D15643
[78] http://thread.gmane.org/gmane.linux.kernel/1265452
[79] http://www.heise.de/open/kernel-log-3007.html
[80] http://www.heise.de/open/
[81] http://www.heise.de/suche/?q=Kernel-Log&search_submit=Suchen&rm=search&channel=ct&mediatype=ct_2
[82] http://www.heise.de/glossar/entry/Kernel-Log-397909.html
[83] http://identi.ca/kernellog
[84] http://twitter.com/kernellog
[85] http://www.h-online.com
[86] http://identi.ca/kernellog2
[87] http://twitter.com/kernellog2
[88] http://identi.ca/kernellogauthor
[89] http://twitter.com/kernellogauthor
[90] mailto:thl@ct.de
[91] mailto:thl@ct.de