CachyOS Post Installation - ryzendew/Linux-Tips-and-Tricks GitHub Wiki

CachyOS Post-Installation Guide

This guide covers essential steps to take after installing CachyOS to optimize your system, install necessary software, and configure your setup for the best experience.


Table of Contents

  1. Initial System Update
  2. Configure Graphics Drivers
  3. Install Essential Software
  4. Configure System Services
  5. Set Up User Account
  6. Configure Desktop Environment
  7. Optimize System Performance
  8. Set Up Backup Strategy
  9. Security Configuration
  10. Additional Recommendations

Initial System Update

Why Update First?

After installation, you should update your system immediately because:

  • Installation ISO may be older than current packages
  • Security updates may be available
  • Bug fixes and improvements are included
  • Ensures you have the latest optimizations

How to Update

Update system (recommended method):

sudo pacman -Syu

What this does:

  • sudo: Runs with administrator privileges
  • pacman: Arch Linux package manager
  • -S: Synchronize (install/update packages)
  • -y: Download fresh package database from servers
  • -u: Upgrade installed packages to newer versions

Important: Always use -Syu together. Using -Sy without -u can cause dependency issues.

What this does:

  • -Syu: Synchronize, update package database, and upgrade all packages
  • Downloads and installs updates for all installed packages
  • May take 5-30 minutes depending on updates available

Step 3: Verify update completed

# Check if any packages need updates
pacman -Qu

What this command does:

  • pacman: Package manager (no sudo needed - just checking, not installing)
  • -Q: Query - check installed packages
  • -u: Upgrades - show packages that can be upgraded

What happens:

  • pacman compares your installed packages with available versions
  • Shows you any packages that have updates available
  • If no output, your system is fully up to date

Example output if updates are available:

firefox 120.0-1 -> 120.1-1
kernel 6.6.5-1 -> 6.6.6-1

Example output if system is up to date:

(no output - this means everything is current!)

If you see packages listed:

  • Run sudo pacman -Syu again to update them
  • Or update specific packages: sudo pacman -S package-name

Update Frequency

Recommended update schedule:

  • Weekly: For regular users
  • Monthly: For stable systems
  • Before major changes: Always update before major configuration changes

Best practices:

  • Read update announcements
  • Check for breaking changes
  • Backup before major updates
  • Update during low-usage times

Configure Graphics Drivers

Why Configure Graphics Drivers?

Proper graphics drivers ensure:

  • Best performance
  • Hardware acceleration
  • Proper display resolution
  • Gaming performance
  • Video playback acceleration

Using chwd (Recommended)

chwd automatically detects and installs correct drivers:

# Detect hardware and install drivers
sudo chwd -h -a nvidia  # For NVIDIA
sudo chwd -h -a amd     # For AMD (if needed)

What chwd does step-by-step:

  1. Scans your system: Detects what graphics card you have
  • Looks at hardware connected to your computer
  • Identifies the graphics card model
  1. Identifies drivers needed: Determines which driver packages to install
  • Checks what drivers are available for your card
  • Selects the appropriate driver version
  1. Downloads drivers: Gets driver packages from internet
  • Connects to CachyOS package servers
  • Downloads necessary driver files
  1. Installs drivers: Installs driver packages on your system
  • Extracts and installs driver files
  • Sets up driver configuration
  1. Configures system: Sets up configuration files
  • Creates necessary config files
  • Updates system settings
  1. Prepares for reboot: Tells you to reboot when done
  • Drivers will be active after reboot
  • System will use new drivers

Example output:

Detected hardware: NVIDIA GeForce RTX 3060
Installing: nvidia nvidia-utils nvidia-settings lib32-nvidia-utils
Configuring system...
Done! Please reboot for changes to take effect.

What the packages do:

  • nvidia: Main NVIDIA driver (kernel module - the actual driver)
  • nvidia-utils: NVIDIA utilities and tools (helper programs)
  • nvidia-settings: NVIDIA configuration tool (GUI application to configure GPU)
  • lib32-nvidia-utils: 32-bit support (needed for Steam, some games, 32-bit applications)

See CachyOS Tools Guide for detailed chwd usage.

Manual Driver Installation

For NVIDIA:

# Install NVIDIA drivers
sudo pacman -S nvidia nvidia-utils nvidia-settings

# For 32-bit support (for Steam, etc.)
sudo pacman -S lib32-nvidia-utils

For AMD:

# AMD drivers usually work out of box
# But you can install additional packages:
sudo pacman -S mesa vulkan-radeon lib32-mesa lib32-vulkan-radeon

For Intel:

# Intel graphics usually work automatically
# Additional packages if needed:
sudo pacman -S mesa vulkan-intel lib32-mesa lib32-vulkan-intel

Verify Graphics Drivers

Check if drivers are working:

# Check graphics card
lspci | grep -i vga

What this command does:

  • lspci: Lists PCI devices (hardware connected to motherboard)
  • | grep -i vga: Searches for VGA (video graphics adapter)
  • Shows your graphics card information

Example output:

01:00.0 VGA compatible controller: NVIDIA Corporation GA106 [GeForce RTX 3060] (rev a1)

What this tells you:

  • Your graphics card is detected
  • Shows model name (GeForce RTX 3060)
  • Card is connected and recognized by system
# Check NVIDIA (if NVIDIA)
nvidia-smi

What this command does:

  • nvidia-smi: NVIDIA System Management Interface
  • Shows detailed NVIDIA GPU information
  • Only works if NVIDIA drivers are installed and GPU is active

Example output:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 535.xx       Driver Version: 535.xx       CUDA Version: 12.2  |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0 On |                  N/A |
|  0%   45C    P8    15W / 170W |    1234MiB / 12288MiB |      0%      Default |
+-----------------------------------------------------------------------------+

Understanding the output:

  • Driver Version: NVIDIA driver version (535.xx)
  • GPU 0: Your NVIDIA graphics card
  • Name: GPU model (GeForce RTX 3060)
  • Temp: GPU temperature (45°C - normal)
  • Memory-Usage: How much GPU memory is used (1234MB / 12288MB)
  • GPU-Util: GPU usage percentage (0% = idle)

If you see an error:

  • NVIDIA-SMI has failed: Drivers not installed or GPU not active
  • Solution: Install drivers: sudo chwd -h -a nvidia
# Check OpenGL
glxinfo | grep "OpenGL renderer"

What this command does:

  • glxinfo: Shows OpenGL graphics information
  • OpenGL: Graphics API used by many applications and games
  • | grep "OpenGL renderer": Finds which GPU is being used

Example output (NVIDIA working):

OpenGL renderer string: NVIDIA GeForce RTX 3060/PCIe/SSE2

Example output (Intel working):

OpenGL renderer string: Mesa Intel(R) UHD Graphics 630 (CML GT2)

What this tells you:

  • Shows which GPU is active for graphics
  • If it shows your GPU model, drivers are working
  • If it shows "llvmpipe" or "software", hardware acceleration isn't working

If command not found:

# Install mesa-utils (contains glxinfo)
sudo pacman -S mesa-utils
# Check Vulkan
vulkaninfo | grep "deviceName"

What this command does:

  • vulkaninfo: Shows Vulkan graphics API information
  • Vulkan: Modern graphics API (alternative to OpenGL, used by many games)
  • | grep "deviceName": Finds GPU name in Vulkan output

Example output:

deviceName     = NVIDIA GeForce RTX 3060

What this tells you:

  • Your GPU supports Vulkan
  • Vulkan drivers are installed correctly
  • Games using Vulkan will work properly

If command not found:

# Install vulkan-tools (contains vulkaninfo)
sudo pacman -S vulkan-tools

Reboot After Driver Installation

After installing graphics drivers:

sudo reboot

What this command does:

  • sudo: Administrator privileges (needed to reboot)
  • reboot: Restarts your computer
  • System shuts down and starts up again

Why reboot is necessary:

  • Kernel modules need to load: Graphics drivers are kernel modules that load at boot
  • Kernel modules: Drivers that extend the Linux kernel
  • They need to load when system starts
  • X server/Wayland needs to restart: Display server must restart to use new drivers
  • X server/Wayland: Software that handles graphics display
  • Needs to reload with new driver configuration
  • Changes take effect: New drivers become active after reboot
  • Configuration changes are applied
  • System recognizes and uses new drivers

What happens during reboot:

  1. System shuts down gracefully
  2. All services stop
  3. Kernel modules unload
  4. System powers off
  5. System powers on
  6. Kernel loads (with new graphics drivers)
  7. Display server starts (using new drivers)
  8. Desktop environment loads
  9. You log in

After reboot:

  • Graphics drivers should be active
  • You can verify with commands above
  • Display should work at correct resolution
  • Graphics performance should be improved

Install Essential Software

Package Managers

pacman (built-in):

# Search for packages
pacman -Ss package-name

# Install package
sudo pacman -S package-name

# Remove package
sudo pacman -R package-name

AUR helpers (for Arch User Repository):

# Install yay (popular AUR helper)
sudo pacman -S yay

# Or paru (another AUR helper)
sudo pacman -S paru

# Use AUR helper
yay -S package-name

Essential Software Categories

Web Browsers

Firefox:

sudo pacman -S firefox

Chromium:

sudo pacman -S chromium

Google Chrome (AUR):

yay -S google-chrome

Office Software

LibreOffice:

sudo pacman -S libreoffice-fresh

OnlyOffice (AUR):

yay -S onlyoffice-bin

Media Players

VLC:

sudo pacman -S vlc

MPV:

sudo pacman -S mpv

Code Editors

VS Code:

sudo pacman -S code

Neovim:

sudo pacman -S neovim

Development Tools

Git:

sudo pacman -S git

Build tools:

sudo pacman -S base-devel

Using CachyOS Hello

CachyOS Hello provides easy package installation:

  1. Launch CachyOS Hello
  2. Browse packages by category
  3. Select packages to install
  4. Click Install

See CachyOS Tools Guide for CachyOS Hello usage.


Configure System Services

Essential Services

NetworkManager (network management):

# Enable and start NetworkManager
sudo systemctl enable --now NetworkManager

Bluetooth:

# Enable and start Bluetooth
sudo systemctl enable --now bluetooth

Time synchronization:

# Enable systemd-timesyncd
sudo systemctl enable --now systemd-timesyncd

Optional Services

Printing (CUPS):

# Install CUPS
sudo pacman -S cups

# Enable CUPS service
sudo systemctl enable --now cups

SSH (remote access):

# Install OpenSSH
sudo pacman -S openssh

# Enable SSH service
sudo systemctl enable --now sshd

Firewall (ufw):

# Install ufw
sudo pacman -S ufw

# Enable firewall
sudo systemctl enable --now ufw

# Configure basic rules
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable

Check Service Status

List all services:

systemctl list-units --type=service --state=running

Check specific service:

systemctl status service-name

See Systemctl Troubleshooting Guide for service management.


Set Up User Account

User Account Configuration

Your user account was created during installation, but you may want to:

Add user to additional groups:

# Add user to wheel group (for sudo)
sudo usermod -aG wheel username

# Add user to audio group
sudo usermod -aG audio username

# Add user to video group
sudo usermod -aG video username

# Add user to docker group (if using Docker)
sudo usermod -aG docker username

Change user password:

# Change your password
passwd

Configure shell:

# List available shells
chsh -l

# Change shell (e.g., to zsh)
chsh -s /usr/bin/zsh

User Directory Setup

Create common directories:

# Create common directories
mkdir -p ~/Documents ~/Downloads ~/Pictures ~/Videos ~/Music
mkdir -p ~/Projects ~/Desktop

Set up SSH keys (if needed):

# Generate SSH key
ssh-keygen -t ed25519 -C "[email protected]"

# Copy public key (for GitHub, servers, etc.)
cat ~/.ssh/id_ed25519.pub

Configure Desktop Environment

KDE Plasma

Install additional KDE packages:

sudo pacman -S kde-applications

Configure KDE:

  • System Settings → Appearance
  • System Settings → Workspace Behavior
  • System Settings → Shortcuts

Install themes and icons:

# Popular themes
sudo pacman -S kvantum-theme-arc-git

GNOME

Install GNOME extensions:

# Install extension manager
sudo pacman -S gnome-shell-extension-manager

Configure GNOME:

  • Settings → Appearance
  • Settings → Keyboard Shortcuts
  • Tweaks (if installed)

i3 Window Manager

Configure i3:

# Edit i3 config
nano ~/.config/i3/config

# Reload i3
i3-msg reload

Install i3 utilities:

sudo pacman -S i3lock i3status dmenu

See Switching Desktop Environments for more DE configuration.


Optimize System Performance

Enable Performance Optimizations

Check CPU optimization level:

# Verify you're using optimized packages
pacman -Q | grep cachyos

See CachyOS Performance Guide for optimization details.

Configure Swap

Check swap:

# Check swap usage
free -h

# Check swap file/partition
swapon --show

Create swap file (if needed):

# Create 4GB swap file
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# Make permanent
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Optimize I/O Scheduler

Check current scheduler:

# Check I/O scheduler
cat /sys/block/sda/queue/scheduler

Change I/O scheduler (if needed):

# For SSDs, use none or mq-deadline
echo mq-deadline | sudo tee /sys/block/sda/queue/scheduler

# Make permanent (add to /etc/udev/rules.d/)

Disable Unnecessary Services

List running services:

systemctl list-units --type=service --state=running

Disable services you don't need:

sudo systemctl disable service-name

Set Up Backup Strategy

Why Backup?

Backups protect you from:

  • Data loss
  • System corruption
  • Accidental deletion
  • Hardware failure

Backup Tools

Timeshift (system snapshots):

# Install Timeshift
sudo pacman -S timeshift

# Create snapshot
sudo timeshift --create

rsync (file backup):

# Install rsync
sudo pacman -S rsync

# Backup home directory
rsync -av --delete ~/ /path/to/backup/

BorgBackup (deduplication):

# Install BorgBackup
sudo pacman -S borg

# Create backup
borg create /path/to/repo::backup-name ~/

Backup Schedule

Recommended:

  • System snapshots: Weekly
  • File backups: Daily or weekly
  • Important files: Multiple copies

Best practices:

  • Backup to external drive
  • Use cloud storage for important files
  • Test restore procedures
  • Keep multiple backup copies

Security Configuration

Firewall Setup

Install and configure ufw:

# Install ufw
sudo pacman -S ufw

# Enable firewall
sudo systemctl enable --now ufw

# Basic configuration
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable

Automatic Security Updates

Enable automatic updates (optional):

# Install unattended-upgrades equivalent
# Or set up cron job for updates

Manual update check:

# Check for security updates (use -Syu for full update)
sudo pacman -Syu
pacman -Qu

User Permissions

Use sudo instead of root:

  • Don't log in as root
  • Use sudo for administrative tasks
  • Configure sudoers if needed

Configure sudo:

# Edit sudoers (use visudo)
sudo visudo

Secure Boot (Optional)

If you want Secure Boot:


Additional Recommendations

Install Development Tools

If you're a developer:

# Install base development tools
sudo pacman -S base-devel git

# Install programming languages
sudo pacman -S python nodejs go rust

# Install IDEs
sudo pacman -S code neovim

Set Up Gaming

Install Steam:

sudo pacman -S steam

Install gaming dependencies:

sudo pacman -S wine-staging lutris

See CachyOS Gaming Configuration Guide for detailed gaming setup.

Configure Audio

Install audio packages:

# PulseAudio (usually pre-installed)
sudo pacman -S pulseaudio pulseaudio-alsa

# ALSA utilities
sudo pacman -S alsa-utils

# Audio codecs
sudo pacman -S gstreamer gst-plugins-good gst-plugins-bad gst-plugins-ugly

Set Up Printing

Install CUPS:

sudo pacman -S cups cups-pdf

# Enable CUPS
sudo systemctl enable --now cups

# Access web interface
# http://localhost:631

Configure Mirrors

Optimize package download speed:

# Install reflector
sudo pacman -S reflector

# Update mirrorlist
sudo reflector --country "United States" --latest 10 --sort rate --save /etc/pacman.d/mirrorlist

Or use CachyOS rate-mirrors:

# Use CachyOS tool
sudo cachyos-rate-mirrors

Install Media Codecs

Install codecs for media playback:

# Install codecs
sudo pacman -S gstreamer gst-plugins-good gst-plugins-bad gst-plugins-ugly
sudo pacman -S gst-libav

Set Up Flatpak (Optional)

Install Flatpak:

sudo pacman -S flatpak

# Add Flathub repository
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Additional Resources


Summary

This guide covered:

  1. Initial system update - Keeping system current
  2. Graphics drivers - Proper hardware support
  3. Essential software - Installing needed applications
  4. System services - Configuring background services
  5. User account - Setting up user properly
  6. Desktop environment - Customizing your DE
  7. Performance optimization - Getting best performance
  8. Backup strategy - Protecting your data
  9. Security - Basic security configuration
  10. Additional recommendations - Extra useful setup

Key Takeaways:

  • Always update system after installation
  • Install proper graphics drivers for best performance
  • Configure essential services
  • Set up backups early
  • Customize your desktop environment
  • Optimize for your use case

Next Steps:

  • Explore CachyOS features
  • Customize your system
  • Install software you need
  • Join the CachyOS community

This guide is based on the CachyOS Wiki and expanded with detailed explanations for beginners. For the most up-to-date post-installation recommendations, always refer to the official CachyOS documentation.