xサーバーとLinuxカーネルの両方にドライバが必要なのはなぜですか?

xサーバーとLinuxカーネルの両方にドライバが必要なのはなぜですか?

LinuxカーネルとXにそれぞれ1つずつ、2セットのドライバが必要な理由を説明できる人はいますか?

デバイスドライバがカーネルにあることはわかっていますが、xserverでその役割は何ですか?

Waylandを実行するにはそのようなドライバが必要ですか?

答え1

Linuxグラフィックスのサポートは、カーネルの寿命の大部分で大幅に変化してきました。最初に、カーネルはテキストモードの目的でのみグラフィックカードと通信します。その時点で、Xはドライバを使用してすべての操作を実行したため、1つの巨大なコア外部カーネルとして実行されました。

後で直接レンダリングインフラストラクチャ(DRI)では、グラフィック機能を加速するコードの一部がカーネル側(直接レンダリングマネージャ、DRMと呼ばれます - デジタル権限管理には関係ありません)に移動し、3Dアクセラレーション機能のための一貫した抽象インタフェースを提供します。

現在はそうではありません。必要カーネル側DRMモジュールをロードします。しかし、そうでなければ、Xセッションがハードウェア3Dよりはるかに遅く、電力を消費するソフトウェアレンダリング3Dに戻る可能性が高くなります。実行すると、glxinfoこれに関する情報が表示されます。

ウェイランドは少し違う話。カーネルとクライアントアプリケーションの間にあります。 Waylandの場合、Xサーバーはルートウィンドウを別のものとしてマークする別のクライアントアプリケーションです。 Waylandはハードウェアと通信する責任を負います(XはWaylandと通信します)。プロジェクトがまだ大々的に開発されているため、最終的な結果がどうなるかはわかりませんが、3Dレンダリングにはまだカーネルサポートが必要であることがわかります。

これはWaylandのアーキテクチャ図でも見ることができます。左は最新のXデスクトップの現在の状態、右は提案されたWaylandアーキテクチャです。 Waylandコンポジターはハードウェアと通信することでX Serverを置き換えましたが、それは置き換えませんでした。コアインフラストラクチャ - したがって、まだ適切なカーネルサポートが必要です。実際、プロジェクトの目標を考えると、もっとより良い抽象化のために、すべてをカーネルに移動する必要があります。 Xサーバーと同様に、Waylandはまだグラフィックハードウェアに依存しています。

ここに画像の説明を入力してください。

関連情報