Warum werden Treiber sowohl für den X-Server als auch für den Linux-Kernel benötigt?

Warum werden Treiber sowohl für den X-Server als auch für den Linux-Kernel benötigt?

Kann jemand erklären, warum zwei Treibersätze benötigt werden, einer im Linux-Kernel und einer in X?

Ich verstehe, dass sich die Gerätetreiber im Kernel befinden, aber welche Rolle spielen die Treiber im XServer?

Benötigt Wayland solche Treiber zum Ausführen?

Antwort1

Die Grafikunterstützung von Linux hat sich während der meisten Zeit des Kernels stark verändert. Ursprünglich kommunizierte der Kernel nur für den Textmodus mit der Grafikkarte. Damals verwendete X seine Treiber für alles und funktionierte daher wie ein riesiger Kernel außerhalb des Kernels.

Später mitDirekte Rendering-Infrastruktur (DRI)wurde ein Teil des Codes für beschleunigte Grafikfunktionen auf die Kernel-Seite verschoben (Direct Rendering Manager, DRM genannt – hat nichts mit Digital Rights Management zu tun), um eine konsistente, abstrahierte Schnittstelle zu 3D-Beschleunigungsfunktionen bereitzustellen.

Derzeitbrauchenum ein DRM-Modul auf der Kernelseite zu laden. Wenn Sie jedoch keins haben, besteht die Möglichkeit, dass Ihre X-Sitzung auf softwaregerendertes 3D zurückgreift, das erheblich langsamer und stromhungriger ist als Hardware-3D. Beim Ausführen glxinfowerden Informationen dazu angezeigt.

Wayland ist einetwas andere Geschichte. Es sitzt zwischen dem Kernel und den Client-Anwendungen. Bei Wayland ist der X-Server eine weitere Client-Anwendung, die ihr Stammfenster als bloß eine weitere Sache anzeigt. Wayland übernimmt die Aufgabe, mit der Hardware zu kommunizieren (X kommuniziert stattdessen mit Wayland). Da sich das Projekt noch in der Entwicklungsphase befindet, kann man nicht wissen, wo es enden wird, aber so wie ich es verstehe, braucht es noch Kernel-Unterstützung für 3D-Rendering.

Dies ist auch aus den Wayland-Architekturdiagrammen ersichtlich: links ist der aktuelle Stand der Dinge für einen modernen X-Desktop, rechts ist die vorgeschlagene Wayland-Architektur. Der Wayland-Compositor ersetzt den X-Server als das Ding, das mit der Hardware kommuniziert, aber er ersetzt nicht denKernelInfrastruktur — Sie benötigen also immer noch entsprechende Kernel-Unterstützung. Angesichts der Ziele des ProjektsmehrFür eine noch bessere Abstraktion sollten die Dinge in den Kernel verschoben werden. Wayland ist wie der X-Server immer noch von der Grafikhardware abhängig.

Bildbeschreibung hier eingeben

verwandte Informationen