Introduction to Xorg
X.Org Server (officially the X.Org Foundation Open Source Public Implementation of X11) is the reference implementation of the X Window System. It's an open-source project maintained by the X.Org Foundation and hosted on freedesktop.org. The project has evolved through several major releases:
| Version | Date | X11 Release |
|---|---|---|
| 1 | 2005-12-21 | X11R7.0 (1.0.1) |
| 1.12 | 2012-03-04 | X11R7.7 (1.12.2) |
| 1.20 | 2018-05-10 |
Essential Xorg Packages
While Xorg is an older system, most modern desktop environments still depend on its components. For basic graphical functionality, you only need a few essential packages:
Core Components
- xorg-server: The X server itself
- xorg-xinit: X initialization program
Graphics Drivers
To identify your graphics hardware:
$ lspci | grep -E 'VGA|3D'
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c)
Based on the output, install the appropriate driver. For Intel hardware, this would be:
$ sudo pacman -S xf86-video-intel
Input Device Drivers
Xorg uses libinput as the default input driver:
$ cd /var/log/
$ grep -e "Using input driver " Xorg.0.log
[ 13.672] (II) Using input driver 'libinput' for 'Power Button'
[ 13.721] (II) Using input driver 'libinput' for 'Video Bus'
[ 13.748] (II) Using input driver 'libinput' for 'Sleep Button'
[ 13.771] (II) Using input driver 'libinput' for 'AT Translated Set 2 keyboard'
[ 13.803] (II) Using input driver 'libinput' for 'SynPS/2 Synaptics TouchPad'
Note: The xf86-input-synapitcs driver is no longer actively maintained. libinput is recommended instead.
Minimal Installation
For a basic Xorg setup, you only need these three packages:
$ sudo pacman -S xorg-server xorg-xinit xf86-video-intel
After installation, test with:
$ startx
Xorg Package Groups
Xorg is organized into several package groups:
- xorg: Core Xorg components (49 packagse)
- xorg-drivers: Graphics and input drivers (16 packages)
- xorg-apps: Xorg utilities (36 packages)
- xorg-fonts: Xorg fonts (2 packages)
However, many packages are duplicated across groups. A minimal installation typically includes only:
| Package | Description | Group |
|---|---|---|
| xorg-server | Xorg X server | xorg |
| xorg-xinit | X.Org initialisation program | |
| xf86-video-intel | X.org Intel video drivers | xorg-drivers |
| xf86-input-libinput | Generic input driver based on libinput | xorg-drivers |
Gentoo Configuration
In Gentoo, Xorg sessions are managed through the XSESSION variable:
# Set default session
echo XSESSION="Xfce4" > /etc/env.d/90xsession
env-update
startx
Graphical User Interface Overview
Modern Linux systems offer several display server options:
Display Servers
- Xorg: The traditional X11 display server
- Wayland: A newer display server protocol with Weston reference implementation
Desktop Environments
While Xorg provides the basic framework, desktop environments bundle additional components:
- GNOME
- KDE Plasma
- LXDE
- XFCE
Window Managers
For users preferring minimal setups, standalone window managers include:
- i3
- Openbox
- Fluxbox
- Awesome
Display Managers
Display managers handle user login and session startup:
DM: LightDM, LXDM, GDM, SDDM
DE: LXDE, GNOME, Plasma, LXQt