Why isn't my monitor's native resolution appearing as an option? [closed]

I'm on a clean install of Ubuntu 10.04 LTS. My monitor's native resolution is 1280x1024. However, in the Monitor Preferences application, I am only presented with 640x480 and 800x600 as options. My video card is an on board Matrox G200eW. I tried installing the proprietary driver from Matrox's website, but the installer immediately throws four errors. I also tried using xrandr to set my resolution, but it simply pops back saying "Size 1280x1024 not found in available modes." How can I get 1280x1024 added to my available sizes to that I can switch to it?


Installing the proprietary driver might help!

You can also put new screen modes in the configuration file called /etc/X11/xorg.conf but there is no default since everything is probed every time X starts. So to get a good default you can have Xorg write the probed config to file. This is done by shutting down X and the restarting, telling X on the commandline that it only has to write a config file.

So firstly print or write down these instructions ;)

Then press Ctrl + Alt + F1 to go to a console. There you will have to login. Just login as your normal privileged user.
To stop X use this command:

sudo service gdm stop

and then to have X generate a new configfile

sudo Xorg -configure

The Xorg command will tell you where it have saved the config and you can now choose to return to X if you are more comfortable with a GUI.
Restart X by using this command

sudo service gdm start

Now edit you new xorg.conf and save it as /etc/X11/xorg.conf find the section that looks like the one below and add the videomodes you want (the Modes line properly isn't there, but just add it after Depth like I have done below.

Section "Screen"
    Identifier    "Default Screen"
    Device        "NVIDIA Corporation NV34 [GeForce FX 5200]"
    Monitor        "CM752ET"
    DefaultDepth    16
    SubSection "Display"
        Depth        24
        Modes      "1024x768" "800x600"
    EndSubSection
EndSection

If your driver supports xrandr this should work:

  • Use this command:

    cvt width height
    
  • I will give an output like this:

    1280x1000 59.93 Hz (CVT) hsync: 62.21 kHz; pclk: 105.50 MHz
    Modeline "1280x1000_60.00"  105.50  1280 1360 1488 1696  1000 1003 1013 1038 -hsync +vsync
    
  • Copy the numbers after 105.5

  • Then use these commands:

    xrandr --newmode name 105.50  1280 1360 1488 1696  1000 1003 1013 1038 -hsync +vsync  
    xrandr --addmode name
    
  • The first command will create a new mode with name, the second will add that mode to the available list.

Now you should be able to select your desired resolution from the drop-box in the usual menu.