Login
Newsletter
Werbung

Mi, 21. März 2018, 12:37

Software::Grafik

Linux-Grafik auf dem Weg zu neuen Ufern

Wie Daniel Stone von Collabora beschreibt, haben Änderungen am Grafik-Stack von Linux in den letzten Jahren zu massiven Verbesserungen geführt, die auch die Treiber vereinfachen. Zehn neue DRM-Treiber sind seither zum Kernel hinzugekommen.

Larry Ewing

Die Implementierung des atomaren Umschaltens des Grafikmodus in den letzten Jahren war die Grundlage für massive Verbesserungen im Grafik-Stack von Linux, berichtet Daniel Stone von Collabora im ersten von zwei Artikeln in seinem Blog. Vor dem atomaren Setzen des Modus gab es bereits das nicht atomare Umschalten, das ebenfalls vom Kernel kontrolliert wurde, aber im schlimmsten Fall zu inkonsistenten Zuständen des Grafikprozessors (GPU) führen konnte. Dies behinderte die Entwicklung, da bestimmte Funktionalität nicht genutzt werden konnte.

Seit vor vielleicht zwei Jahren die Implementierung des atomaren Umschaltens des Grafikmodus ihren Anfang nahm, ereignete sich, weitgehend unbemerkt von der Öffentlichkeit, eine kleine Revolution. Im DRM-Subsystem nahm die Entwicklung Fahrt auf, mehr als 300.000 Codezeilen kamen neu hinzu, weitere 300.000 wurden modifiziert. Dabei ist der neue AMD-Grafiktreiber noch nicht eingerechnet, der dem Kernel weitere 2,5 Mio. Zeilen Code hinzufügte. Auch Weston, die Kompositor-Referenzimplementation von Wayland, wurde wesentlich erweitert.

Die beiden wichtigsten Eigenschaften des atomaren Umschaltens sind, dass das Display durch die Gruppierung der Konfigurationsänderungen schneller und zuverlässiger gesteuert werden kann, insbesondere wenn mehrere Monitore angeschlossen sind, und dass Overlay-Ebenen im Kompositor genutzt werden können, wobei die GPU nicht benötigt wird. Eine dritte wichtige Eigenschaft ist, dass nun das Verhalten der Treiber, sowohl im Kernel als auch die von X11, standardisiert ist, was es für Code auf höherer Ebene wesentlich einfacher macht, alle Funktionen der Hardware zu nutzen. Der Grafik-Code in Gnome und Weston ist nun komplett Hardware-unabhängig. Eine Folge davon war auch, dass Treiber nun einfacher zu schreiben sind. So kamen in den letzten Jahren mehr als zehn neue DRM-Treiber in den Kernel. Außerdem ist die Gemeinschaft nun freundlicher und kooperativer als jemals zuvor.

Die bereits erwähnten Overlay-Ebenen sind so etwas wie die moderne Version von Sprites. Sie enthalten kleine Teile des Bildschirms, die zwischen dem weitgehend statischen Hintergrund und dem Mauszeiger eingeblendet werden. Overlay-Ebenen ersparen das Neuberechnen des vollen Bildes, wenn sich nur kleine Teile ändern. Sie können ohne Hilfe der GPU dargestellt werden, was in doppelter Hinsicht von Vorteil ist. Wenn die GPU stark ausgelastet ist, wird vermieden, den Engpass weiter zu erhöhen. Wenn die GPU andererseits im Leerlauf ist, kann sie im Leerlauf bleiben und eine Menge Energie sparen. Auch die Bildqualität kann besser werden, da die Display-Controller Operationen wie Skalierung und Farbraum-Konvertierung besser beherrschen als die GPU.

Weston besaß schon begrenzte Unterstützung für Overlay-Ebenen, die aber wegen der Unzuverlässigkeit der früheren Modus-Einstellung nicht genutzt werden konnte. In Weston 4.0 dagegen werden Overlay-Ebenen voll unterstützt werden. Der entsprechende Code wird zur Zeit getestet und stabilisiert. Zusätzlich wird Weston 4.0 von Overlay-Ebenen Gebrauch machen, wo möglich. Ferner werden voraussichtlich auch DRM Leases unterstützt. Diese ermöglichen es Clients, die zeit- oder sicherheitskritisch sind, die Display-Hardware direkt anzusteuern, ohne den Compositor einzubeziehen. Beispiele für solche Clients sind Anwendungen für virtuelle Realität oder Fahrzeuginformationssysteme.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung