1

Ubuntu 15.10, nVidia GTX 650, three-display setup using all three GPU outputs (DVI, HDMI, VGA). DVI correctly powers a display at 2560x1440, HDMI correctly powers a display at 1920x1080, VGA won't transmit device info for some reason and is limited to 1360x768.

Using latest nVidia drivers (358.16), downloaded directly from their site. In the past, Nouveau could be used instead and I'd get 1080 on the third monitor (identical to the monitor hooked up via DVI), at the expense of GPU acceleration. Now, switching to Nouveau only recognizes the DVI-connected display.

When I try to manually add the modeline (generated via cvt, 1920x1080x60) here's what happens:

# 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

Here's my xrandr output:

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

Also tried manually setting the modeline in my Xorg config but that didn't have any effect.

This setup works correctly in Windows (two displays at 1080p, one at 1440p). Any ideas on how to make it work properly in Ubuntu?

iansltx
  • 11

1 Answers1

0

Found an answer that worked, based off of How to force native resolution on secondary monitor? and http://ubuntuforums.org/archive/index.php/t-1470168.html.

First, I ran nvidia-xconfig to get a base file in /etc/X11/xorg.conf. From there, I looked up my ASUS VX238H monitor and got its horizontal and vertical refresh rates (since that data isn't making it over the wire). I then copied those ranges info xorg.conf fo the Monitor section looked like so (only one section was created, for the monitor that couldn't be identified automatically):

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "ASUS"
    ModelName      "VX238H"
    HorizSync       30.0 - 80.0
    VertRefresh     56.0 - 76.0
    Option         "DPMS"
EndSection

Once I rebooted, display settings showed a bunch more resolutions available, including the native resolution of that monitor, which I'm successfully using now.

As fair warning, just because a resolution is shown via this method doesn't mean your monitor magically supports it. For example, my 1080p monitor doesn't now support 1920x1200, though the worst you'll get is an Out of Range error on the monitor if you try to drive too many pixels to it.

iansltx
  • 11