DRM(Direct Rendering Manager)と、AMDやNvidiaGPUドライバーなどのグラフィックスドライバーの違いを理解しようとしています。
DRM wiki [1]を読むと、DRMは基本的にグラフィックハードウェアドライバーのように見えますが、これはディスクリートGPU用のプロプライエタリまたはFOSSグラフィックドライバーの存在を説明していません。
それでは、メサまたはNvidiaドライバーに対するDRMの違い、またはユースケースは何ですか? AMDドライバーをインストールするとDRMはどうなりますか?それらはさまざまなタスクに使用されていますか?独自のドライバーはDRMを中心に構築されていますか?
「グラフィックスドライバ」は、さまざまな意味を持ちます。
X(グラフィカルウィンドウシステム)が機能する方法は、さまざまなハードウェアのモジュール( "Xドライバー")をロードできる中央のXサーバーがあることです。 vesa
、fbdev
、nvidia
、nouveau
、amdgpu
のように。
これらのドライバーの一部は、単独で動作できます(vesa
)。 Linuxカーネルドライバーが必要なものもあります。これらのカーネルドライバーの多くは「ダイレクトレンダリングマネージャーAPI」に準拠しているため、「DRMドライバー」と呼ばれます。プロプライエタリのnvidia
ドライバー(Xドライバーとカーネルドライバーの両方が必要)のような他のものは、そうではありません。
さらに複雑になります。ハードウェアは、フレームバッファーを読み取り、さまざまな解像度などで表示するパーツで構成されています。これは「モード設定」と呼ばれます。最新のグラフィックカードには、3D描画(OpenGL)を高速化するために使用されるGPUもあります。 「DRMカーネルドライバ」は、両方のインターフェイスを提供します。
「Mesa」はOpenGLを理解するソフトウェアライブラリですが、CPUまたは一部(すべてではない)のGPUでレンダリングを行います(リストについては ここ を参照)。したがって、Mesaライブラリは、このためのハードウェアがない、または十分にないグラフィックカードにこの機能を提供したり、いくつかのGPUのOpenGLライブラリとして機能したりできます。
あなたはおそらく、この複雑な絵の中の何かを「グラフィックスドライバー」と呼ぶことを主張することができます。