Compiz と Linux の合成: X アーキテクチャにどのように適合するか?

Compiz と Linux の合成: X アーキテクチャにどのように適合するか?

実際には「どのように問題を解決するか」という質問ではありませんが、compiz などを使用した最新の X アーキテクチャがどのように機能するのか疑問に思っていました。

私が知っていること:

  • 最初は、X サーバーがあり、クライアントが (おそらく TCP 経由で) 接続し、サーバーにメッセージを送信して、ウィンドウの表示などを指示していました。
  • これは OpenGL および 3D アクセラレーションでは機能しなかった (まったく機能しなかった? または単に速度が十分ではなかった?) ため、直接レンダリング用の追加 API が作成されました (DRI? また、X サーバーに加えて、X クライアントはレンダリングを行うために何と通信し、どのようなインターフェイスを介して通信したのでしょうか?)
  • そして最後に、Compiz の登場です。X クライアントは (何らかの方法で) OpenGL テクスチャにレンダリングし、その後、半透明のウィンドウを含む派手な画面を形成して画面にレンダリングされます。

私が特に興味を持っているのは、システムにどのようなコンポーネントがあり、それらが互いにどのように接続されているかということです。たとえば、システムに「compiz」というラベルの付いたボックスがある場合、それは X サーバー内にありますか? そうでない場合、アプリからレンダリングされたイメージはどのようにしてそこに配置されるのでしょうか? また、どこにレンダリングされるのでしょうか? それは別の X サーバーですか? それとも DRI ですか?

もちろん、上記の混乱を解消できるドキュメントをいくつか教えていただければ、私も同様に嬉しく思います (ただし、そのドキュメントは書籍サイズよりも大幅に短いことが条件です)。

答え1

こちらは良い記事、役に立つかもしれません。

関連情報