X Window System/Technik: Unterschied zwischen den Versionen
Die Seite wurde neu angelegt: „== Technik == mini|Mögliche Fensterverteilung durch einen X11-[[Fenstermanager]] mini|X11-Fensterelemente, Beispiel mit Fenstermanager [[FVWM|FVWM2]] Der X-Server steuert die Ein- und Ausgabegeräte wie unter anderem Zeigegeräte (z. B. Maus), Tastatur, Bildschirm und Grafikkarte * Dazu kommuniziert er in der Theorie mit dem Betriebssystem-Kernel (Betriebssystem)|Kern…“ |
Keine Bearbeitungszusammenfassung |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 14: | Zeile 14: | ||
* Für das Aussehen der Programme selbst ist er aber nicht verantwortlich, das übernimmt meistens das sog. [[GUI-Toolkit]], welches das Zeichnen und Verwalten der typischen Elemente einer grafischen Oberfläche wie z. B. Menüs und Buttons übernimmt | * Für das Aussehen der Programme selbst ist er aber nicht verantwortlich, das übernimmt meistens das sog. [[GUI-Toolkit]], welches das Zeichnen und Verwalten der typischen Elemente einer grafischen Oberfläche wie z. B. Menüs und Buttons übernimmt | ||
* Siehe dazu auch [[Desktop-Umgebung]] | * Siehe dazu auch [[Desktop-Umgebung]] | ||
== Kommunikationsmodell == | |||
X baut auf einem [[Client-Server-Modell]] auf | |||
* Der '''X-Server''' läuft auf dem Rechner am Arbeitsplatz und stellt seine (grafischen) Dienste den X-Clients zur Verfügung | |||
* Er enthält den Grafikkartentreiber sowie Treiber für Tastatur, Maus und andere Eingabegeräte (wie z. B. Grafik-Tablets) und kommuniziert mit dem ''X-Client'' mittels Interprozesskommunikation | |||
* Der '''X-Client''' ist das Anwendungsprogramm, das die grafischen Ein/Ausgabe-Dienste des X-Servers benutzt | |||
* Er kann auf demselben oder auch auf irgendeinem entfernten Rechner laufen (sofern eine Netzwerkverbindung zwischen beiden besteht) | |||
* Der X-Client benutzt die Dienste des X-Servers, um eine grafische Darstellung zu erreichen und empfängt von ihm die diversen Ereignisse (''events'') wie Tastenanschläge, Mausbewegungen, Klicks usw | |||
== 3D-Beschleunigung == | |||
Um schnelle 2D- und 3D-[[Hardwarebeschleunigung#Grafikkarten|Beschleunigung]] zu ermöglichen, stellt das X Window System die Schnittstelle [[Direct Rendering Infrastructure]] (DRI) bereit, über die Programme direkt auf die Grafik-Hardware zugreifen können | |||
* Das geschieht bei freien Treibern durch die [[OpenGL]]- und [[Vulkan (API)|Vulkan]]-Implementierung [[Mesa 3D]], im Fall von [[Binärblob|proprietären Treibern]] durch jeweils proprietäre Implementierungen davon | |||
Mit Hilfe von 3D-Erweiterungen wie [[AIGLX]] und [[xgl]] werden im X.Org-Server darüber hinaus 3D-Effekte auf dem Desktop selbst unterstützt | |||
[[Kategorie:X11]] |
Aktuelle Version vom 8. Mai 2025, 12:42 Uhr
Technik


Der X-Server steuert die Ein- und Ausgabegeräte wie unter anderem Zeigegeräte (z. B. Maus), Tastatur, Bildschirm und Grafikkarte
- Dazu kommuniziert er in der Theorie mit dem Betriebssystem-Kernel, in der Praxis wird der Kernel aber auch umgangen
- Das zugrundeliegende Konzept ist eine Erweiterung des Terminal-Konzeptes auf grafische Benutzeroberflächen: Ein Programm verlässt sich für die grafische Eingabe (Maus) und Ausgabe (Fenstertechnik) auf die Dienste eines anderen dafür spezialisierten Programms (X-Server), die Kommunikation läuft immer über das Netzwerk
Die Darstellung bei X ist die eines Rastergrafik-basierten Fenstermanagers, der verschiedene Funktionen bereitstellt
- Dazu gehört das Zeichnen und Bewegen der Fenster, die ereignisorientierte Handhabung eines Zeigegeräts, z. B. einer Maus, die Interprozesskommunikation und teilweise auch die Verwaltungsfunktionen für Druck und Audio-Ausgabe
- X ist also ein Minimalsystem, bei dem zum Zeichnen lediglich Primitive wie Linien, Muster etc. bereitgestellt werden
Das eigentliche Aussehen und Verhalten des Fenstersystems wird deshalb nicht von X bestimmt, sondern von dem Fenstermanager, der wie eine normale Anwendung einfach als Client des X-Servers läuft
- Für das Aussehen der Programme selbst ist er aber nicht verantwortlich, das übernimmt meistens das sog. GUI-Toolkit, welches das Zeichnen und Verwalten der typischen Elemente einer grafischen Oberfläche wie z. B. Menüs und Buttons übernimmt
- Siehe dazu auch Desktop-Umgebung
Kommunikationsmodell
X baut auf einem Client-Server-Modell auf
- Der X-Server läuft auf dem Rechner am Arbeitsplatz und stellt seine (grafischen) Dienste den X-Clients zur Verfügung
- Er enthält den Grafikkartentreiber sowie Treiber für Tastatur, Maus und andere Eingabegeräte (wie z. B. Grafik-Tablets) und kommuniziert mit dem X-Client mittels Interprozesskommunikation
- Der X-Client ist das Anwendungsprogramm, das die grafischen Ein/Ausgabe-Dienste des X-Servers benutzt
- Er kann auf demselben oder auch auf irgendeinem entfernten Rechner laufen (sofern eine Netzwerkverbindung zwischen beiden besteht)
- Der X-Client benutzt die Dienste des X-Servers, um eine grafische Darstellung zu erreichen und empfängt von ihm die diversen Ereignisse (events) wie Tastenanschläge, Mausbewegungen, Klicks usw
3D-Beschleunigung
Um schnelle 2D- und 3D-Beschleunigung zu ermöglichen, stellt das X Window System die Schnittstelle Direct Rendering Infrastructure (DRI) bereit, über die Programme direkt auf die Grafik-Hardware zugreifen können
- Das geschieht bei freien Treibern durch die OpenGL- und Vulkan-Implementierung Mesa 3D, im Fall von proprietären Treibern durch jeweils proprietäre Implementierungen davon
Mit Hilfe von 3D-Erweiterungen wie AIGLX und xgl werden im X.Org-Server darüber hinaus 3D-Effekte auf dem Desktop selbst unterstützt