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

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

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

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

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

Было бы очень кстати направить в правильном направлении.

Система

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

решение1

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)

Два выхода — VGA1 (внешний порт VGA) и LVDS1 (ЖК-монитор на ноутбуке).

лшв

Наконец, вы можете использовать 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 управляет каким экраном. В моем примере "Provider 0" управляет "Screen 0".

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

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

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

Поэтому есть вероятность, что система была настроена на Screen0управление чем-то иным, чем Device0.

Рекомендации

решение2

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

Например:

➜  ~  glxinfo | grep "OpenGL renderer string"
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile

решение3

Этот вопрос все еще отображается в верхней части результатов поиска Google, поэтому я отвечу на него, хотя он очень старый. Ответ от slm научил меня многим полезным инструментам, но не дал мне ответа. Переход Ubuntu на wayland может быть частью проблемы. Вот как я это выяснил:

    root@Legion5:~# ls -lah /sys/class/drm
total 0
drwxr-xr-x  2 root root    0 Nov  9 11:07 .
drwxr-xr-x 87 root root    0 Nov  9 11:07 ..
lrwxrwxrwx  1 root root    0 Nov  9 11:07 card0 -> ../../devices/pci0000:00/0000:00:08.1/0000:06:00.0/drm/card0
lrwxrwxrwx  1 root root    0 Nov  9 11:07 card0-eDP-1 -> ../../devices/pci0000:00/0000:00:08.1/0000:06:00.0/drm/card0/card0-eDP-1
lrwxrwxrwx  1 root root    0 Nov  9 11:07 card1 -> ../../devices/pci0000:00/0000:00:01.1/0000:01:00.0/drm/card1
lrwxrwxrwx  1 root root    0 Nov  9 11:07 card1-DP-1 -> ../../devices/pci0000:00/0000:00:01.1/0000:01:00.0/drm/card1/card1-DP-1
lrwxrwxrwx  1 root root    0 Nov  9 11:07 card1-DP-2 -> ../../devices/pci0000:00/0000:00:01.1/0000:01:00.0/drm/card1/card1-DP-2
lrwxrwxrwx  1 root root    0 Nov  9 11:07 card1-eDP-2 -> ../../devices/pci0000:00/0000:00:01.1/0000:01:00.0/drm/card1/card1-eDP-2
lrwxrwxrwx  1 root root    0 Nov  9 11:07 card1-HDMI-A-1 -> ../../devices/pci0000:00/0000:00:01.1/0000:01:00.0/drm/card1/card1-HDMI-A-1
lrwxrwxrwx  1 root root    0 Nov  9 11:07 renderD128 -> ../../devices/pci0000:00/0000:00:08.1/0000:06:00.0/drm/renderD128
lrwxrwxrwx  1 root root    0 Nov  9 11:07 renderD129 -> ../../devices/pci0000:00/0000:00:01.1/0000:01:00.0/drm/renderD129
-r--r--r--  1 root root 4.0K Nov  9 11:07 version

этот листинг показывает карту и дисплей, то есть "card0 eDP-1" - это мой ноутбук amd gpu, управляющий встроенным ЖК-экраном ноутбука. "card1-HDMI-A-1" - это nvida gpu, управляющий внешним дисплеем через порт HDMI. Все еще не идеально, но достаточно близко, чтобы сказать мне, что я хочу.

Связанный контент