모니터를 구동하는 그래픽 카드를 어떻게 확인합니까?

모니터를 구동하는 그래픽 카드를 어떻게 확인합니까?

시스템은 Intel/ATI 하이브리드 제품(멀티플렉서 없음) 중 하나를 사용하여 설정됩니다. 커널 설정과 드라이버를 약간 조작한 후에는 두 카드가 모두 작동할 것이라고 생각합니다(커널 설정에 radeon.dpm=1을 추가하고 오픈 소스 드라이버만 사용).

하지만 시스템이 어떤 카드를 사용하고 있는지 알 수 없습니다. 최신 커널(3.12) 및 동적 전원 관리에 대한 내 이해에 따르면 필요할 때 카드의 전원을 끄거나 켤 수 있으므로 이론상으로는 대부분의 경우 통합 hd4000을 사용해야 하지만 어느 것을 확인할 수 있는 쉬운 방법을 찾을 수 없습니다. 사용하고 있습니다.

lspci | grep VGA현재 사용 중인 카드를 지정하지 않고 모든 카드만 나열합니다.

올바른 방향으로 추진하고 있는 일부 사람들에게 많은 감사를 드립니다.

체계

Debian 7 안정 버전, 3.12 amd64 커널 7670M AMD + Intel HD4000

답변1

랜달

를 사용하면 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

이 시스템에는 2개의 포트(출력)가 있는 Intel 그래픽 카드 1개가 있습니다. 다음과 같이 출력을 볼 수 있습니다 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마지막으로 실제 그래픽 카드에 대한 추가 정보를 찾는 데 사용할 수 있는 방법은 다음과 같습니다 .

$ 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 "장치"가 어떤 화면을 구동하는지 느슨하게 구성할 수 있습니다. 내 예에서는 "Provider 0"이 "Screen 0"을 구동하고 있습니다.

노트:"화면"이라는 용어가 반드시 단일 디스플레이에 해당하는 것은 아닙니다. 내 시나리오에서는 GPU가 2개의 출력(LVDS1 및 VGA1)을 구동할 수 있습니다. 그러나 이 방법을 사용하면 어떤 모니터가 어떤 GPU에 의해 구동되는지를 높은 수준의 확신을 가지고 결정할 수 있습니다.

위의 연결은 시스템 설정을 통해 제어되므로 오해의 소지가 있을 수 있습니다. 예를 들어 위의 연결은 일반적으로 다음과 같은 설정에 의해 구동됩니다.

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

Screen0따라서 시스템은 Device0.

인용하다

답변2

OpenGL 그래픽을 표시하는 데 사용할 수 있는 glxinfo비디오 어댑터 .mesa-utils

예를 들어:

➜  ~  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는 노트북의 내장 LCD 화면을 제어합니다. "card1-HDMI-A-1"은 HDMI 포트의 외부 디스플레이를 제어하는 ​​nvida GPU입니다. 아직 완벽하지는 않지만 내가 원하는 것을 말해 줄 만큼 충분히 가깝습니다.

관련 정보