Linuxでは、グラフィックのさまざまな部分の理解を整理しようとしていますが、次の各概念が果たす役割について混乱しています。
- サーバーの表示
- ウィンドウマネージャ
- グラフィックドライバ
私の質問:
- グラフィックドライバはLinuxカーネルの内部または外部で実装されていますか?カーネルの外部にある場合、ネットワーク、ディスク、ファイルシステムはすべてカーネルの内部にありますが、なぜ除外されますか?
- X Windows、Gnome、Ubuntu Unity、KDE、Mir、Waylandディスプレイサーバー、ウィンドウマネージャ、グラフィックドライバは誰が担当していますか?
この質問に答える私の目標は、どのプロジェクトがLinuxグラフィック体験のどの部分に貢献しているかを理解することです。
修正する http://blog.mecheye.net/2012/06/the-linux-graphics-stack/ 私が探していた詳細がたくさんあります。
ベストアンサー1
- グラフィックドライバは、ロードする必要があるカーネルモジュールとして実装されています。だから基本的に外部コア。これを含むようにカーネルを構築できるかどうかは、私よりも知識が豊富な人が答える質問です。カーネルがドライバとしてビルドされている場合、
nouveau
後で独自のNVIDIAドライバをロードするとクラッシュが発生するため、カーネルから除外されたようです。 - X Windows、Wayland、Mirはディスプレイサーバーです。
- Gnome、Ubuntu Unity、KDEはすべてウィンドウマネージャではなくデスクトップ環境です。ウィンドウマネージャはデスクトップ環境(Gnomeで使用されるなど
metacity
)の一部です。つまり、デスクトップ環境なしでスタンドアロンのウィンドウマネージャを実行できます。素晴らしい、xmonadまたはアンボクシング
どのコンポーネントがどのような役割を果たしているかは、次のとおりです。
- グラフィックドライバは、カーネルがグラフィックカードと「会話」する方法です。
- ディスプレイサーバーは、ディスプレイのウィンドウやその他のグラフィック要素を作成および管理するために使用されます。
- デスクトップ環境またはウィンドウマネージャはディスプレイサーバーのクライアントとして機能し、ウィンドウ、パネルなどを描画または装飾する方法を指示します。