How to configure the X.org server

What can help configuring the X server?

We nead to find what can be used in order to configure the X server. This page explains the old XFree86 and the new X.org projects only.

presentation guidelines

 * First of all, there are two solutions: one related to the video driver, the other to any other problems you may have configuring the X server
 * Please split the solutions in 3:
 * Part one is universal: solutions work for (almost) any distributions of linux or BSD and use only Free Software and Open Source software
 * The seccond part should contain distribution-specific solutions.
 * A third part will include non-free software, like proprietary drivers.

= Introduction =

for newbies - the configuration file

 * Please know that there used to be XFree86 and now people are using X.org as X server. Depending on your server, you have your configuration file located (maybe) in /etc/X11/Xorg.conf or /etc/X11/XFree86.conf or /etc/X11/XF86Config (under Debian stable it is /etc/X11/XF86Config-4)
 * If you want your X server to start you must install and configure at least a mouse, keyboard, graphical card and monitor. All configuration is done with the confiuration file, unless you have a special, GUI-based program, that will edit the configuration file for you.

for newbies - the hardware acceleration

 * Normally if your display in X starts, you have the GLX extension for OpenGL provided usually by the mesa program under linux. This will make 3D work as CPU emulation, and this is usually very slow.
 * Sometimes you do not have hardware acceleration because the driver for your graphical card is not well installed or configured. Hardware acceleration is also called DRI or direct rendering.
 * Once X "works", you can check if you have 2D/3D acceleration. The easy way to do this is to type "glxinfo" in a terminal window and search for direct rendering: yes line, or just type the command "glxinfo | grep direct".
 * If you have direct rendering you can test the speed with the command glxgears.

= General =

universal

 * Related to display modes
 * xtiming
 * gtf

proprietary solutions
= The pointing device (mouse) =

universal

 * psaux under linux2.6 - using psaux mouse unde linux2.6 when it does not work the normal way...

= the graphical driver =

universal

 * linux 3D wiki

ATI-specific

 * gentoo FAQ - useful whatever your distribution is
 * ATI Linux driver packages for Debian - Debian-based distributions specific
 * ATI related site

Related

 * Graphics systems(What are the main free)

From HowTo Wiki, a Wikia wiki.

= New Howto = It is impossible to create new pages for now, please move this content to the following page when the problem gets fixed:
 * Howto change the normal behaviour of a key in X.org or in linux

Description
This howto describes how to change the function of a key. You might want to do this in the following situations:
 * you are using very offten vim and you want to make the WIN key to behave as the ESC key
 * you have a good keybord but one of the keys is broken and you want to avoid buying a new keybord
 * you just want to modify the layout because you thing it's cool

Solution
Let's suppose the "f" key is broken and you want the "²" key to behave as the broken key.

Istall xev if not present; in Debian you cand o this with

apt-get install x11-utils

Install an external USB keyboard (only if you have a broken key).

Run xev in a terminal and Select the little window to active it. While selected, press the "f" key and you should see this:

''' KeyPress event, serial 33, synthetic NO, window 0x3000001,

root 0x1a6, subw 0x0, time 22433721, (31,-24), root:(797,147),

state 0x0, keycode 41 (keysym 0x66, f), same_screen YES,

XLookupString gives 1 bytes: (66) "f"

XmbLookupString gives 1 bytes: (66) "f"

XFilterEvent returns: False '''

The only inormation useull is on the third line:

keycode 41 (keysym 0x66, f)

This tells us that the key code is 41 and the key sym is 0x66 for the "f" key. The key code is the code associated with this key on your physical keyboard. The key sym is the code of the event associated with this key. In this case the code 0x66 represents the event named "f". You can obtain the key code with xmodmap -pke | less (optional).

For the key "²" we have a keycode of 49 and the keysym of the event is 0xb2 and the event is named twosuperior:

''' KeyRelease event, serial 33, synthetic NO, window 0x3000001,

root 0x1a6, subw 0x0, time 23453596, (166,-12), root:(171,40),

state 0x0, keycode 49 (keysym 0xb2, twosuperior), same_screen YES,

XLookupString gives 2 bytes: (c2 b2) "²"

XFilterEvent returns: False '''

Now we can use xmodmap to make the key "²" act as the key "f" should act (optional):

 xmodmap -e 'keycode 49 = f' 

I we want to make the key "f" act as the key "²" we can do this (optional):

 xmodmap -e 'keycode 41 = twosuperior' 

I we want to make the changes permanent or a user, just create and edit the file .Xmodmap in the home directory:

nano ~/.Xmodmap

I you want instead to make the changes or all users o the X server, edit the following file (be careful):

nano /etc/X11/Xmodmap (Mandriva / RPM based?)

nano /etc/xmodmap.conf (Debian, debian based?)

And add this lines to the file you chose to create:

''' ! In order to exchange the "f" and the "²" keys:

keycode 49 = f

keycode 41 = twosuperior '''

Now, if you want the changes to apply to one user only type each time you want:

xmodmap ~/.Xmodmap

And if you want to do it automatically and you use KDE, create the file ~/.kde/Autostart/Xmodmap with he following content:

''' xmodmap ~/.Xmodmap '''
 * 1) ! /bin/sh

Then:

''' chmod +x ~/.kde/Autostart/Xmodmap '''

WARNING: Do not use this guide for CTRL or ALT or SHIT. This guide must include more information if you want to assign events related with special keys.