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.
Thanks.
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"
EndSection
Section "Files"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
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"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 8800 GS"
EndSection
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
EndSubSection
EndSection
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:
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 pressingalt
+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 dosudo 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 typingsudo 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 asunity --replace
, that should restart your X11.