Ubuntu 15.10,nVidia GTX 650,三显示器设置,使用所有三个 GPU 输出(DVI、HDMI、VGA)。DVI 可以正确为 2560x1440 的显示器供电,HDMI 可以正确为 1920x1080 的显示器供电,VGA 出于某种原因不会传输设备信息,并且限制为 1360x768。
使用最新的 nVidia 驱动程序 (358.16),直接从其网站下载。过去,可以使用 Nouveau 代替,这样我就可以在第三台显示器上获得 1080(与通过 DVI 连接的显示器相同),但代价是 GPU 加速。现在,切换到 Nouveau 只会识别通过 DVI 连接的显示器。
当我尝试手动添加模式行(通过 cvt 生成,1920x1080x60)时,发生以下情况:
# 1024x1080 59.91 Hz (CVT) hsync: 67.10 kHz; pclk: 91.25 MHz
Modeline "1024x1080_60.00" 91.25 1024 1088 1192 1360 1080 1083 1093 1120 -hsync +vsync
ian@cho:~$ xrandr --rmmode 1920x1080_60xrandr: cannot find mode "1920x1080_60"
ian@cho:~$ xrandr --newmode "1920x1080_60" 91.25 1024 1088 1192 1360 1080 1083 1093 1120 -hsync +vsync
ian@cho:~$ sudo xrandr --addmode VGA-0 1920x1080_60
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 18 (RRAddOutputMode)
Serial number of failed request: 39
Current serial number in output stream: 40
这是我的 xrandr 输出:
Screen 0: minimum 8 x 8, current 5840 x 1440, maximum 16384 x 16384
VGA-0 connected 1360x768+4480+657 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.00 +
1360x768 59.96* 59.80
1152x864 60.00
800x600 72.19 60.32 56.25
680x384 59.96 59.80
640x480 59.94
512x384 60.00
400x300 72.19
320x240 60.05
DVI-D-0 connected primary 2560x1440+1920+0 (normal left inverted right x axis y axis) 597mm x 336mm
2560x1440 59.95*+
1920x1080 60.00
1680x1050 59.95
1440x900 59.89
1280x1024 75.02 60.02
1280x720 60.00
1152x864 75.00
1024x768 75.03 60.00
800x600 75.00 72.19 60.32
640x480 75.00 59.94
HDMI-0 connected 1920x1080+0+360 (normal left inverted right x axis y axis) 510mm x 290mm
1920x1080 60.00*+ 59.94 50.00 60.05 60.00 50.04
1680x1050 59.95
1600x1200 60.00
1440x900 59.89
1280x1024 75.02 60.02
1280x960 60.00
1280x720 60.00 59.94 50.00
1152x864 75.00
1024x768 75.03 70.07 60.00
800x600 75.00 72.19 60.32 56.25
720x576 50.00
720x480 59.94
640x480 75.00 72.81 59.94 59.93
VGA-1 disconnected (normal left inverted right x axis y axis)
1920x1080_60 (0x2c5) 91.250MHz
h: width 1024 start 1088 end 1192 total 1360 skew 0 clock 67.10KHz
v: height 1080 start 1083 end 1093 total 1120 clock 59.91Hz
还尝试在我的 Xorg 配置中手动设置模式行,但没有任何效果。
此设置在 Windows 中正常运行(两个显示器为 1080p,一个显示器为 1440p)。关于如何使其在 Ubuntu 中正常运行,您有什么想法吗?
答案1
找到了一个有效的答案,基于如何强制辅助显示器使用原始分辨率?和http://ubuntuforums.org/archive/index.php/t-1470168.html。
首先,我跑去nvidia-xconfig
拿了一份基础文件/etc/X11/xorg.conf
。然后,我查找了我的华硕 VX238H 显示器并获取了它的水平和垂直刷新率(因为该数据无法通过网络传输)。然后我将这些范围信息复制到 xorg.conf 中,该Monitor
部分如下所示(只创建了一个部分,用于无法自动识别的显示器):
Section "Monitor"
Identifier "Monitor0"
VendorName "ASUS"
ModelName "VX238H"
HorizSync 30.0 - 80.0
VertRefresh 56.0 - 76.0
Option "DPMS"
EndSection
重新启动后,显示设置显示了更多可用的分辨率,包括该显示器的原始分辨率,我现在正在成功使用它。
需要提醒的是,通过这种方法显示分辨率并不意味着您的显示器会神奇地支持它。例如,我的 1080p 显示器现在不支持 1920x1200,但如果您尝试向显示器驱动过多像素,最糟糕的情况是显示器上会出现“超出范围”错误。