How To Wiki

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 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.


for newbies - the configuration file

  • Please know that there used to be XFree86 and now people are using 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.




proprietary solutions

The pointing device (mouse)


the graphical driver



proprietary solutions


  • 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 or in linux


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


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:

  1. ! /bin/sh

xmodmap ~/.Xmodmap


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.

External links