I've this situation/hardware on my desktop PC:

  • Ubuntu Linux Oneiric 11.10 (32 bit)
  • Monitor Asus VW222s (22'')
  • 01:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 8800 GS] (rev a2)
  • NVIDIA Driver Version: 280.13

I've no problem with my actual configuration and I can achieve 1680x1050 as expected.

What's the problem then?

Well, I've bought this VGA switch: http://www.mayflash.com/?Products/XBOXXBOX360/VGA002.html to be able to share my Monitor with my desktop PC and my Xbox but if I connect the monitor through the VGA adapter, the Monitor capabilites are not recognized and I can only have 1024x600 resolution.

Please note this (it's IMPORTANT):

case A) if I boot Ubuntu with this configuration Monitor ---> PC, THEN I disconnect cables and attach them to use the VG Switcher, having this configuration: Monitor ----> VGA Switcher ----> PC, I can have 1680x1050 resolution.

case B) if I boot Ubuntu directly using the VGA Switcher: Monitor ---> VGA Switcher ---> PC, the monitor capabilities are not recognized and I cannot have 1680x1050.

So, since I don't want to plug-unplug-plug-unplug the cables everytime (else I would not have bought a VGA Switcher....) my idea is that forcing a proper xorg.conf configuration, I could avoid the detection of the Monitor on each boot and force Xorg to use that configuration.

The question are:

1) How do I save the current Xorg configuration to a xorg.conf file?

2) How do I force Xorg to use xorg.conf configuration on each boot without detecting it each time?

I hope I've given all the informations you need to help me. Please tell me if you need to know more.


p.s: I've already tried to use the xorg.conf generated by nvidia-settings tool, but as you can see it doesn't contain anything about the current 1680x1050 resolution http://pastebin.com/j8eBA83d

=== UPDATE #1 ===

I've tried the method you suggested me and this is the generated xorg.conf

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 280.13  (buildd@rothera)  Thu Aug 11 17:28:49 UTC 2011

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"

Section "Files"

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Ancor Communications Inc VW222"
    HorizSync       31.0 - 81.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 8800 GS"

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "TwinViewXineramaInfoOrder" "CRT-0"
    Option         "metamodes" "1680x1050_60 +0+0; nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24

If I disconnect the monitor for a minute and I attach it through the VGA Switcher, the resolution is perfect and the monitor is correctly set to 1680x1050 @ 60Hz

Look at this screenshot:

Asus 1680x1050 @ 60 Hz

This means it is working nice. What's the problem then? The problem is that if I reboot Ubuntu using the generated xorg.conf I've pasted before the fonts are all displayed ugly and the images are blurred. The resolution of the screen is 1680x1050, but the monitor is using another resolution an I suppose it's enlarging the screen image.

I'll post another picture later in update #2 so you can see with your eyes.

=== UPDATE #2 ===

I've rebooted Ubuntu using the configuration I posted and... it works! Probably the previous time I generated it I didn't specify the 60 Hz in the nvidia-settings tool and that value was not saved. For now it's working. Now I can't wait to have also my XBox VGA cable ;)


You would need to start nvidia configuration tool with the proper permissions (elevated as root) if you can sudo you ca do gksu nvidia-settings from the Dash run command mode which you can access by pressing alt+F2 or from a command line. From there you would be able to use the nvidia settings panel to save to an xorg.conf file.

Make sure you backup the file that you have working now, so that if you make a mistake and your interface isn't working any more you can replace the bad file with the good one. You can backup or edit the file manually by using the terminal to go to /etc/X11/ in there you will find the xorg.conf file. Again, you need root permissions which you can activate by using sudo, you can do sudo mv xorg.conf xorg.conf.backup1 to rename the file in the command line. you can do the same, but reverse the names to name it back. You can open the file for editing with a program like vim or pico by typing sudo pico xorg.conf granted that you are in the /etc/X11 folder.

You then have to restart the xserver which you can do by loging out of your account and logging back in, or type in unity in the terminal, which is the same as unity --replace, that should restart your X11.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.