Original-URL des Artikels: https://www.golem.de/news/wayland-desktop-nvidia-bittet-um-mitarbeit-an-linux-speicher-api-1711-131262.html    Veröffentlicht: 21.11.2017 15:51    Kurz-URL: https://glm.io/131262

Wayland-Desktop

Nvidia bittet um Mitarbeit an Linux-Speicher-API

Seit rund eineinhalb Jahren arbeitet Nvidia an einem einheitlichen Speicher-API für den Linux-Grafikstack. Damit soll dann auch Wayland auf dem proprietären Nvidia-Treiber laufen. Für die bisherige Eigenlösung bittet der zuständige Entwickler James Jones bei der Community um Entschuldigung.

Im Frühjahr 2016 stellte Nvidia eine Beta-Version seines proprietären Linux-Grafiktreibers vor, der auch den designierten X11-Nachfolger Wayland unterstützen sollte. Da Nvidia in einem technischen Detail aber einen anderen Weg ging als der Rest der Linux-Community, läuft eine Wayland-Sitzung der üblichen Linux-Desktops immer noch nicht auf dem proprietären Treiber. Der Nvidia-Angestellte und -Entwickler James Jones bittet die Community nun aber um Mitarbeit an einer gemeinsamen Lösung.

Die Arbeiten an dieser einheitlichen Lösung treibt Jones seit mehr als einem Jahr aktiv voran: Zunächst über eine Mailingliste, später auch auf der X.org Developers Conference (XDC), dem Jahrestreffen der Linux-Grafikentwickler. Aus den Diskussionen heraus ist ein Prototyp für die Speicherzuweisung entstanden, der sowohl für die Linux-Desktops unter Wayland als auch für andere Einsatzzwecke wie Embedded-Geräte oder auch Android einsetzbar sein soll.

Entschuldigung für EGLStreams

Die E-Mail für den aktuellen Vorschlag beginnt Jones mit der Bitte um Entschuldigung für die Art und Weise, wie Nvidia seinen alten Vorschlag für die sogenannten EGLStreams gehandhabt hat. "Ich verstehe jetzt, dass der dortige Entwicklungsprozess für die Community inakzeptabel war und wahrscheinlich viele gute Entwickler beleidigte", schreibt Jones.

Nvidia hat für seine Wayland-Unterstützung auf die Verwendung von EGL-Erweiterungen gesetzt. Dies hatte das Unternehmen zuvor bereits angekündigt und dann Patches für den Referenzcompositor von Wayland, Weston, bereitgestellt. Die freien Linux-Grafiktreiber nutzen jedoch den in der Userspace-Bibliothek Mesa enthaltenen Generic Buffer Manager (GBM), welcher Buffer zwischen Wayland-Client und -Compositor verwaltet. Das hat zur Folge, dass nicht nur Weston, sondern auch sämtliche anderen Wayland-Compositor eigens an den proprietären Nvidia-Treiber hätten angepasst werden müssen.

Unter anderem deswegen äußerte etwa Daniel Vetter, der den Intel-Grafiktreiber betreut, an dem Konzept sehr starke Bedenken, die auch von vielen anderen Entwicklern geteilt wurden. Vetter erwarte nicht, dass der Code je von der Community akzeptiert und aufgenommen werde. Noch vor wenigen Wochen wiederholten die zuständigen Entwickler von KDE Plasma und Sway ihre Kritik an den EGLStreams, die sie nicht akzeptieren würden. Lediglich das Gnome-Team hat bisher versucht, gemeinsam mit Nvidia seinen Desktop an EGLStreams anzupassen.

Neue Lösung mit der Community

Die von Jones als öffentlicher Prototyp erstellte Lösung soll wie erwähnt aber langfristig von allen akzeptiert und genutzt werden können. Damit dies auch wirklich geschieht, möchte Jones nun mit der Community das weitere Vorgehen besprechen, wie und ob die Technik des Prototypen in den existierenden Linux-Stack integriert werden kann.

Möglich dabei ist etwa, die GBM-Technik inkrementell zu einer Version 2.0 mit neuer API zu erweitern, eine neue Bibliothek auf Grundlage des Prototyps zu erstellen, die GBM ersetzen könnte, oder eine Bibliothek zu erstellen, die in einer kleinen Schicht über GBM selbst sitzt. Ebenso wirft Jones den Vorschlag auf, GBM, beziehungsweise einen neuen Mechanismus der Speicherzuweisung, künftig unabhängig von der Mesa-Bibliothek als eigenständiges Projekt zu erstellen und zu pflegen. Letzteres sei bereits in Diskussionen von anderen angebracht worden, so Jones.

Zusätzlich zu dem von Jones gepflegten Prototypen gibt es auch eine Implementierung der neuen API zu Demozwecken auf Grundlage des Kmscube. Jones bekräftigt darüber hinaus, dass Nvidia gewillt sei, die Umsetzung der neuen Lösung nicht nur in seinem proprietären Treiber umzusetzen, sondern auch in dem freien Nouveau-Treiber, falls hier Änderungen an Kernel- oder Userspace-Code notwendig seien.

Das mag für einige Beobachter vielleicht überraschend erscheinen, da Nvidia den freien Nouveau-Treiber kaum unterstützt. Allerdings nutzt Nvidia ihn selbst zur Unterstützung seiner Tegra-SoCs, die in vielen Embedded-Geräten verwendet werden. Auch hier bietet Nvidia bisher Wayland-Technik für seine Kunden auf Basis der EGLStreams an. Nvidia hat offenbar aber den Plan, hier mittelfristig auf die neue und dann hoffentlich einheitliche Technik zu wechseln.  (sg)


Verwandte Artikel:
Geforce Partner Program: Nvidia soll Grafikkarten-Exklusivität erzwingen   
(09.03.2018, https://glm.io/133253 )
Radeon Software Adrenalin 18.2.3: AMD-Treiber macht Sea of Thieves schneller   
(24.02.2018, https://glm.io/132969 )
Für Wayland-Unterstützung: Linux-Team von Nvidia arbeitet an einheitlichem Speicher-API   
(05.10.2016, https://glm.io/123624 )
Linux: Nvidia ist bereit für einheitliche Wayland-Unterstützung   
(22.07.2016, https://glm.io/122294 )
Google: Chromebooks bekommen "Linux-VMs" und "Terminal"   
(27.02.2018, https://glm.io/133030 )

© 1997–2019 Golem.de, https://www.golem.de/