ディスプレイを駆動しているグラフィックカードを確認するにはどうすればよいですか?


9

システムは、これらのハイブリッドIntel / ATIオファリングの1つ(マルチプレクサなし)でセットアップされています。カーネル設定とドライバーを少しいじった後、両方のカードが機能するようになったと思います(カーネル設定にradeon.dpm = 1を追加し、オープンソースドライバーのみを使用)。

しかし、システムが使用しているカードがわかりません。新しいカーネル(3.12)との理解から、amd動的電源管理は必要に応じてカードの電源を切る/電源を入れるので、理論的にはほとんどの場合、統合されたhd4000を使用する必要がありますが、簡単な方法を見つけることができませんどちらが使用されているかを確認します。

lspci | grep VGA すべてのカードを一覧表示するだけで、現在使用されているカードは特定されません。

正しい方向へのいくらかのステアリングは大歓迎です。

システム

Debian 7安定、3.12 amd64カーネル7670M AMD + Intel HD4000

回答:


2

xrandr

を使用xrandrすると、使用可能なカードが表示されます。

$ xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x49 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 2 outputs: 8 associated providers: 0 name:Intel

このシステムでは、1つのグラフィックカードと、2つのポート(出力)を持つIntelを使用しています。次のxrandrようにして出力を確認できます:

$ xrandr -q
Screen 0: minimum 320 x 200, current 3360 x 1080, maximum 8192 x 8192
LVDS1 connected primary 1440x900+0+0 (normal left inverted right x axis y axis) 303mm x 190mm
   1440x900       60.0*+   50.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
VGA1 connected 1920x1080+1440+0 (normal left inverted right x axis y axis) 521mm x 293mm
   1920x1080      60.0*+
   1680x1050      60.0  
   1280x1024      75.0     60.0  
   1440x900       59.9  
   1280x960       60.0  
   1152x864       75.0  
   1024x768       75.1     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        75.0     72.8     66.7     60.0  
   720x400        70.1  
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)

2つの出力はVGA1(VGA外部ポート)とLVDS1(ラップトップのLCDモニター)です。

lshw

最後にlshw、実際のグラフィックカード情報に関する詳細情報を見つけるために使用できます。

$ sudo lshw -numeric -c video
  *-display               
       description: VGA compatible controller
       product: Core Processor Integrated Graphics Controller [8086:46]
       vendor: Intel Corporation [8086]
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 02
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:41 memory:f2000000-f23fffff memory:d0000000-dfffffff ioport:1800(size=8)

どのGPUがどのモニターを駆動しているかを判別する方法

このタスクを実行するには、プロバイダーのリストを取得し、xrandr --listprovidersコマンドからそれらの番号をメモする必要があります。この番号はデバイス番号です。多くの場合、の出力で画面に割り当てられているのと同じ番号ですxrandr -q

したがって、どのGPU「デバイス」がどの画面を駆動しているかを大まかに構築できます。私の例では、「プロバイダー0」が「画面0」を駆動しています。

注:「画面」という用語は、必ずしも1つのディスプレイに対応しているとは限りません。私のシナリオでは、GPUは2つの出力、LVDS1とVGA1を駆動できます。ただし、このアプローチでは、どのディスプレイがどのGPUによって駆動されているかをかなり高い信頼度で判断できます。

上記の関連付けはシステムの設定によって制御されるため、誤解を招く可能性があります。たとえば、上記の関連付けは、次のような設定に基づいています。

Section "Screen"
    Identifier  "Screen0"
    Device      "Device0"
EndSection
Section "Screen"
    Identifier  "Screen1"
    Device      "Device1"
EndSection

したがって、システムがScreen0以外で駆動されるようにセットアップされた可能性がありますDevice0

参考文献


テストできるマルチGPUマシンはありませんが、私の知る限り、どのGPUドライブがどのモニターを監視しているかを示すコマンドはありません。
Gilles「SO-邪悪なことをやめよ」

@ギレス-真実ではありませんが、実際にはそれを述べていませんが、デバイスが特定の画面(つまり、ディスプレイ)にどのように関連付けられているかを示しています。
slm

あなたはまだGPUをモニターに関連付ける方法を説明していません(少なくともを持たない一般的なケースではXorg.conf)。他にどこにもない場合、情報はおそらくXorgログにあります(おそらく他の場所にありますが、私はそれについての経験がありません)。
Gilles「SO-邪悪なことをやめなさい」

@ギレス-うーん。プロバイダー「プロバイダー0」はGPU#0です。そのGPUは、「画面0」として関連付けられているディスプレイを駆動します。私はそれを明確に説明しませんでしたか?
slm

しかし、どのプロバイダーがどの画面を操作しているのか、どうやって知るのでしょうか?
Gilles「SO-邪悪なことをやめなさい」2014

2

glxinfoで利用可能であるが、mesa-utilsビデオアダプタがOpenGLグラフィックスのために使用されているディスプレイに使用することができます。

例えば:

➜  ~  glxinfo | grep "OpenGL renderer string"
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.