Enable correct resolution on VGA output

I recently reinstalled Ubuntu 12.10 from scratch on a PC with a nvidia GeForce 9300 embedded. The only particular thing is that it was connected to the monitor through VGA.

Unfortunately, the display was stuck at 1366x768 instead of the native resolution 1680x1050 no matter if I used the nouveau or the nvidia drivers.

I tried a bunch of tricks (using xrandr, tweaking xorg.conf, cheating nvidia-settings) without any success, until I found the following:

  • Connect the monitor through VGA
  • Launch nvidia-settings
  • Save (overwrite) xorg.conf, make sure it is valid
  • Connect the monitor through DVI and restart the computer
    • or use sudo service lightdm stop then sudo service lightdm start in a textmode console (CTRL+ALT+F2)
  • Launch nvidia-settings
  • Go the monitor information (usually below GPU-0 in the left tree)
  • Click the "Acquire Edid" button and save the edid as binary file somewere (I put it in /etc/X11/idek_iiyama_pl2002w_edid.bin)
  • Finally, edit the xorg.conf and add the following under section screen
Option         "CustomEDID" "CRT-0:/etc/X11/idek_iiyama_pl2002w_edid.bin"

This will finally enable VGA output to work properly.

Source

I hooked up my external monitor via DVI to my laptop and did an acquire EDID from nvidia-settings. Then I modified my xorg.conf file to include this section:

Section "Device" Identifier "Default Device" Driver "nvidia" Option "NoLogo" "True" Option "Twinview" "1" Option "CustomEDID" "CRT-0:/home/paul/.nvidia/acer_al2223w_edid.bin"

EndSection

Page top