双显示器设置,为什么 NVidia 340 Prime 只能检测一台显示器?

双显示器设置,为什么 NVidia 340 Prime 只能检测一台显示器?

我在用着:

  • 运行 Ubuntu 14.04 的 Alienware M14xR2 笔记本电脑
  • 2 * DELL U2412M 显示器通过 HDMI 和 Mini Display Port 连接
  • Optimus 显卡(Intel + nVidia GeForce GT 650M)运行 nvidea-340 和 nvidia-prime,在 nvidia-settings GUI 中设置 Prime 以使用 NVidia GPU
  • 内置笔记本电脑显示器已禁用

不幸的是,显示器只能在默认镜像设置下成功工作 - 我在尝试使双外接屏幕扩展桌面工作时遇到以下问题:

  • nvidia-settings GUI 只能在 X Server Display Config 页面上看到一个显示器。System Display GUI 可以看到两个显示器,但只能成功镜像显示器。通过摆弄 Display GUI 和 ARandR,我暂时设法让扩展桌面工作,但 NVidia GUI 仍然只能看到其中一个显示器,如果我尝试在连接了 2 个显示器的情况下重新启动,登录后 GUI 会完全出现故障且无法使用。
  • 在启动过程中,系统仅使用左显示器(通过 HDMI i/f)进行显示,因此我推测这被视为主显示器。但是,启动后,系统似乎切换到使用显示端口作为主显示器,并且系统不允许我仅在左侧(HDMI)显示器上使用 Ubuntu 启动器。唯一可行的选项是将启动器放在两个显示器上或只放在右侧(显示端口)显示器上。我尝试通过更改 ~/.config/monitors.xml 中的主显示器开关来强制修复主显示器被错误地设置为右显示器的问题,但这不起作用,并导致两个显示器都以奇怪的分辨率显示,并且由于鼠标输入不协调而出现严重故障。

跑步 /usr/lib/nvidia-340/bin/nvidia-xconfig --query-gpu-info给予

Number of GPUs: 1

GPU #0:
  Name      : GeForce GT 650M
  UUID      : GPU-...
  PCI BusID : PCI:1:0:0

  Number of Display Devices: 1

  Display Device 0 (DFP-0):
      EDID Name             : DELL U2412M
      Minimum HorizSync     : 30.000 kHz
      Maximum HorizSync     : 83.000 kHz
      Minimum VertRefresh   : 50 Hz
      Maximum VertRefresh   : 61 Hz
      Maximum PixelClock    : 170.000 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

跑步xrandr --query给予

Screen 0: minimum 8 x 8, current 3120 x 1920, maximum 16384 x 16384
DP-0 connected primary 1200x1920+1920+0 left (normal left inverted right x axis y axis) 518mm x 324mm
   1920x1200      60.0*+
   ...
DP-1 disconnected (normal left inverted right x axis y axis)
LVDS1 connected
   1600x900       60.0 +   40.0  
   ...
DP1 disconnected
DP2 disconnected
HDMI1 connected 1920x1200+0+0 518mm x 324mm
   1920x1200      60.0*+
   ...
HDMI2 disconnected
VGA1 disconnected
VIRTUAL1 disconnected

跑步lspci | grep VGA给予

00:02.0 VGA 兼容控制器:英特尔公司第三代酷睿处理器图形控制器 (rev 09) 01:00.0 VGA 兼容控制器:NVIDIA 公司 GK107M [GeForce GT 650M] (rev a1)

我的 xorg.conf 几乎是空的,但我相信 14.04 会自动检测这些设置。

答案1

安装和卸载 Nvidia 后,我注意到一个奇怪的(也是好的)行为。那就是第二个显示器的 GUI 响应得到了很大的改善。

我还注意到 xorg.conf 有一个不同的设置,将其粘贴供您参考,

jpvel@jpvel-M11xR3:~/Downloads$ sudo cat /etc/X11/xorg.conf.04192015 

Section "ServerLayout"
    Identifier "layout"
    Screen 0 "nvidia"
    Inactive "intel"
EndSection

Section "Device"
    Identifier "intel"
    Driver "intel"
    BusID "PCI:0@0:2:0"
    Option "AccelMethod" "SNA"
EndSection

Section "Screen"
    Identifier "intel"
    Device "intel"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:1@0:0:0"
    Option "ConstrainCursor" "off"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration" "on"
    Option "IgnoreDisplayDevices" "CRT"
EndSection

我怀疑现有的 nouveau 驱动程序似乎开始遵守配置并适当地指示显卡将输出发送到外部显示器。

对于那些尝试使用 DVI 端口或 HDMI 转 VGA 适配器的人,我要警告你,它不起作用。正如 neutrino 指出的那样,Alienware 笔记本电脑中的 HDMI 端口与 Nvidia 卡焊接在一起

从第二个答案编辑:

我重新安装并再次尝试使用来自 ppa:xorg-edgers/ppa 的最新 Nvidia 驱动程序来安装 Nvidia-340,但最终弄乱了 UI。因此我决定卸载并继续使用现有设置。

但是,在全新安装后,我可以使用双显示器设置,虽然不完美,但可用。我镜像了显示器,并确保英特尔的图形驱动程序可以进行渲染(但我承认它很糟糕)

答案2

看来,由于戴尔以非常规方式连接了 Alienware M14xR2 中的 3 个显示端口、Nvidia GFX 和板载 Intel GFX,因此您无法使用 HDMI 和 MDP 作为外接显示器。此外,由于戴尔连接了 Nvidia 卡以通过 Intel 卡,因此无法在 BIOS 中禁用 Intel GFX!

使用 HDMI 和 VGA 端口作为显示器解决了这个问题,并允许在 Ubuntu 14.10 上使用外部双显示器设置而无需镜像。

然而,在撰写本文时,Nvidia 340 和 346 系列驱动程序不适用于这种双显示器设置,只能在单显示器的情况下正常工作。只有 Nvidia 331 系列似乎支持这种双显示器设置(或 Nouveau - 但该驱动程序在第二台显示器上显示的图像非常嘈杂,其 3D 加速也无法正常工作)。错误,错误,错误!

相关内容