There multiple implementations of the X protocol specifications, the most popular under Linux are: X.org and XFree86 .
XFree86 has been the de facto standard for all Linux distributions for a very long time. But the 4.4rc2 release of XFree86, introduced a new revision of the license that XFree86 is distributed under, which made all major Linux distributions switch to X.org's implementation. X.org's version 6.7.0 is identical to XFree86 4.4rc2 + some minor updates. So X.org is a drop in replacement of XFree86.
/etc/X11/: (XFree86 files:) XF86Config, XF86Config-4 or (X.org file:) xorg.conf.
startx -- -layout "name", else the top most in the configuration file will be used.
I use three different layouts: (see my X configuration file)
The "Framebuffer" layout uses the resolution/color depth/frequency of the framebuffer. I use the Matrox framebuffer. This allows me to clone the main framebuffer onto the second head, on which I have a TV connected. So I'm able to run each X application I want, and be able to see it on my TV.
"Dualhead-Cloned" does almost the same as the "Framebuffer" layout, except it uses the "Xinerama" extensions to the X server. This extension allows a desktop to be cloned, or stretched to two displays. It is easy to setup, but lacks accelerated video output, and it does not fill the entire TV screen.
Section "Screen" Identifier "screen0" Device "Matrox Millennium G400" Monitor "monitor0" DefaultDepth 24 SubSection "Display" Depth 8 Modes "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 16 Modes "1600x1200" "800x600" EndSubSection SubSection "Display" Depth 24 Modes "1600x1200" "1024x768" "800x600" EndSubSection EndSection
So in XFree 4.3 and X.org the xrandr extension was introduced. This extension enables users to, on the fly, change the resolution of their desktop ("Rootwindow"). You can use the simple commandline tool, xrandr to change the resolution, e.g. use xrandr -s 800x600 to change your resolution to 800x600.
If you want to specify the mode yourself, e.g. you want 800x600 @ 85Hz or something like that, you also need to calculate the modeline yourself. For this to work you need to know horizontal frequency range, and the vertical frequency range of your monitor.
Lucky for you there are some simple to use tools available. I recommend using The XFree86 Modeline Generator.
The generated modeline should be added to your X configuration file in the Modes section:Section "Modes" Identifier "Modes0" Modeline "800x600@85" 58.20 800 832 1048 1080 600 611 620 631 EndSection
UseModes "Modes0"
Modes "800x600@85"
Newer monitors will probably switch off if they get a mode they can't handle, and if this happens, just switch to the console by pressing "ctrl alt F1" or to another mode with "ctrl alt +/-" and revert to your previous settings.
xset
xset m 3 4 # acceleration/threshold
~/.xsession.
You can also change how the mouse "feels" by changing (or adding) the following to your X configuration file:
Section "InputDevice"
...
Option "Resolution" "1200"
...
EndSection