私のGPUがどのドライバ/コードレイヤを使用しているかをどうやって確認しますか?

私のGPUがどのドライバ/コードレイヤを使用しているかをどうやって確認しますか?

私はMacbook ProでElementary OSを実行しています。 BumblebeeがOptimusであることで、単一のNVIDIA GPUとIntel CPUペアの効率を向上させるという内容を読みましたが、完全には理解していません。しかし、これは質問ではなく、ほんのいくつかの背景情報です。

問題は次のとおりです。私のGPUで現在処理されているものをどうやって知ることができますか? いたずらを始める前に、現在の設定が何であるかを知り、よく理解したいと思います。私は私にすべてを教えてくれる機能を持ったくないし、それがいつも同じであることを望んでいませんが、今はどこから臭いを取るべきかさえ知りません。

ベストアンサー1

私は多くの人がこの質問をするのを見ましたが、常に答えが間違っているようです。そのディストリビューションのドキュメントを表示し、パッケージ名に基づいてディストリビューションが何であるかを判断できます。しかし、これは問題を引き起こす可能性があります。つまり、オープンソースドライバは通常Linuxと一緒に展開されているため、waylandを使用している場合はx11ビデオパッケージビューに頼ることはできません。

Nvidia Optimusは、電力を節約するために必要に応じて専用GPUをオン/オフするように設計されたランタイムGPUスイッチング技術です。

DRM は、共通インターフェイスを介して GPU を他のモジュールおよびユーザー空間アプリケーションに公開する Linux サブシステムです。各GPUファミリにはドライバが必要です。

さらに、KMSはディスプレイを制御し、出力デバイス間のビデオをバッファリングするために使用されます。このサブシステムはGPUで一般的です。

最終的に、X Window Systemでは、両方のサブシステムが3Dグラフィックスドライバで使用されます。グラフィックドライバには、実際にはDRIドライバ、X Windowドライバ(2Dアクセラレーションとモード設定用)、およびOpenGLを含むいくつかの部分があります。 Waylandは、ディスプレイサーバーで2Dおよび3DレンダリングにEGLを使用し、独自のモードを設定します。クライアントには加速のために追加の2Dライブラリが必要です。以前のバージョンのLinuxについて話しているとき、独自のドライバは「ブラックボックス」機能を提供し、独自のOpenGLライブラリとX Windowのみを依存関係として提供するため、これは複雑になります。

ほとんどの最新のLinuxでは、どのDRIドライバがロードされているかを簡単に確認できますが、OpenGLの実装にはいわゆるGLXプロバイダを介した調整が必要です。ほとんどの排他的なドライバは、独自の隠されたアーキテクチャを提供します。オープンソースドライバはMesaを使用します。過去には簡単に壊れたロードです。 libglvndを使用すると、使用するものを選択する方法が提供されます。

したがって、3Dドライバは実際にはいくつかの異なるカーネルモジュールとライブラリで構成されています。複数のドライバが共存し、同時に実行できます。

したがって、どのドライバがインストールされているかを確認するには、次の手順を実行します。

ls /lib/modules/[linux version]/kernel/drivers/gpu/drm/

そして、どのx11 2dドライバがインストールされていることを確認してください。

ls /lib/xorg/modules/drivers/

(このディレクトリはディストリビューションによって大きく変わらないことを願っています。)

どのモジュールがロードされているかを確認するには、drmが必要なモジュールを確認できます。

lsmod | grep drm

Drm_kms_helper は、モジュールも必要に応じてほとんどの最新のグラフィックドライバに適しています。次に、モジュールのパスを見つけます。

modinfo -F filename [module name]

その後、そのパッケージマネージャを使用してそれを提供するパッケージを見つけることができます。 apt-get/dpkg を使用すると、次のことができます。

dpkg -S <path to module>

最後に、GPUドライバは独自の独自のインターフェイスを提供できます。たとえば、nvidiaはビデオエンコードとデコードのためのvdpauを提供します。

おすすめ記事