The Linux Page

Update to Ubuntu 14.04, huge problems with the display!

Oka, so today I finally got the chance to upgrade to Ubuntu 14.04, hopefully soon to 14.10 too.

I have to say that in general, it looks like they've done a good job as things seem to work better...

However, the display setup got lost. My HP 2509m monitor is connected through a KVM and because of that, it does not always work as expected. That is, the nVidia card does not get to read the monitor information. It took me a while, but I found a way to fix the problem.

First of all I connected the monitor directly to my computer. That gave me the ability to change the resolution to 1920x1080 as before. While running nvidia-settings you can actually save the data in a file named xorg.conf.

NVidia X Server Settings Screenshot

The file should include all the necessary info, although I went ahead and also used cvt to discover the Modeline and add that to the Monitor section:

prompt $ cvt 1920 1080 60
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync

Somehow, this seemed right, although I'm not too sure how they calculate that and whether that's always the same information for all monitors.

Now, I added the Modeline to the Monitor section. This includes the correct parameters for the refresh rate and my extra Modeline. But I'm pretty sure that the Modeline is not required.

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "HP 2509"
    HorizSync       24.0 - 94.0
    VertRefresh     50.0 - 76.0
    Option         "PreferredMode" "1920x1080_60.00"
    Modeline       "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
    Option         "DPMS"
EndSection

However, when I restarted X11, I actually got a much bigger list of modes. The xrandr tool can be used to list all the available modes on a per screen and connector basis:

Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384
VGA-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768       75.0 +   70.1     60.0  
   1920x1440      60.0  
   1920x1200      60.0  
   1920x1080      60.0*    59.9  
   1856x1392      60.0  
   1792x1344      60.0  
   1680x1050      74.9     69.9     60.0     59.9  
   1600x1200      75.0     70.0     65.0     60.0  
   1440x900       59.9  
   1400x1050      74.8     70.0     60.0  
   1360x768       60.0     59.8  
   1280x1024      75.0     60.0  
   1280x960       60.0  
   1152x864       75.0     75.0     70.0     60.0  
   960x600        60.0  
   960x540        60.0  
   840x525        75.0     69.9     60.0     59.9  
   832x624        74.6  
   800x600        75.0     72.2     60.3     56.2  
   720x450        59.9  
   700x525        74.8     60.0  
   680x384        60.0     59.8  
   640x480        75.0     72.8     59.9  
   512x384        70.1     60.0  
   400x300        72.2  
   320x240        72.8     60.1  
DVI-D-0 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)

However, to make that available on the following reboot or restart, I had to save the xorg.conf file in the right place. I noticed that the file in /etc/X11 was getting renamed and was not getting read. Searching about that, I found a couple of pages mentioning that now the xorg.conf has to be put in this directory instead:

/usr/share/X11/xorg.conf.d

So, that was the main thing. Yet, when restarting X11, it would not remember the resolution. To fix that, I had to use the System Settings... » Display and setup the resolution in that window. Setting it up in the nvidia-settings works, but it does not get saved.

So... quick recap:

  1. Direct connect monitor to gather information
  2. Use nvidia-settings to save the settings to my own xorg.conf file
  3. Put the file under /usr/share/X11/xorg.conf.d
  4. Restart X to get the new resolutions
  5. Go to System Settings... » Display to setup the resolution

Good luck with your display settings!