Linux Display Server Configuration - ryzendew/Linux-Tips-and-Tricks GitHub Wiki
Linux Display Server Configuration Guide
Complete beginner-friendly guide to display servers on Linux, covering Arch Linux, CachyOS, and other distributions including X11 vs Wayland comparison, switching between them, desktop environment support, and troubleshooting.
Table of Contents
- Understanding Display Servers
- X11 Display Server
- Wayland Display Server
- X11 vs Wayland Comparison
- Switching Between X11 and Wayland
- Desktop Environment Support
- Troubleshooting
Understanding Display Servers
What is a Display Server?
Display server is software that manages graphical output and input on Linux.
What it does:
- Manages windows: Controls window placement, sizing, stacking
- Handles input: Processes mouse and keyboard input
- Renders graphics: Displays applications on screen
- Manages displays: Handles multiple monitors
- Security: Controls application access to display
Why it's needed:
- Applications need display: Programs need to show windows
- Input handling: Mouse/keyboard need to work
- Window management: Multiple windows need management
- Security: Prevents unauthorized screen access
Display Server Architecture
How it works:
Applications → Display Server → Graphics Driver → Monitor
Two main display servers:
- X11: Traditional display server (older)
- Wayland: Modern display server (newer)
X11 Display Server
What is X11?
X11 (also called X Window System or X) is the traditional display server for Linux.
Key features:
- Network transparency: Can display applications over network
- Mature: Very stable, well-tested
- Compatible: Works with almost everything
- Flexible: Highly configurable
Install X11
Install Xorg:
# Arch/CachyOS
sudo pacman -S xorg xorg-server
# Install drivers
sudo pacman -S xf86-video-intel # Intel
sudo pacman -S xf86-video-amdgpu # AMD
sudo pacman -S nvidia # NVIDIA
Debian/Ubuntu:
sudo apt install xorg
Fedora:
sudo dnf install @xorg-x11-drivers
X11 Configuration
Create config:
# Generate config
sudo Xorg :0 -configure
# Or create manually
sudo vim /etc/X11/xorg.conf
Wayland Display Server
What is Wayland?
Wayland is a modern display server protocol.
Key features:
- Modern: Designed for modern systems
- Security: Better security model
- Performance: Improved performance
- Simplicity: Simpler architecture
Install Wayland
Install compositor:
# GNOME (uses Wayland)
sudo pacman -S gnome
# KDE (uses Wayland)
sudo pacman -S plasma-wayland-session
# Sway
sudo pacman -S sway
# Hyprland
yay -S hyprland
X11 vs Wayland Comparison
X11 Advantages
X11 benefits:
- Mature: Very stable, well-tested
- Compatible: Works with almost everything
- Network: Network transparency
- Flexible: Highly configurable
Wayland Advantages
Wayland benefits:
- Security: Better security model
- Performance: Improved performance
- Modern: Designed for modern systems
- Simplicity: Simpler architecture
Which to Use?
Use X11 if:
- You need maximum compatibility
- You use older applications
- You need network transparency
- You prefer stability
Use Wayland if:
- You want better security
- You want better performance
- You use modern applications
- You prefer modern architecture
Switching Between X11 and Wayland
GNOME
Switch at login:
- Log out
- Click username on login screen
- Select session: GNOME (X11) or GNOME (Wayland)
- Log in
KDE
Switch at login:
- Log out
- Click session menu
- Select: Plasma (X11) or Plasma (Wayland)
- Log in
Check Current Server
Check which server:
# Check display server
echo $XDG_SESSION_TYPE
# Should show: x11 or wayland
Desktop Environment Support
GNOME
GNOME supports both:
- Wayland: Default on modern GNOME
- X11: Available as fallback
KDE Plasma
KDE supports both:
- Wayland: Available, improving
- X11: Default, very stable
XFCE
XFCE supports:
- X11: Primary support
- Wayland: Limited support
Window Managers
X11 window managers:
- i3, Awesome, bspwm, Openbox
Wayland compositors:
- Sway, Hyprland, Wayfire, Niri
Troubleshooting
Display Not Working
Check logs:
# X11 logs
cat ~/.local/share/xorg/Xorg.0.log
# Wayland logs
journalctl -u wayland-session
Application Not Working
Run on X11:
# Force X11
GDK_BACKEND=x11 application
Run on Wayland:
# Force Wayland
GDK_BACKEND=wayland application
Summary
This guide covered display server configuration for Arch Linux, CachyOS, and other distributions, including X11, Wayland, switching between them, and desktop environment support.
Next Steps
- Desktop Environments - Desktop setup
- Window Managers - Window managers
- Graphics Drivers - GPU setup
- ArchWiki Xorg: https://wiki.archlinux.org/title/Xorg
- ArchWiki Wayland: https://wiki.archlinux.org/title/Wayland
This guide covers Arch Linux, CachyOS, and other Linux distributions. For distribution-specific details, refer to your distribution's documentation.