Ubuntu 9.04 nVidia Driver Screen Resolution Problem

Many people running Ubuntu 9.04 are having trouble with the proprietary nVidia driver (nvidia-graphics-driver-180 in my case) including getting it to go to high resolutions that fit the native resolution of widescreen monitors. I had the same problem with an nVidia GeForce 6150 LE and Dell UltraSharp 2407WFPHC monitor.

I was able to get all the resolutions, including 1920×1200, for my monitor as well as have the nVidia driver recognize the monitor as a 2407WFPHC, by doing the following:

(If you can’t see your screen at all after enabling the nVidia driver, first read the companion post, Ubuntu 9.04 Screen Resolution/Monitor Out of Range (nVidia Driver 180).)

  1. Open a terminal window
  2. Go to the X11 directory (cd /etc/X11)
  3. Make a backup of the current xorg.conf (e.g., sudo cp xorg.conf xorg.conf.backup)
  4. Run nvidia-xconfig with root permission (sudo nvidia-xconfig). If you get a parsing error, delete xorg.conf so nvidia-xconfig can create a fresh one.
  5. Open xorg.conf with your favorite editor (e.g. sudo vim xorg.conf)
  6. You’ll see a lot of extra settings now
  7. Look for Section “Monitor”. Mine defaulted to the following settings:
    Identifier “Monitor0”
    VendorName “Unknown”
    ModelName “Unknown”
    HorizSync 28.0  – 33.0
    VertRefresh 43.0 – 72.0
    Option “DPMS”
  8. Change the HorizSync and VertRefresh values to the correct ones for your particular monitor. For my 2407WFPHC, I put the following:
    HorizSync 30.0 – 83.0
    VertRefresh 56.0 – 76.0
  9. Save the xorg.conf file
  10. Log out and restart the X server (at the login screen, select Menu, then Restart X server)
  11. Log in and run the NVIDIA X Server Settings tool. You should now have a whole bunch of resolutions from which to choose. I selected 1920×1200.

The reason that this works is that the nVidia driver needs to know the frequency ranges for your monitor in order to know what resolutions are safe to use. Setting the HorizSync and VertRefresh in xorg.conf provides this necessary information.

28 thoughts on “Ubuntu 9.04 nVidia Driver Screen Resolution Problem”

  1. This was a great set of instructions. It was getting to be a real bummer running my 19″ monitor at 1024 X 768. However, everytime I reboot, it doesn’t retain my resolution settings. Any ideas?

  2. Hi Shtaffa. Make sure that you’re using the NVIDIA X Server Settings (nvidia-settings) tool to set the resolution, not the Gnome or KDE Display tool in Preferences.

  3. This and the “Monitor Out of Range” post worked great, and I was able to get my Acer X193W monitor running at 1440×900. Like Shtaffa, though, I have a however… In my case, I can use the nvidia-settings to set the monitor resolution just fine, but when I have it save the xorg.conf file and restart the X server, I get the original “Monitor Out of Range” problem again. The line I added to the Device section to fix the first occurrence of this problem is still there. Do you have any suggestions for fixing this? I would rather not have to change the screen resolution every time I log in.

  4. Hi Eugene,

    After you choose the resolution that you want with nvidia-settings, you don’t have to save it as an xorg.conf file. Your choice is actually stored elsewhere. Only nvidia-xconfig should create your initial xorg.conf file (step #4). After you’re done with step #9, there are no more changes to xorg.conf.

  5. In that case, I am getting the same problem as Shtaffa. If I don’t save the settings to xorg.conf in nvidia-settings, my screen reverts to a low resolution every time I log in. Where are my choices stored? Is there a way to check that they are being stored correctly?

  6. Make sure you’re running nvidia-settings via sudo or it won’t have permissions to save the resolution you choose. I’m not sure where the values are stored. Haven’t found them yet.

  7. I am running nvidia-settings via sudo. It doesn’t complain about permissions when I run as a regular user, though, and I would expect if it was trying to save something and couldn’t, I would get some sort of error message, no?

  8. I didn’t get any errors when running without sudo either. I’ll post a reply here when I find out where the settings are stored. I just did a quick look around and it wasn’t anywhere obvious.

  9. Hi Peter,

    Hope you help me out. I have Unbuntu 9.04 installed. But I can’t seem to get higher resolution than 1280×800 on my Dell 30″ LCD. It is killing me with this resolution. I followed your steps, and only see 1280×800. Can you give me a hand?

    Cheers.

  10. Thanks for the reply Peter.

    I have the NVidia 6600 GT card.

    Yes, I’ve tried to install the latest driver from NVidia, and no luck.

  11. I have the problem with Nvidia settings defaulting to 800×600 on boot, but I don’t think its a save problem.
    I notice when I boot up, after the splash screen I have a dark screen w/ small cursor. The screen flickers off for a second and the small cursor is replaced with a large cursor.
    I think the Nvidia settings are being read, and then overwritten by the generic default.
    ???

  12. My cursor and screen dimensions change a couple times during boot as well. If you don’t have available all the resolutions that your monitor supports, then this post is for you. If you can already select the proper resolution, then just make sure you’re not overwriting xorg.conf after choosing your desired resolution. xorg.conf is just for setting the frequency range, not the desired resolution.

  13. Once you get it all working, backup the xorg.conf file. You’re going to need it after updates.

  14. Thank you sooooo much. Finally i got the native resolution on my acer 24″. thank you, thank you, thank you!!! so glad.

    greetings!

  15. For those newly bald from tearing their hair out over this issue see http://ubuntuforums.org/showthread.php?t=1242804&page=3 for what wound up solving my problem (this site came up higher on my searches). In the end the setting in the default Gnome Display (choose not to use the nvida config tool) was the culprit in resetting the resolution down to my pre-nvidia state. As soon as I locked in 1920×1080 there, voila, presto, no need to manually set the resolution after every single restart.

  16. DoubleGrande & Peter: This thread did the trick after a couple of hours on other paths. Much appreciated. To those looking for the simple “What do I do?”:

    open a command shell
    type “sudo nvidia-settings”
    enter password
    use this application to set your video as you wish
    save settings
    menu->prefernces->display: set to the same settings for resolution
    done (reboot)

    Thanks again

  17. i have tryed a lot of video /vga/grafic cards
    and i have used a lot of linux os .and i always come back to nvida-185 .it is the driver