Як перевірити, яка відеокарта керує моїм дисплеєм?


9

Система налаштована за допомогою однієї з гібридних пропозицій Intel / ATI (безглузді). Помітивши налаштування ядра та драйвери, я думаю, що я працюю на обох картах (додаючи radeon.dpm = 1 у налаштуваннях ядра та використовуючи лише драйвери open source).

Однак я не можу зрозуміти, якою карткою користується система. З мого розуміння з новим ядром (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)

Два виходи - 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)

Як визначити, який GPU веде, які монітори

Для виконання цього завдання вам потрібно буде взяти список провайдерів і відзначити їх номер в xrandr --listprovidersкоманді. Цей номер - номер пристроїв. Часто це одне і те ж число, яке присвоюється разом із екраном на виході xrandr -q.

Таким чином, можна вільно побудувати, який "графічний пристрій" GPU працює на якому екрані. У моєму прикладі "Провайдер 0" веде "Екран 0".

ПРИМІТКА: Термін "Екран" не обов'язково відповідає одному екрану. У моєму сценарії мій графічний процесор може використовувати два виходи, LVDS1 та VGA1. Але такий підхід дозволяє вам визначитися з досить високим ступенем впевненості щодо того, який дисплей веде за допомогою якого GPU.

Вищезазначені асоціації контролюються через налаштування системи, тому є можливості, які можуть вас ввести в оману. Наприклад, вищезазначена асоціація визначається з налаштування, яке часто виглядає так:

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

Тож існує ймовірність того, що система була налаштована на Screen0те, щоб керувати чимось іншим, ніж Device0.

Список літератури


У мене немає багатопроцесорної машини для тестування, але, наскільки я можу сказати, жодна з запропонованих вами команд не вказує, який графічний процесор працює на якому моніторі.
Жиль 'ТАК - перестань бути злим'

@Gilles - правда, вони не виходять і насправді це констатують, але вони показують, як пристрій асоціюється з певним екраном (тобто дисплеями).
slm

Ви все ще не пояснюєте, як пов’язати графічний процесор з монітором (принаймні, у звичайному випадку відсутності Xorg.conf). Інформація, ймовірно, є в журналі Xorg, якщо ніде (і, мабуть, в іншому місці, але я з цим не маю досвіду).
Жиль 'ТАК - перестань бути злим'

@Gilles - хм. Постачальником "Постачальник 0" є GPU № 0. Цей графічний процесор приводить дисплеї, пов’язані як "Екран 0". Хіба я не пояснив це чітко?
slm

Але як ви знаєте, який провайдер працює на якому екрані?
Жил "ТАК - перестань бути злим"

2

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

Наприклад:

➜  ~  glxinfo | grep "OpenGL renderer string"
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.