Xrandr 仅找到一个提供商(但我有两个图形适配器)

Xrandr 仅找到一个提供商(但我有两个图形适配器)

我有一台装有 Ubuntu 16.04.1 的电脑。

昨天,我在我的电脑上安装了另一个图形适配器以获得更多的显示输出。

我的第一个适配器是 nVidia GTX 770,并且连接了四个显示器:两个在 dvi 输出,一个在 hdmi 输出,另一个在显示端口输出。

有了这四个显示器,Ubuntu 就可以正常工作。

新的适配器是 nVidia GT 640,另外还有四个输出(两个 DVI、一个 HDMI 和一个 VGA 模拟输出)。

两个适配器均被检测到:

andye@Trabajo:~$ lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GK104 [GeForce GTX 770] (rev a1)
07:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GT 640] (rev a1)

我已经使用 nVidia 367.57 默认 Ubuntu 16.04 驱动程序和新的 375.26 驱动程序(从 nvidia 网页下载并手动安装)测试了系统。

Nvidia-xconfig 检测到我的两个适配器和五个显示器:

andye@Trabajo:~$ nvidia-xconfig --query-gpu-info
Number of GPUs: 2

GPU #0:
  Name      : GeForce GTX 770
  UUID      : GPU-55d902e3-ce32-7e35-fdb2-e8c66954808d
  PCI BusID : PCI:1:0:0

  Number of Display Devices: 4

  Display Device 0 (TV-0):
      EDID Name             : BenQ GL2460
      Minimum HorizSync     : 30.000 kHz
      Maximum HorizSync     : 83.000 kHz
      Minimum VertRefresh   : 50 Hz
      Maximum VertRefresh   : 76 Hz
      Maximum PixelClock    : 170.000 MHz
      Maximum Width         : 1920 pixels
      Maximum Height        : 1080 pixels
      Preferred Width       : 1920 pixels
      Preferred Height      : 1080 pixels
      Preferred VertRefresh : 60 Hz
      Physical Width        : 530 mm
      Physical Height       : 300 mm

  Display Device 1 (TV-1):
      EDID Name             : Samsung T24C300
      Minimum HorizSync     : 15.000 kHz
      Maximum HorizSync     : 81.000 kHz
      Minimum VertRefresh   : 24 Hz
      Maximum VertRefresh   : 75 Hz
      Maximum PixelClock    : 230.000 MHz
      Maximum Width         : 1920 pixels
      Maximum Height        : 1080 pixels
      Preferred Width       : 1920 pixels
      Preferred Height      : 1080 pixels
      Preferred VertRefresh : 60 Hz
      Physical Width        : 530 mm
      Physical Height       : 300 mm

  Display Device 2 (TV-2):
      EDID Name             : BenQ GL2250H
      Minimum HorizSync     : 30.000 kHz
      Maximum HorizSync     : 83.000 kHz
      Minimum VertRefresh   : 50 Hz
      Maximum VertRefresh   : 76 Hz
      Maximum PixelClock    : 210.000 MHz
      Maximum Width         : 1920 pixels
      Maximum Height        : 1080 pixels
      Preferred Width       : 1920 pixels
      Preferred Height      : 1080 pixels
      Preferred VertRefresh : 60 Hz
      Physical Width        : 480 mm
      Physical Height       : 270 mm

  Display Device 3 (TV-3):
      EDID Name             : BenQ G2400W
      Minimum HorizSync     : 31.000 kHz
      Maximum HorizSync     : 94.000 kHz
      Minimum VertRefresh   : 50 Hz
      Maximum VertRefresh   : 85 Hz
      Maximum PixelClock    : 193.250 MHz
      Maximum Width         : 1920 pixels
      Maximum Height        : 1200 pixels
      Preferred Width       : 1920 pixels
      Preferred Height      : 1200 pixels
      Preferred VertRefresh : 60 Hz
      Physical Width        : 520 mm
      Physical Height       : 320 mm


GPU #1:
  Name      : GeForce GT 640
  UUID      : GPU-9fdb4b0d-2fde-cdeb-16e8-356757267c57
  PCI BusID : PCI:7:0:0

  Number of Display Devices: 1

  Display Device 0 (TV-1):
      EDID Name             : LG Electronics LG TV
      Minimum HorizSync     : 30.000 kHz
      Maximum HorizSync     : 83.000 kHz
      Minimum VertRefresh   : 58 Hz
      Maximum VertRefresh   : 62 Hz
      Maximum PixelClock    : 160.000 MHz
      Maximum Width         : 1920 pixels
      Maximum Height        : 1080 pixels
      Preferred Width       : 1920 pixels
      Preferred Height      : 1080 pixels
      Preferred VertRefresh : 60 Hz
      Physical Width        : 1600 mm
      Physical Height       : 900 mm

但是 xrandr 仅检测一个提供商:

andye@Trabajo:~$ xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x279 cap: 0x1, Source Output crtcs: 4 outputs: 6 associated providers: 0 name:NVIDIA-0

如果我尝试添加新的提供商:

andye@Trabajo:~$ xrandr --setprovideroutputsource 1 0
Could not find provider with index 1

我没有 xorg.conf 文件。

尽管如果我将显示器配置为 nVidia X 服务器设置中的独立屏幕,激活 Xinerama 并保存新的 xorg.conf,五个显示器就可以工作,但是我收到了几个 compiz 错误(我无法拖动屏幕中的元素 [应用程序进入我们正在立即关闭的屏幕])并且这对我来说不是一个解决方案。

问题是:为什么 xrandr 只检测第一个适配器?

以及如何解决这个问题?

提前致谢

相关内容