From ArchWiki
Revision as of 08:03, 8 April 2011 by Erm67 (talk | contribs)
Jump to navigation Jump to search

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.

Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어

External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end

Xorg is the public, open-source implementation of the X window system version 11. Since Xorg is the most popular choice among Linux users, its ubiquity has led to making it an ever-present requisite for GUI applications, resulting in massive adoption from most distributions. See the Xorg Wikipedia article or visit the Xorg website for more details.



First, fully update your system

# pacman -Syu

Then you can install the Xorg base packages:

# pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils

For basic Xorg functionality you may also want to install some other packages:

# pacman -S xorg-twm xorg-xclock xterm

Since v.1.8, Xorg-server doesn't need HAL for hardware access. Udev can detect your hardware itself.

You can remove HAL from your startup daemon in Template:Filename without problem if you don't have any other app installed in your system that requires HAL to be running. Moreover, the settings that were located in the Template:Filename file, can be found now in the files located in the Template:Filename directory.

Udev should be capable of detecting your hardware without problems and evdev (xf86-input-evdev) is the modern, hotplugging input driver for almost all devices so in most cases, installing input drivers is not needed.

If evdev doesn't support your device, install the needed driver from the xorg-input-drivers group.

Xorg-server can be initiated by the startx command. You should only use it in case you have properly edited the ~/.xinitrc file.

Note: In case you are using a Desktop Environment (GNOME, KDE etc), you are encouraged to use a DM (KDM, GDM etc), which will manage the, possible, DE specific apps and libs which should be preloaded.


Configuration files are located in Template:Filename.

You should have Template:Filename which manages the keyboard, the mouse, the touchpad and the touchscreen. You are free to create new config files, but they must start with XX- (where XX is a number) and have a .conf suffix (10 read before 20 for example).


If you have a laptop, you need to install the touchpad driver.

# pacman -S xf86-input-synaptics

After installation, you can find Template:Filename in the Template:Filename directory. It is safe to comment out/delete the "InputClass" line regarding the touchpad in Template:Filename.

Graphics card and driver

The default graphics driver is Vesa (xf86-video-vesa), which handles a large number of chipsets but does not include any 2d or 3d acceleration. To enable graphics acceleration, you will need to install and use the driver specific to your graphics card.

First, identify your card:

$ lspci | grep VGA

Then, install an appropriate driver. You can search for these packages with the following command:

# pacman -Ss xf86-video

Common drivers (open source):

  • nvidia: xf86-video-nouveau (see Nouveau)
  • intel: xf86-video-intel (see Intel)
  • ati: xf86-video-ati (see ATI)

Proprietary drivers

Xorg should run smoothly without closed source drivers, which are typically needed only for advanced features such as fast 3D-accelerated rendering for games, dual-screen setups, and TV-out. See NVIDIA and ATI.


During the installation of the proprietary NVIDIA driver, a config file (20-nvidia.conf) will be installed in the Template:Filename directory. It allows Xorg to use nvidia's driver at Xorg start.

Monitor settings

Getting started

Note: This step is OPTIONAL and shouldn't be done unless you know what you are doing.
Note: This step is NOT OPTIONAL if using dual monitors or the nouveau driver. See Nouveau#Configuration.

First, create a new config file, for example, Template:Filename.

# nano /etc/X11/xorg.conf.d/10-monitor.conf

Copy and paste the following code.

Section "Monitor"
    Identifier    "Monitor0"

Section "Device"
    Identifier    "Device0"
    Driver        "vesa" #Choose the driver used for this monitor

Section "Screen"
    Identifier    "Screen0"  #Collapse Monitor and Device section to Screen section
    Device        "Device0"
    Monitor       "Monitor0"
    DefaultDepth  16 #Choose the depth (16||24)
    SubSection "Display"
        Depth     16
        Modes     "1024x768_75.00" #Choose the resolution

Multiple monitors/Dual screen


To activate dual screen support, you just need to edit the Template:Filename file which you made before.

Per each physical monitor, add one Monitor, Device, and Screen Section entry, and then a ServerLayout section to manage it. Be advised that when Xinerama is enabled, the Nvidia proprietary driver automatically disables compositing. If you desire compositing, you should comment the Xinerama line in "ServerLayout" out and use Twinview (see below) instead.

Section "ServerLayout"
    Identifier     "DualSreen"
    Screen       0 "Screen0"
    Screen       1 "Screen1" RightOf "Screen0" #Screen1 at the right of Screen0
    Option         "Xinerama" "1" #To move windows between screens

Section "Monitor"
    Identifier     "Monitor0"
    Option         "Enable" "true"

Section "Monitor"
    Identifier     "Monitor1"
    Option         "Enable" "true"

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    Screen         0

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    Screen         1

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "0"
    SubSection "Display"
        Depth          24
        Modes          "1280x800_75.00"

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth   24
    Option         "TwinView" "0"
    SubSection "Display"
        Depth          24

You want only one big screen instead of two. Set the TwinView argument to 1. This option should be used instead of Xinerama (see above), if you desire compositing.

Option "TwinView" "1"
Using Nvidia Settings

You can also use the Nvidia-settings tool, with this method you will use the proprietary software Nvidia provides with their drivers. Simply open the settings as Root, then configure how you wish, and then save the configuration to /etc/X11/xorg.conf.d/10-monitor.conf .

More than one graphic card

You must define the good driver to use and put the ID bus of your graphic cards.

Section "Device"
    Identifier      "Screen0"
    Driver          "nouveau"
    BusID           "PCI:0:12:0"

Section "Device"
    Identifier      "Screen1"
    Driver          "radeon"
    BusID           "PCI:1:0:0"

To get your ID bus :

$ lspci | grep VGA
01:00.0 VGA compatible controller: nVidia Corporation G96 [GeForce 9600M GT] (rev a1)

The ID bus here is 1:0:0.

Display Size and DPI

Q: How does the Xorg server calculate DPI?
A: The DPI of the X server is determined in the following manner:

  1. The -dpi command line option has highest priority.
  2. If this is not used, the DisplaySize setting in the X config file is used to derive the DPI, given the screen resolution.
  3. If no DisplaySize is given, the monitor size values from DDC are used to derive the DPI, given the screen resolution.
  4. If DDC does not specify a size, 75 DPI is used by default.

In order to get correct dots per inch (DPI) set, the display size must be recognized or set. Having the correct DPI is especially necessary where fine detail is required (like font rendering). Previously, manufacturers tried to create a standard for 96 DPI (a 10.3" diagonal monitor would be 800x600, a 13.2" monitor 1024x768). These days, screen DPIs vary and may not be equal horizontally and vertically. For example, a 19" widescreen LCD at 1440x900 may have a DPI of 89x87. To be able to set the DPI, the Xorg server attempts to auto-detect your monitor's physical screen size through the graphic card with DDC. When the Xorg server knows the physical screen size, it will be able to set the correct DPI depending on resolution size.

To see if your display size and DPI are detected/calculated correctly:

$ xdpyinfo | grep dimensions
$ xdpyinfo | grep "dots per inch"

Check that the dimensions match your display size. If the Xorg server is not able to correctly calculate the screen size, it will default to 75x75 DPI and you will have to calculate it yourself.

If you have specifications on the physical size of the screen, they can be entered in the Xorg configuration file so that the proper DPI is calculated:

Section "Monitor"
    Identifier "Monitor0"
    DisplaySize 286 179    # In millimeters

If you only want to enter the specification of your monitor WITHOUT creating a full xorg.conf instead, first create a new config file, for example, Template:Filename.

# nano /etc/X11/xorg.conf.d/10-monitor.conf

Copy and paste the following code:

Section "Monitor"
    Identifier "<default monitor>"
    DisplaySize 286 179    # In millimeters

If you do not have specifications for physical screen width and height (most specifications these days only list by diagonal size), you can use the monitor's native resolution (or aspect ratio) and diagonal length to calculate the horizontal and vertical physical dimensions. Using the Pythagorean theorem on a 13.3" diagonal length screen with a 1280x800 native resolution (or 16:10 aspect ratio):

echo 'scale=5;sqrt(1280^2+800^2)' | bc  # 1509.43698

This will give the pixel diagonal length and with this value you can discover the physical horizontal and vertical lengths (and convert them to millimeters):

echo 'scale=5;(13.3/1509)*1280*25.4' | bc  # 286.43072
echo 'scale=5;(13.3/1509)*800*25.4' | bc   # 179.01920
Note: This calculation works for most monitor sizes; however, there is the seldom monitor that may compress aspect ratio (e.g 16:10 aspect resolution to a 16:9 monitor). If this is the case, you should measure your screen size manually.

DPI can be set manually if you only plan to use one resolution:

Section "Monitor"
    Identifier "Monitor0"
    Option   "DPI" "96 x 96"

If, for some odd reason, the nvidia drivers don't set the correct DPI, you can turn off auto-detection:

Option   "UseEdidDpi" "false"

For RandR compliant drivers, you can set it by:

xrandr --dpi 96

See Execute commands after X start to make it permanent.


DPMS (Display Power Management Signaling) is a technology that allows power saving behaviour of monitors when the computer is not in use. This will allow you to have your monitors automatically go into standby after a predefined period of time. See: DPMS

Disabling Input Hot-plugging

Since version 1.8 Xorg-server uses udev for device detection. The following will disable the use of udev.

Section "ServerFlags"
    Option "AutoAddDevices" "False"
Warning: This will disable Xorg hot-plugging for all input devices and revert to the same behavior as xorg-server 1.4. It is much more convenient to let udev configure your devices. Therefore, disabling hot-plugging is not recommended!


Taken from: https://fedoraproject.org/wiki/Input_device_configuration

InputClasses are a new type of configuration section that does not apply to a single device but rather to a class of devices, including hotplugged devices. An InputClass section's scope is limited by the matches specified – to apply to an input device, all matches must apply to a device. An example InputClass section is provided below:

Section "InputClass"
    Identifier      "touchpad catchall"
    MatchIsTouchpad "on"
    Driver           "synaptics"

The next snippet might also be helpful:

Section "InputClass"
        Identifier "evdev touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"

If this snippet is present in the Template:Filename or xorg.conf.d, any touchpad present in the system is assigned the synaptics driver. Note that due to precedence order (alphanumeric sorting of xorg.conf.d snippets) the Driver setting overwrites previously set driver options – the more generic the class, the earlier it should be listed. The default snippet shipped with the xorg-x11-drv-Xorg package is Template:Filename and applies the evdev driver to all input devices.

The match options specify which devices a section may apply to. To match a device, all match lines must apply. The following match lines are supported (with examples):

An example section for user-specific configuration is:

Section "InputClass"
    Identifier     "lasermouse slowdown"
    MatchIsPointer "on"
    MatchProduct   "Lasermouse"
    MatchVendor    "LaserMouse Inc."
    Option         "ConstantDeceleration" 20

This section would match a pointer device containing "Lasermouse" from "Lasermouse Inc." and apply a constant deceleration of 20 on this device – slowing it down by factor 20.

Some devices may get picked up by the X server when they really shouldn't be. These devices can be configured to be ignored:

Section "InputClass"
    Identifier     "no need for accelerometers in X"
    MatchProduct   "accelerometer"
    Option         "Ignore" "on"

Example configurations

The following subsections describe example configurations for commonly used configuration options. Note that if you use a desktop environment such as GNOME or KDE, options you set in the xorg.conf may get overwritten with user-specific options upon login.

Example: Wheel Emulation (for a Trackpoint)

If you own a computer with a Trackpoint (a Thinkpad for example) you can add the following to the Template:Filename to use the middle Button to emulate a mouse wheel:

Section "InputClass"
    Identifier     "Wheel Emulation"
    MatchIsPointer "on"
    MatchProduct   "TrackPoint"
    Option         "EmulateWheelButton" "2"
    Option "EmulateWheel" "on"

For full support of TrackPoints (including horizontal scrolling) you can use the following:

Section "InputClass"
    Identifier	"Trackpoint Wheel Emulation"
    MatchProduct	"TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device"
    MatchDevicePath	"/dev/input/event*"
    Option		"EmulateWheel"		"true"
    Option		"EmulateWheelButton"	"2"
    Option		"Emulate3Buttons"	"false"
    Option		"XAxisMapping"		"6 7"
    Option		"YAxisMapping"		"4 5"
Example: Tap-to-click

Tap-to-click can be enabled in the mouse configuration dialog (in the touchpad tab) but if you need tapping enabled at gdm already, the following snippet does it for you:

Section "InputClass"
    Identifier "tap-by-default"
    MatchIsTouchpad "on"
    Option "TapButton1" "1"
Example: Keyboard layout and model on Acer 5920G Laptop

Keyboard model and layout may be set in the file Template:Filename or any other .conf file in the same directory.

laptop keyboard. You may replace Template:Codeline with your actual keyboard layout.

Note that a list of keyboard layouts and models can be found in Template:Filename

Section "InputClass"
    Identifier             "Keyboard Defaults"
    MatchIsKeyboard        "yes"
    Option                 "XkbModel" "acer_laptop"
    Option                 "XkbLayout" "be"
    Option                 "XkbVariant" "sundeadkeys"

Keyboard settings

Xorg may fail to detect your keyboard correctly. This might give problems with your keyboard layout or keyboard model not being set correctly.

To see a full list of keyboard models, layouts, variants and options, open:


To set the keymap for the current Xorg session:

# setxkbmap dvorak

Key repeat delay and rate

Use Template:Codeline to change them, then use xinitrc to make it permanent.

Viewing Keyboard Settings

 $ setxkbmap -print -verbose 10
Setting verbose level to 10
locale is C
Applied rules from evdev:
model:      evdev
layout:     us
options:    terminate:ctrl_alt_bksp
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+us+inet(evdev)+terminate(ctrl_alt_bksp)
geometry:   pc(pc104)
xkb_keymap {
        xkb_keycodes  { include "evdev+aliases(qwerty)" };
        xkb_types     { include "complete"      };
        xkb_compat    { include "complete"      };
        xkb_symbols   { include "pc+us+inet(evdev)+terminate(ctrl_alt_bksp)"    };
        xkb_geometry  { include "pc(pc104)"     };

Setting Keyboard Layout With Hot-Plugging

To permanently change your keyboard layout, add the following to xorg.conf:

Section "InputClass"
    Identifier             "Keyboard Defaults"
    MatchIsKeyboard	   "yes"
    Option	           "XkbLayout" "dvorak"

Note that this is in an InputClass Section and not the InputDevice section for the keyboard.

Setting Keyboard Layout Without Hot-Plugging (deprecated)

Note: Changing the keyboard layout through this method requires disabling input hot-plugging.

To change the keyboard layout, use the XkbLayout option in the keyboard InputDevice section. For example, if you have a keyboard with English (Great Britain) layout, your keyboard InputDevice section might look similar to this:

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "kbd"
    Option "XkbLayout" "gb"

To change the keyboard model, use the XkbModel option in the keyboard InputDevice section. For example, if you have a Microsoft Wireless Multimedia Keyboard:

Option "XkbModel" "microsoftmult"

Switching Between Keyboard Layouts

To be able to easily switch keyboard layouts, modify the Options used in either of the above two methods. For example, to switch between a US and a Swedish layout using the Caps Lock key, use:

Option "XkbLayout"  "us, se"
Option "XkbOptions" "grp:caps_toggle"

This is mainly useful if you run a Desktop Environment which does not take care of keyboard layouts for you.

Disable mousekeys Permanently

To disable the mousekeys permanently and prevent Shift+NumLock or Shift+Alt+NumLock to enable, edit:


and comment out:

augment "mousekeys"
augment "accessx(full)"


See Font Configuration for information on how to configure font rendering.

Sample xorg.conf Files

Anyone who has an Xorg.conf file written up that works, go ahead and post a link to it here for others to look at. Please do not in-line the entire configuration file; upload it somewhere else and link.
Please post input hotplugging configurations only, otherwise note that your config is not using input hotplugging. (Xorg 1.8 = udev)

- Sample One: xorg.conf & xorg.conf.d/10-evdev.conf

This is a sample configuration file using xorg.conf.d/10-evdev.conf for the keyboard layouts:
Note: The "InputDevice" sections are commented out, because 10-evdev.conf is taking care of them.

xorg.conf: http://pastebin.com/raw.php?i=EuSKahkn
xorg.conf.d/10-evdev.conf: http://pastebin.com/raw.php?i=4mPY35Mw>
xorg.conf.d/10-monitor.conf (VMWare): http://pastebin.com/raw.php?i=fJv8EXGb
xorg.conf.d/10-monitor.conf (KVM): http://pastebin.com/raw.php?i=NRz7v0Kn

Running Xorg

You should add dbus to your DAEMONS array:

DAEMONS=(syslog-ng dbus network crond)

If you need to start dbus without rebooting, run

# /etc/rc.d/dbus start

Finally, start Xorg:

$ startx


$ xinit -- /usr/bin/X -nolisten tcp
Note: If you just installed Xorg, there is an empty .xinitrc file in your $HOME that you need to either delete or edit in order for X to start properly. If you do not do this X will show a blank screen with what appears to be no errors in your Xorg.0.log. Simply deleting it will get it running with a default X environment.

The default X environment is rather bare, and you will typically seek to install window managers or desktop environments to supplement X. A list of suitable options is present in Common Applications#Window Managers (WM).

If a problem occurs, then view the log at Template:Filename. Be on the lookout for any lines beginning with Template:Codeline which represent errors, and also Template:Codeline which are warnings that could indicate other issues.

Methods for starting your Graphical Environment

What follows are a couple of methods for starting a graphical environment from the command line.

Note: If you are using a full-blown Desktop Environment (Gnome, KDE, etc), you might be more interested in reading the wiki page dedicated to said DE.

Using runlevels

By default, Linux is set up to have different runlevels. Arch boots into runlevel 3 by default. Runlevel 5 is typically used in Linux for loading X server. Edit the file /etc/inittab. In the last section at the bottom of the file, uncomment the appropriate line for your desktop environment's display manager. For example, for XDM (X Display manager) it would look like this:

# Example lines for starting a login manager
x:5:respawn:/usr/bin/xdm -nodaemon
#x:5:respawn:/usr/sbin/gdm -nodaemon
#x:5:respawn:/usr/bin/kdm -nodaemon
#x:5:respawn:/usr/bin/slim >/dev/null 2>&1

Now, simply start your desktop environment:

# init 5

Using .xinitrc

This method involves the most configuring.

First we need to configure ~/.xinitrc

One of the main functions of this file is to dictate what X Window client is invoked with the /usr/bin/startx and/or /usr/bin/xinit program on a per-user basis. (The startx script is merely a front end to the more versatile xinit command.) There are vast amounts of additional configurable specifications and commands that may also be added to ~/.xinitrc as you further customize your system.

Note: .xinitrc is a so-called 'dot' (.) file. Files in a *nix filesystem which are preceded with a dot (.) are 'hidden', and will not show up with a regular 'ls' command, usually for the sake of keeping directories tidy. Dot files may be seen by issuing ls -a. The 'rc' denotes Run Commands and simply indicates that it is a configuration file. Since it controls how a program runs, it is (although historically incorrect) also said to stand for "Run Control".

The startx and xinit commands will start the X server and clients. To determine the client to run, startx/xinit will first look to parse a .xinitrc file in the user's home directory. In the absence of file ~/.xinitrc, it defaults to the global xinitrc in the xinit library directory; /etc/X11/xinit/xinitrc, which defaults to using the TWM window manager. (Hence, if you invoke startx without a ~/.xinitrc file, a TWM session will start.) Further details in the .xinitrc wiki entry.

Switch to your normal, non-root user:

# su - yourusername
  • /etc/skel/ contains files and directories to provide sane defaults for newly created user accounts. The name skel is derived from the word skeleton, because the files it contains form the basic structure for users' home directories.
Note: This template file .xinitrc is available in the /etc/skel directory when the package xorg-xinit is installed.
  • Sample .xinitrc provided here

Copy the sample xinitrc file from /etc/skel/ to your home directory:

$ cp /etc/skel/.xinitrc ~/

Edit the file:

$ nano ~/.xinitrc

and uncomment the line that corresponds to your Desktop Environment. For example, if you use Xterm, it will look something like this:

# ~/.xinitrc
# Executed by startx (run your window manager from here)

# exec gnome-session
# exec startkde
# exec startxfce4
# exec wmaker
# exec icewm
# exec blackbox
# exec fluxbox
# exec openbox-session
# ...or the Window Manager of your choice
exec xterm
Note: Be sure to have only one uncommented exec line in ~/.xinitrc.

Now we're ready to launch X. Start X as a normal, non-root user, with:

$ startx


$ xinit

Your desktop should open up now. You can test your keyboard and its layout in it. Try moving your mouse around and enjoy the view.

If trouble with automounting is experienced, try using the following command in ~/.xinitrc instead. (Replace "startxfce4" with the command that is appropriate for your window manager/DE.)

exec ck-launch-session startxfce4

This will ensure the various environment variables are set correctly by starting a clean consolekit session. ConsoleKit is a framework for keeping track of the various users, sessions, and seats present on a system. It provides a mechanism for software to react to changes of any of these items or of any of the metadata associated with them. It works in conjunction with dbus, and other tools.

Tips and tricks

X startup (/usr/bin/startx) tweaking

For X's option reference see:

$ man Xserver

The following options have to be appended to the variable Template:Codeline in the Template:Filename file:

  • Enable deferred glyph loading for 16 bit fonts:
-deferglyphs 16

Note: If you start X with kdm, the startx script does not seem to be executed. X options must be appended to the variable Template:Codeline or Template:Codeline in the Template:Filename file. By default kdm options are:

  ServerArgsLocal=-nolisten tcp

Virtual X session

To start another X session in, for example, CTRL + ALT + F8, you need to type this on a console:

xinit /path/to/wm -- :1

Change "/path/to/wm" to your window manager start file or to your login manager like gdm, kdm, or slim.

Nested X session

To run a nested session of another desktop environment:

$ /usr/bin/Xnest :1 -geometry 1024x768+0+0 -ac -name Windowmaker & wmaker -display :1

This will launch a Window Maker session in a 1024 by 768 window within your current X session.

This needs the package xorg-server-xnest to be installed.


Common problems

If Xorg will not start, the screen is completely black, the keyboard and mouse are not working, etc., first take these simple steps:

  • Check the log file: Template:Codeline
  • Install input driver (keyboard, mouse, joystick, tablet, etc...):
  • Finally, search for common problems in ATI, Intel and NVIDIA articles.

Ctrl-Alt-Backspace doesn't work

There are two ways of restoring Template:Keypress+Template:Keypress+Template:Keypress; with and without input-hotplugging. Using hot-plugging is recommended.

With input hot-plugging

In most situations, using user-specific configuration might be preferred over system-wide.

Note: On GNOME, this system-wide setting has no effect. Every user must go to System -> Preferences -> Keyboard -> Layouts -> Options [button] -> Key sequence to kill the X server [expand with triangle on left]. Then check Ctrl + Alt + Backspace option.
Note: On KDE, this system-wide setting has no effect. To restore, go to Kickoff > Computer > System Settings which will open up the System Settings window. Click on 'Regional & Language'. In this new window click the Keyboard tab and then check the box for 'Enable Keyboard layouts'. This will enable you to click on the advanced tab. In this new window, expand the entry for 'Key sequence to kill the X server' and ensure Control + Alt + Backspace is checked. Click Apply and close the System Settings window. You now have your CTRL-ALT-Backspace back in KDE.


Option  "XkbOptions" "terminate:ctrl_alt_bksp"

to InputClass as so:

Section "InputClass"
    Identifier          "Keyboard Defaults"
    MatchIsKeyboard	"yes"
    Option              "XkbOptions" "terminate:ctrl_alt_bksp"

Another way is to put this line in xinitrc:

setxkbmap -option terminate:ctrl_alt_bksp

Without input hot-plugging

New Xorg disables zapping with Template:Keypress+Template:Keypress+Template:Keypress by default. You can enable it by adding the following line to Template:Filename,

Option  "XkbOptions" "terminate:ctrl_alt_bksp"

to Template:Codeline section for keyboard.

Apple keyboard issues

See: Apple Keyboard

Touchpad tap-click issues

See: Synaptics

Extra mouse buttons not recognized

See: Get All Mouse Buttons Working

X clients started with "su" fail

If you are getting "Client is not authorized to connect to server", try adding the line:

session        optional        pam_xauth.so

to Template:Filename. Template:Codeline will then properly set environment variables and handle Template:Codeline keys.

Program requests "font '(null)'"

  • Error message: "unable to load font `(null)'."

Some programs only work with bitmap fonts. Two major packages with bitmap fonts are available, xorg-fonts-75dpi and xorg-fonts-100dpi. You do not need both; one should be enough. To find out which one would be better in your case, try this:

$ xdpyinfo | grep resolution

and use what is closer to you (75 or 100 instead of XX)

# pacman -S xorg-fonts-XXdpi

Frame-buffer mode problems

If X fails to start with the following log messages,

(WW) Falling back to old probe method for fbdev
(II) Loading sub module "fbdevhw"
(II) LoadModule: "fbdevhw"
(II) Loading /usr/lib/xorg/modules/linux//libfbdevhw.so
(II) Module fbdevhw: vendor="X.Org Foundation"
       compiled for 1.6.1, module version=0.0.2
       ABI class: X.Org Video Driver, version 5.0
(II) FBDEV(1): using default device

Fatal server error:
Cannot run in framebuffer mode. Please specify busIDs for all framebuffer devices

uninstall fbdev:

# pacman -R xf86-video-fbdev

DRI with Matrox cards stops working

If you use a Matrox card and DRI stops working after upgrading to Xorg, try adding the line:

Option "OldDmaInit" "On"

to the Device section that references the video card in xorg.conf.

Recovery: disabling Xorg before GUI login

If Xorg is set to boot up automatically and for some reason you need to prevent it from starting up before the login/display manager appears (if Template:Filename is wrongly configured and Xorg does not recognize your mouse or keyboard input, for instance), you can accomplish this task with two methods.

  • From the grub menu, you can specify the runlevel in the kernel line by adding a number to the end of the kernel line specifying the run level you want. The following example sets the run level to 3:
 kernel /boot/vmlinuz26 root=/dev/disk/by-uuid/..ro 3
  • If you have not only a faulty Template:Filename to make Xorg unusable, but you have also set the grub menu wait time to zero, or cannot otherwise use grub to prevent Xorg from booting, you can use the Arch live CD. Boot up the live CD and login as root. You need a mount point, such as Template:Filename, and you need to know the name of the partition you want to mount.
You can use the command,
 # fdisk -l
to see your partitions. Usually, the one you want will be resembling Template:Filename. Then, to mount this to Template:Filename, use
 # mount /dev/sda1 /mnt
Then your file-system will show up under Template:Filename. So your Template:Filename file, for example, would be in Template:Filename. From here you can delete the Template:Codeline module to prevent Xorg from booting up normally, or make any other necessary changes.

See also