I hope this helps somebody because most people online don't realise they can use the smallest code snippets possible when the automatic detection doesn't work. Either they say to create an xorg.conf file including every setting under the Sun, or else every user of the system must use a graphical front end every reboot, with a script in every user's home directory if you want it permanent.
I found a large number of people with similar problems to me that remain unresolved, and much of the code and advice on these pages was erroneous.
I was worried I needed all sorts of sections like "Device" and "Modes" that all had to refer to each other but I tried something short and it worked... mostly.
Filename and Path
Some websearching revealed the following:
Custom configuration files follow this priority:
- settings from /usr/share/X11/xorg.conf.d/
- udev rules (I'm not quite sure about udev priority, maybe less)
- settings from /etc/X11/xorg.conf.d/
- settings in /etc/X11/xorg.conf
where the good old, still supported xorg.conf has highest priority. Therefore any rules you put in /usr/share/X11/xorg.conf.d/ loose validity when other rules with a higher priority are found.
To define a custom configuration without xorg.conf file you need to create a folder /etc/X11/xorg.conf.d/ where you put your custom device configuration files in (here your 50-synaptics.conf). However any other definitions in an existing xorg.conf file will override these, therefore you need to remove your xorg.conf file.
If you read the xorg.conf* man pages you will find about twenty more paths to confuse you and contradict this info...
I followed the advice on this page: http://samuelmartin.wordpress.com/category/linux/
The file I created was:
/etc/X11/xorg.conf.d/10-monitor.conf
Virtual Display resolution
I needed a screen section to allow an adequate width for my two displays, so the shortest possible was the following:
Section "Screen"
Identifier "default Screen Section"
SubSection "Display"
Virtual 2560 1024
EndSubSection
EndSection
Monitor Resolution
The main reason for the problem detecting the VGA screen resolution is that I have a splitter cable and an extra display with an extension cord, which I don't always use.
I wasn't sure how to identify the vga output in the monitor section so I always referred to it by ATI's naming convention, "VGA-0". Even where I could refer to it as something else, I call it VGA-0. (I've found the device and server sections of the conf file to be unnecessary for this).
I discovered I needed to add a modeline as per the instructions on the link above. Well to find your modeline, the cvt command has superseded the gtf command (Don't use mine). Lord knows what a modeline really does. There seems to be no way to specify which monitor you're even probing so you just have to cross your fingers that this bunch of numbers is even what you're looking for...
Section "Monitor"
Identifier "VGA-0"
Modeline "1280x1024_60.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync
Option "RightOf" "DVI-0"
EndSection
Testing
It worketh ... mostly ...
I turn monitors off because I've had to replace capacitors in the power circuit of my LCD screen. I am also disappointed by the power consumption of these devices in standby.
When this monitor was turned off during startup, I got clone mode again. I had to add some repetition of information.
Option "RightOf" "DVI-0"
Option "Position" "1280 0"
I also added a DVI-0 monitor section.
ARANDR consistently crashed on me when I tried to adjust it on the fly like most people recommend nowadays, so that seems to be a piece of poo that doesn't play nicely with xorg.conf settings (It reminds me of CSS which doesn't play nicely with HTML attributes... but I digress).
I still have to find a way to specify a VGA refresh rate of 60Hz which is not "helpfully" automatically reset all the time, or else I can not turn on my third monitor (with the splitter cable) when I want it, which is offpissing. The following line does not work:
Option "PreferredMode" "1280x1024_60.00"
The full code of my 10-monitor.conf file:
Section "Monitor"
Identifier "DVI-0"
Option "LeftOf" "VGA-0"
EndSection
Section "Monitor"
Identifier "VGA-0"
Modeline "1280x1024_60.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync
Option "PreferredMode" "1280x1024_60.00"
Option "RightOf" "DVI-0"
Option "Position" "1280 0"
EndSection
Section "Screen"
Identifier "default Screen Section"
SubSection "Display"
Virtual 2560 1024
EndSubSection
EndSection