如何检查哪个显卡正在驱动我的显示器?

如何检查哪个显卡正在驱动我的显示器?

该系统采用 Intel/ATI 混合产品之一(无复用器)进行设置。经过一番摆弄内核设置和驱动程序后,我认为这两张卡都可以工作(在内核设置中添加 radeon.dpm=1 并仅使用开源驱动程序)。

但是我无法弄清楚系统正在使用哪张卡。根据我对较新内核(3.12)的理解,amd 动态电源管理将在需要时关闭/打开卡电源,因此理论上它应该在大多数时间使用集成 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

在这个系统上,我有 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(笔记本电脑上的 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

中的glxinfomesa-utils可用于显示用于 OpenGL 图形的视频适配器。

例如:

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

答案3

这个问题仍然出现在谷歌结果的顶部附近,所以我会回答它,即使它已经很老了。 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。仍然不完美,但足够接近告诉我我想要什么。

相关内容