User Tools

Site Tools



The X.Org project provides an open source implementation of the X Window System.

The simplest working config (th)

The shortest way to working xorg with mouse and keyboard for common hardware configurations:

# backup xorg.conf, and then
rm /etc/X11/xorg.conf
# install drivers
poldek -u xorg-driver-video-$YOUR_VIDEO_DRIVER
poldek -u xorg-driver-input-evdev
# install hal and dbus
poldek -u hal dbus
# and the most important step for mouse and keyboard (-:
service messagebus start
service haldaemon start
# test it

xserver >= 1.5.3 and kbd + mouse drivers + no HAL

xorg server can use two different sources of mouse, keyboard information. This section descibed kbd and mouse driven one without a HAL (or with disabled HAL).

xorg.conf, section “ServerLayout”:

# disable HAL
Option "AutoAddDevices" "false"

# indirectly cause kbd & mouse driver to be used
Option  "AllowEmptyInput" "false"

You need typical keyboard and mouse configuration sections, too.

xserver 1.8+ and input devices + udev

Hal is no longer used. See

NOTE: xinput is in xorg-app-xinput package in PLD Linux.

xserver 1.8+ and keyboard

Configuration stored in '/etc/X11/xorg.conf.d/10-keyboard.conf' supposed to support pl national characters and ctrl-alt-bkspc. Missing ctrl-alt{-,+}) though.

Section "InputClass"
        Identifier "keyboard-all"
        Driver "evdev"
        Option "XkbLayout" "us,pl"
        Option "XkbModel" "evdev"
        Option "XkbVariant" ",qwerty"
        #Option "XkbOptions" "grp:alt_shift_toggle,grp:switch,compose:rwin,terminate:ctrl_alt_bksp"
        Option "XkbOptions" "compose:rwin,terminate:ctrl_alt_bksp"

        Option          "LeftAlt"       "Meta"
        Option          "RightAlt"      "ModeShift"

        MatchIsKeyboard "on"

xserver 1.8+ and synaptics

Consider creating file '/etc/xorg.conf.d/10-synaptics.conf' containing:

Section "InputClass"
        Identifier      "touchpad catchall"
        Driver          "synaptics"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Option          "SHMConfig"             "true"
        Option          "HorizEdgeScroll"       "1"
        Option          "VertEdgeScroll"        "1"
        Option          "TapButton1"            "1"
        Option          "TapButton2"            "1"
        Option          "TapButton3"            "1"
        Option          "AccelFactor"           "0.001"

xserver and evdev driven input devices + HAL

xorg server can use two different sources of mouse, keyboard information. This one is anount evdev driven and HAL provided information.

evdev kernel module needs to be loaded:

echo evdev >> /etc/modules
modprobe evdev


Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option "XkbRules"   "xorg"
        Option "XkbModel"   "evdev"
        Option "XkbLayout"  "pl"

Keyboard configuration


cp -a /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi /etc/hal/fdi/policy/
vi /etc/hal/fdi/policy/10-keymap.fdi

If the above does not work:

setxkbmap -model evdev -layout pl

From KDE 3 Control Center:

Control Center -> Regional & Accessibility -> Keyboard Layout -> Keyboard model: "Evdev-managed keyboard"

From KDE 4 systemsettings:

System settings -> Regional & Language -> Keyboard Layout ->  Keyboard model: "Evdev-managed keyboard"

Note that kde3/4 method above is just a GUI-way for configuring kde setxkbmap call.

synaptics and mouse tapping

WARNING: do not add any kind of synaptics entries to xorg.conf. If you do, xorg will see two of them – the manually-added one and the automatically-detected one (type xinput list to see a list of all detected input devices) and all of the configuration options listed below will get applied to the wrong one. In other words, as long as there's a synaptics entry in xorg.conf, you won't have any way to change the drivers configs.

Xorg v7.4 does not enable tapping by default. To enable add to 11-x11-synaptics.fdi:

<merge key="input.x11_options.TapButton1" type="string">1</merge>
<merge key="input.x11_options.TapButton2" type="string">2</merge>
<merge key="input.x11_options.TapButton3" type="string">3</merge>

NOTE: you need to copy it first, if you haven't done it so:

cp -a /usr/share/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi /etc/hal/fdi/policy

You may find these also useful (if your hardware supports):

<merge key="input.x11_options.VertEdgeScroll" type="string">true</merge>
<merge key="input.x11_options.CircularScrolling" type="string">true</merge>

More from archlinux wiki.

100% CPU usage when using xdm (kdm, gdm) and SysVinit (not upstart-SysVinit)

The problem is that when xdm runs with recent X server then tty0 (as it's first free tty) is taken by xserver. Then when SysVinit tries to run mingetty also on tty0. This ends with mingetty fighiting with X server for tty0.

upstart-Sysvinit is not affected as it starts mingetty before xdm runs, so xdm choses different, first free ttyX.

Solution: change xdm to use fixed tty that's not used in inittab for mingettys (like tty9).

xorg-driver-video-intel >= requires KMS

Latest Intel xorg drivers require KMS (kernel mode setting) to be active. Run kernel >= 2.6.31 and set in /etc/sysconfig/geninitrd:

PREMODS="intel-agp i915"

and regenerate geninitrd.

Alternatively run:

modprobe i915


If you want to create cross computer X sessions using XDMCP please enable it *dm (kdm, gdm) on machine you wish to connect to.

Now you can run:

 X -query xdmcp.enabled.server

or just X or local kdm and select network log in instead of local log in.

Source IP# number problem on client machine

Rules which X selects interface on which it binds for X sessions are not clear for some people. If you spot problem :

XDMCP fatal error: Session failed Session <some_number> failed for display cannot open display

Try if forcing connection source ip adress helps:

 X -query xdmcp.enabled.server  -from
docs/xorg.txt · Last modified: 2013-04-05 10:00 by glen

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS PLD Linux Driven by DokuWiki