Compiz- und Linux-Compositing: Wie passt es in die X-Architektur?

Compiz- und Linux-Compositing: Wie passt es in die X-Architektur?

Es handelt sich nicht wirklich um eine „Wie löst man Probleme“-Frage, aber … ich habe mich gefragt, wie die moderne X-Architektur mit Compiz und allem funktioniert.

Was ich darüber weiß:

  • Am Anfang gab es den X-Server, die Clients stellten eine Verbindung her (vermutlich über TCP) und schickten dann Nachrichten an den Server, um ihn anzuweisen, Fenster usw. anzuzeigen.
  • da dies für OpenGL und 3D-Beschleunigung nicht (überhaupt nicht? oder einfach nicht schnell genug?) funktionierte, wurden zusätzliche APIs für das direkte Rendering erstellt (DRI? und zusätzlich zum X-Server: Mit welchen Dingen kommunizierten die X-Clients zum Rendern und über welche Schnittstellen?)
  • und schließlich kommt Compiz ins Spiel: X-Clients rendern am Ende (irgendwie) OpenGL-Texturen, die dann zu einem schick aussehenden Bildschirm mit durchscheinenden Fenstern zusammengesetzt und auf dem Bildschirm gerendert werden.

Was mich besonders interessiert, ist, welche Komponenten das System hat und wie sie miteinander verbunden sind. Wenn es beispielsweise eine Box mit der Bezeichnung „Compiz“ im System gibt, befindet sie sich dann im X-Server? Wenn nicht, wie landen die gerenderten Bilder aus den Apps dort? Und wohin wird gerendert? Ist das ein anderer X-Server? Oder DRI?

Natürlich würde ich mich ebenso freuen, wenn man mich auf einige Dokumente hinweisen würde, die die oben beschriebene Verwirrung beseitigen können (vorausgesetzt, sie sind deutlich kürzer als buchgroße Texte).

Antwort1

Hier ist einguter Artikel, die Ihnen helfen können.

verwandte Informationen