Как проверить, какая видеокарта управляет моим дисплеем?

9

Система настроена с одним из этих гибридных предложений Intel / ATI (без мультиплексирования). Я думаю, что после небольшой работы с настройками ядра и драйверами обе карты заработали (добавив radeon.dpm = 1 в настройках ядра и используя только драйверы с открытым исходным кодом).

Однако я не могу понять, какую карту использует система. Исходя из моего понимания с более новым ядром (3.12), динамическое управление питанием amd будет выключать / включать карту при необходимости, поэтому теоретически в большинстве случаев следует использовать встроенный hd4000, однако я не могу найти простой способ чтобы проверить, какой из них используется.

lspci | grep VGA только перечисляет все карты, но не указывает, какая из них используется в данный момент.

Некоторое рулевое управление в нужном направлении высоко ценится.

система

Debian 7 стабильный, 3.12 amd64, ядро ​​7670M AMD + Intel HD4000

Джонатан
источник

Ответы:

3

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 графическая карта Intel, которая имеет 2 порта (выходы). Вы можете увидеть результаты, 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 (ЖК-монитор на ноутбуке).

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)

Как определить, какой графический процессор управляет, какие мониторы

Для выполнения этой задачи вам нужно взять список провайдеров и записать их номер из xrandr --listprovidersкоманды. Этот номер является номером устройства. Часто это один и тот же номер, который присваивается вместе с экраном на выходе xrandr -q.

Таким образом, можно свободно определить, какое «устройство» GPU управляет каким экраном. В моем примере «Провайдер 0» ведет «Экран 0».

ПРИМЕЧАНИЕ . Термин «Экран» не обязательно соответствует одному дисплею. В моем сценарии мой GPU может управлять 2 выходами, LVDS1 и VGA1. Но этот подход позволяет с достаточно высокой степенью уверенности определять, какой дисплей управляется каким графическим процессором.

Вышеуказанные ассоциации контролируются настройкой системы, поэтому существуют возможности, которые могут ввести вас в заблуждение. Например, приведенная выше ассоциация основана на настройке, которая часто выглядит следующим образом:

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

Таким образом , существует вероятность того, что система была настроена с Screen0гонят нечто иное , чем Device0.

Ссылки

SLM
источник
У меня нет машины с несколькими GPU для тестирования, но, насколько я могу судить, ни одна из предложенных вами команд не указывает, какие диски GPU контролируют.
Жиль "ТАК - перестань быть злым"
@ Жиль - правда, они не выходят и на самом деле не утверждают, но показывают, как устройство связано с данным экраном (то есть отображает).
СЛМ
Вы все еще не объясняете, как связать графический процессор с монитором (по крайней мере, в общем случае его отсутствия Xorg.conf). Информация, вероятно, находится в журнале Xorg, если нигде больше (и, вероятно, где-то еще, но у меня нет никакого опыта с этим).
Жиль "ТАК - перестань быть злым"
@ Жиль - хм. Провайдер «Провайдер 0» - это графический процессор № 0. Эти графические диски отображаются как «Экран 0». Разве я не объяснил это ясно?
SLM
Но как узнать, какой провайдер управляет каким экраном?
Жиль "ТАК - перестань быть злым"
2

glxinfo, Который доступен в mesa-utilsможет быть использован для отображения , который видеоадаптер используется для OpenGL графики.

Например:

➜  ~  glxinfo | grep "OpenGL renderer string"
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile
Дон Мэнли
источник