• Arch LinuxLinux
  • Wayland ohne X - Wie funktioniert das mit den Grafiktreibern?

Moin,

Wayland wird ja immer umfänglicher unterstützt. Was ich aber bis heute nicht verstanden habe: Wie genau läuft das mit den Treibern, wenn der X-Server gar nicht installiert ist? Greift Wayland auf die Kernel Komponenten KMS und DRM direkt zu oder wird Mesa benötigt?
Als normaler Anwender ist das auch nicht so einfach zu durchschauen finde ich. Aber der für mich entscheidende Satz ist "For example, the Wayland compositor Weston does its rendering using OpenGL ES 2, which it initializes by calling EGL. Since the server runs on the "bare KMS driver", it uses the EGL DRM platform, which could really be called as the GBM platform, since it relies on the Mesa GBM interface." Wenn aus dem GDM Paket also irgendwann mal die X Abhängigkeiten entfernt werden, kann ich den Rest von X deinstallieren und habe nur noch einen Displayserver. Nicht das die sich stören aber ich brauche auch nicht beide. 🙂
Ganz grob:

Damals bekam man ohne X keinen OpenGL Kontext, man brauchte GLX, welches von X abhängt. Es gibt jetzt aber schon eine ganze Weile EGL, welches es erlaubt ohne X einen OpenGL Kontext zu bekommen. Weiterhin gab es auch im Linux-Kernel mit KMS weitreichende Änderungen, sodass der Kernel über den Grafiktreiber schon Auflösung, Farbtiefe und Co. setzen kann.

Somit ist es schon lange möglich auch ohne irgend einen Display-Server OpenGL Anwendungen darzustellen. Der Weg ist dann quasi Kernel (hier ist der reine Grafiktreiber) -> KMS/DRI -> Mesa/EGL (hier ist der OpenGL Grafiktreiber) -> Anwendung. So kannst du z.B. Anwendungen wie RetroArch oder MPV ohne einen X-Server oder Wayland einfach auf dem Linux-Terminal starten.

Das ist im Endeffekt das was Wayland und dessen Compositoren machen. Du siehst, du brauchst also Mesa als EGL/OpenGL Implementierung.

Diese ganzen xf86-video-<Hersteller> Treiber sind im speziellen nur für Xorg da. Diese bieten ggf. noch etwas bessere Beschleunigung speziell für Xorg. Aber es gibt auch schon die auf OpenGL basierende X-Beschleunigung GLAMOUR. Darum reicht es bei einem KMS kompatiblen Grafiktreiber auch meist aus xf86-video-modesetting zu installieren.