X11がグラフィックカードにアクセスできるのはなぜですか?

X11がグラフィックカードにアクセスできるのはなぜですか?

これはやや理論的かもしれません... X11は一体どのようにビデオハードウェアにアクセスできますか?私が知る限り、X11は権限のないユーザーモードプログラムです。ただし、カーネルモードソフトウェアのみがハードウェアにアクセスできます。だから何?

(これは十分に簡単な質問ですが、この簡単な問題を説明する文書が見つかりません。方法についてのガイドラインがたくさんあります。設定X11またはX11クライアント/サーバーアレイが機能する方法ですが、ハードウェアを駆動する方法についてはそれほど重要ではありません...)

基本的に、私はX11がどれくらいの仕事をしているのか、どのくらいのコアがあるのか​​、そして2つがどこで出会うのかを知りたいのです。

ベストアンサー1

最も簡単なシナリオでは、XサーバーのいわゆるDDX(デバイス依存X)部分がビデオドライバを認識し、ioctl呼び出しを使用してそれを初期化し、ビデオアダプタを設定し(通常)フレームバッファアドレスを取得します。その後、フレームバッファがレンダリングに使用されます。ここプロセスの詳細な説明です。

一部のアプリケーションがXVまたはGLXを使用することを決定した場合、状況はより複雑になります。しかし、最終的に、すべてのハードウェアレベルのレンダリングはビデオアダプタドライバによって実行され、Xサーバはハードウェアに直接アクセスしようとしません。

おすすめ記事