-
-
Notifications
You must be signed in to change notification settings - Fork 1
CachyOS Display Server Configuration
Complete beginner-friendly guide to display servers on CachyOS, including X11 vs Wayland, switching between them, and configuration.
- Understanding Display Servers
- X11 Display Server
- Wayland Display Server
- X11 vs Wayland Comparison
- Switching Between X11 and Wayland
- Desktop Environment Support
- Troubleshooting Display Issues
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
How it works:
Applications → Display Server → Graphics Driver → Monitor
What each layer does:
- Applications: Create windows and graphics
- Display Server: Manages windows and input
- Graphics Driver: Communicates with GPU
- Monitor: Displays final output
Two main display servers:
- X11: Traditional display server (older)
- Wayland: Modern display server (newer)
X11 (also called X Window System or X) is the traditional display server for Linux.
History:
- Created: 1984 (very old!)
- Status: Mature, stable, widely used
- Default: Still default on many systems
Key features:
- Network transparency: Can display applications over network
- Mature: Very stable, well-tested
- Compatible: Works with almost everything
- Flexible: Highly configurable
How X11 works:
- X server: Manages display and input
- X clients: Applications that connect to X server
- X protocol: Communication between clients and server
- Window manager: Manages window appearance and behavior
Components:
- X server: Core display server
- Window manager: Window appearance (KWin, Mutter, etc.)
- Compositor: Visual effects (optional)
- X clients: Applications
Why use X11:
- Mature: Very stable, well-tested
- Compatible: Works with almost all applications
- Network support: Can display apps over network
- Flexible: Highly configurable
- Troubleshooting: Well-documented, many resources
Why avoid X11:
- Old: Created in 1984 (very old design)
- Security: Less secure than Wayland
- Performance: Can be slower than Wayland
- Complexity: More complex architecture
- Future: Being replaced by Wayland
Configuration files:
-
~/.xprofile: User X11 configuration -
~/.xinitrc: X11 startup script -
/etc/X11/xorg.conf: System X11 configuration
Check X11 version:
X -versionWhat this does:
- Shows X server version
- Displays X server information
Check if using X11:
echo $XDG_SESSION_TYPEOutput:
x11
What this means:
- Currently using X11
- X11 is active display server
Wayland is a modern replacement for X11.
History:
- Created: 2008 (much newer than X11)
- Status: Modern, actively developed
- Default: Default on many newer systems
Key features:
- Modern: Designed for modern systems
- Secure: Better security than X11
- Performance: Better performance than X11
- Simpler: Simpler architecture than X11
How Wayland works:
- Compositor: Manages display and windows (single component)
- Wayland clients: Applications that connect to compositor
- Wayland protocol: Communication protocol
- No separate window manager: Compositor handles everything
Components:
- Compositor: Display server + window manager (combined)
- Wayland clients: Applications
- Protocol: Wayland protocol
Examples of Wayland compositors:
- GNOME: Mutter (GNOME's compositor)
- KDE: KWin (KDE's compositor)
- Sway: i3-like tiling compositor
- Wayfire: Feature-rich compositor
Why use Wayland:
- Modern: Designed for modern systems
- Secure: Better security model
- Performance: Better performance than X11
- Simpler: Simpler architecture
- Future: Future of Linux graphics
Security benefits:
- Application isolation: Applications can't spy on each other
- Input security: Better input handling
- Screen capture: More secure screen sharing
Performance benefits:
- Lower latency: Less input lag
- Better frame rates: Smoother animations
- Efficient: More efficient resource usage
Why avoid Wayland:
- Newer: Less mature than X11
- Compatibility: Some applications don't work yet
- Screen sharing: Some screen sharing tools don't work
- Remote desktop: Limited remote desktop support
- Gaming: Some games have issues
Check Wayland version:
wayland-infoWhat this does:
- Shows Wayland compositor information
- Displays Wayland version
Check if using Wayland:
echo $XDG_SESSION_TYPEOutput:
wayland
What this means:
- Currently using Wayland
- Wayland is active display server
| Feature | X11 | Wayland |
|---|---|---|
| Age | 1984 (old) | 2008 (modern) |
| Security | Less secure | More secure |
| Performance | Good | Better |
| Compatibility | Excellent | Good (improving) |
| Network support | Yes | Limited |
| Screen sharing | Works well | Some limitations |
| Gaming | Works well | Some issues |
| Remote desktop | Works well | Limited |
Use X11 if:
- Compatibility needed: Application doesn't work on Wayland
- Remote desktop: Need remote desktop features
- Screen sharing: Need advanced screen sharing
- Gaming: Some games work better on X11
- Stability: Need maximum compatibility
Use Wayland if:
- Security: Want better security
- Performance: Want better performance
- Modern system: Have modern hardware
- Desktop environment: DE supports Wayland well
- Future-proof: Want modern solution
Applications that work on both:
- Most modern applications
- Most desktop applications
- Most browsers
- Most media players
Applications that need X11:
- Some older applications
- Some screen sharing tools
- Some remote desktop tools
- Some games
Applications that work better on Wayland:
- Modern desktop environments
- Native Wayland applications
- Applications using modern toolkits
Check current display server:
echo $XDG_SESSION_TYPEOutput:
-
x11: Using X11 -
wayland: Using Wayland
Alternative method:
loginctl show-session $(loginctl | grep $(whoami) | awk '{print $1}') -p TypeWhat this does:
- Shows session type
- Displays current display server
Most desktop environments let you choose at login.
GNOME:
- Click your username
- Click gear icon ()
- Select "GNOME" (Wayland) or "GNOME on Xorg" (X11)
KDE Plasma:
- Click session type dropdown
- Select "Plasma (Wayland)" or "Plasma (X11)"
XFCE:
- Usually X11 only (no Wayland support yet)
i3:
- Usually X11 (Sway is Wayland alternative)
Edit display manager configuration:
For GDM (GNOME Display Manager):
sudo nano /etc/gdm/custom.confAdd or modify:
[daemon]
WaylandEnable=false
What this does:
-
WaylandEnable=false: Disables Wayland (forces X11) -
WaylandEnable=true: Enables Wayland (default)
For SDDM (KDE Display Manager):
sudo nano /etc/sddm.confModify session:
[General]
DisplayServer=wayland
# or
DisplayServer=x11
What this does:
- Sets default display server
- Applies to all users
Restart display manager:
sudo systemctl restart gdm
# or
sudo systemctl restart sddm** Warning**: This affects login screen - be careful!
You cannot switch between X11 and Wayland in a running session.
You must:
- Log out
- Select different session type at login
- Log back in
Why:
- Display server is fundamental
- Cannot change while running
- Requires new session
GNOME support:
- Wayland: Full support (default)
- X11: Full support (fallback)
GNOME on Wayland:
- Default on most systems
- Best Wayland support
- Recommended for GNOME
GNOME on X11:
- Available as fallback
- Use if Wayland has issues
- Select "GNOME on Xorg" at login
KDE Plasma support:
- Wayland: Full support
- X11: Full support (default on some systems)
KDE Plasma on Wayland:
- Good Wayland support
- Recommended for modern systems
- Select "Plasma (Wayland)" at login
KDE Plasma on X11:
- Traditional default
- Maximum compatibility
- Select "Plasma (X11)" at login
XFCE support:
- X11: Full support
- Wayland: Not yet supported
XFCE status:
- X11 only currently
- Wayland support in development
- Use X11 with XFCE
i3 support:
- X11: Full support
- Wayland: Not supported (use Sway instead)
Sway (Wayland alternative):
- i3-like tiling window manager
- Uses Wayland
- Similar keybinds to i3
Wayfire support:
- Wayland: Full support (Wayland-only)
- X11: Not supported
Wayfire status:
- Wayland compositor
- Modern features
- Eye candy and effects
Check display server:
echo $XDG_SESSION_TYPECheck graphics drivers:
# NVIDIA
nvidia-smi
# Intel/AMD
glxinfo | grep "OpenGL renderer"Check X11 logs:
cat ~/.local/share/xorg/Xorg.0.logCheck Wayland:
journalctl -b | grep -i waylandX11 applications on Wayland:
- Some X11 apps don't work on Wayland
- Use XWayland (X11 compatibility layer)
- Usually works automatically
Check XWayland:
echo $WAYLAND_DISPLAYForce X11 application:
GDK_BACKEND=x11 application-nameWhat this does:
- Forces application to use X11
- Runs through XWayland
- May fix compatibility issues
Wayland screen sharing:
- Some tools don't work on Wayland
- Use Wayland-native tools
- Or switch to X11
Enable screen sharing on Wayland:
- Install
xdg-desktop-portal - Install
xdg-desktop-portal-gnomeor-kde - Configure in desktop environment
X11 performance:
- Check compositor settings
- Disable unnecessary effects
- Update graphics drivers
Wayland performance:
- Usually better than X11
- Check compositor settings
- Update graphics drivers
Mouse/keyboard not working:
- Check if device is detected
- Check display server logs
- Try different USB port
Input lag:
- Wayland usually has less lag
- Check compositor settings
- Update graphics drivers
- CachyOS Post-Installation Guide - System setup
- Switching Desktop Environments - DE configuration
- Arch Linux Wiki - Xorg: https://wiki.archlinux.org/title/Xorg
- Arch Linux Wiki - Wayland: https://wiki.archlinux.org/title/Wayland
- Wayland Website: https://wayland.freedesktop.org/
This guide covered:
- Understanding display servers - What they are and why they matter
- X11 - Traditional display server
- Wayland - Modern display server
- X11 vs Wayland - Comparison and when to use each
- Switching - How to switch between X11 and Wayland
- Desktop environment support - Which DEs support what
- Troubleshooting - Common display issues
Key Takeaways:
- X11 is traditional, Wayland is modern
- Most desktop environments support both
- Choose at login screen
- Wayland is more secure and performant
- X11 has better compatibility
- Cannot switch in running session
- Check
$XDG_SESSION_TYPEto see current server
This guide is based on the CachyOS Wiki and Arch Linux Wiki and expanded with detailed explanations for beginners. For the most up-to-date display server information, always refer to the official documentation.