Skip to content

How to get the most out of CachyOS, mixed in with some other useful tutorials

License

Notifications You must be signed in to change notification settings

felikcat/cachy-os-setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 

Repository files navigation

Installation

1. Flashing the CachyOS ISO

  1. Download the CachyOS Desktop Edition ISO, then install balenaEtcher to flash that ISO onto a USB drive, so that you can restart your PC and boot into the CachyOS live environment.

2. After booted into the CachyOS ISO

  1. Launch the installer.

  2. Choose 'Limine' for the bootloader; this is used to make Btrfs snapshots easy, incase you need to roll back system changes.

  3. Partitions: Choose the 'btrfs' partition type, and enable 'Encrypt system' with your desired password.

  4. Desktop: Choose the 'Plasma Desktop' or 'XFCE'. 'XFCE' has less issues but is also less modern, meaning no HDR monitor support.

  5. Packages: Uncheck 'Firefox and language package' and proceed.

  6. Users: Check 'Log in automatically without asking for the password'.

  7. After installation is finished, reboot and unplug the USB.

  8. Read CachyOS' official page on recommendations to do after installation.

Recommendations

Making Steam games launch much faster

  1. Go to Steam Settings → Downloads.

  2. Scroll down until you see "Shader Pre-Caching", then disable "Enable Shader Pre-caching". This won’t slow down the performance of games on modern GPUs, far as I know.

Installing a good anti-malware product

💡
It’s recommended to isolate anything potentially dangerous in a virtual machine or a sandboxing solution like sandwine or bubblewrap, but using maldet is a good idea in general.
  • paru -S maldet

  • Sudo edit: /etc/maldet/maldet.conf

# It's also recommended to setup a Telegram bot to notify you of any infections, otherwise you won't know.
quarantine_hits="1"
quarantine_clean="1"
  • sudo systemctl enable --now maldet.service maldet-update-signatures.timer

  • Update the signatures at least once to get it going:
    sudo maldet -u

  • As of Dec 17 2025, the Telegram functionality of maldet is broken; here’s the command to fix it until they update it:
    sudo sed -i "s|api.telegram.org/$telegram_bot_token|api.telegram.org/bot$telegram_bot_token|g" /usr/share/maldet/internals/functions

    • Be sure to restart maldet after that change:
      sudo systemctl restart maldet.service

Ways to automatically improve the performance stability of games

💡
CachyOS already does a great job at optimizing the OS for games, but we can do a little better.
Balance IRQ requests across more CPU cores than just core 0, which the Linux kernel and games love to utilize core 0 the most heavily:
  1. sudo pacman -S irqbalance

  2. sudo systemctl enable --now irqbalance.service

Disable core dumps, which will impact CPU performance if any process is malfunctioning:
  1. echo "kernel.core_pattern=|/bin/false" | sudo tee /etc/sysctl.d/50-coredump.conf && sudo sysctl -p /etc/sysctl.d/50-coredump.conf

  2. sudo mkdir -p /etc/systemd/coredump.conf.d && echo -e "[Coredump]\nStorage=none\nProcessSizeMax=0" | sudo tee /etc/systemd/coredump.conf.d/custom.conf && sudo systemctl daemon-reload

We use ananicy-cpp instead of gamemode, so uninstall gamemode if present and don’t use it:
  • sudo pacman -R gamemode

systemd-oomd is unnecessary if running out of RAM doesn’t happen:
  • sudo systemctl disable --now systemd-oomd.service

"Disable GL driver error checking" using adriconf:
  1. sudo pacman -S adriconf

  2. Open Adriconf, and this option should be there in the 'Default' → 'Performance' tab, enable that option and save changes.

Setting up an interactive firewall and blocking AI websites using it

ℹ️
If the DNS resolution / internet is broken, you could edit /etc/resolv.conf to include nameserver 9.9.9.9 and nameserver 149.112.112.112.
  1. sudo pacman -S opensnitch

  2. Enable + run OpenSnitch:
    sudo systemctl enable --now opensnitchd.service

  3. Open OpenSnitch, click the 'Preferences' icon, then set Action to 'deny', and Duration to 'forever'. This will now be the default action for every program unless you allow it yourself either through a pop-up or manually.

  4. Now click the 'Rule' icon (looks like an add file icon), set the name to "000-block-domains", check 'Enable' and 'Priority rule', set the Action to 'Reject' and Duration to 'always', then check 'To this list of domains' and include the folder that contains the HOSTS file for my AI front-end site blocking. Save it and you’re done.

⚠️
For web browsers you have to disable their Secure DNS / DNS-over-HTTPS feature in order for the firewall to work.

Other

Switching from KDE Plasma to XFCE

  1. sudo pacman -S xfce4 cachyos-xfce-settings xfce4-pulseaudio-plugin xfce4-screenshooter

  2. To prevent conflicts with KWallet and gnome-keyring:
    kwriteconfig6 --file kwalletrc --group Wallet --key Enabled false

  3. It’s still recommended to use SDDM as the Display Manager.

  4. You can right-click on the taskbar, 'Panel' → 'Add new items' and from there add the Pulseaudio indicator and Whisker menu.

Switching from KDE Plasma to COSMIC

⚠️
Currently wouldn’t recommend it, COSMIC has numerous bugs that prevent applications from showing up.
  1. sudo pacman -S cosmic gnome-keyring system-config-printer system76-power

  2. sudo systemctl disable sddm && sudo systemctl enable cosmic-greeter.service

  3. To prevent conflicts with KWallet and gnome-keyring:
    kwriteconfig6 --file kwalletrc --group Wallet --key Enabled false

  4. reboot

Installing Flatpaks via the Bazaar app store

⚠️
If you’re trying to keep the installation minimalist, avoid Flatpaks.
  1. Flatpaks have better security than native Arch packages, but you still need to check what levels of isolations each Flatpak has by default, and adjust accordingly using Flatseal if desired:
    sudo pacman -S flatpak && flatpak install flathub com.github.tchx84.Flatseal io.github.kolunmi.Bazaar

  2. Reboot, then install what applications you want using Bazaar, such as Vencord to use Discord.

Wine setup (makes most Windows applications compatible with Linux)

  1. sudo pacman -S wine-staging wine-mono winetricks

  2. winetricks -q vcrun2022 dxvk allfonts nocrashdialog autostart_winedbg=disabled

  3. Now you can install the Windows version of Steam or do whatever else you’d like using Wine. Keep in mind that Windows malware can do damage to files on Linux, unless that Wine instance is sandboxed using sandwine.

Running AppImages

  • sudo pacman -S fuse2 and enjoy.

Setup for modding Morrowind, Oblivion, Skyrim, or other Bethesda games

  1. sudo pacman -S steam protontricks protonplus

  2. Run Steam at least once and login.

  3. Install the latest Proton-CachyOS through ProtonPlus, then restart Steam.

  4. Download the latest AppImage of Jackify and run it, this is what’ll install the mods (for Wabbajack based modpacks).

GPU management (undervolting, overclocking, fan control, power state control)

  1. sudo pacman -S lact && sudo systemctl enable --now lactd.service

  2. Open LACT, click on 'OC', then 'Enable AMD Overclocking' (or whatever it’s called for your GPU), then reboot after it says to.

Disabling one annoyance specific to CachyOS

  • Edit: ~/.config/fish/config.fish

# Add the following:
function fish_greeting
end

Setting up VR / Virtual Reality

See my tutorial on running Resonite on Linux.

Setting up a gaming Virtual Machine

See my tutorial for this.

My programs/apps won’t launch

Use strace to find the cause, for example:
strace filezilla

For me, having Keybase running led to a bunch of programs not starting up.

Downloading through the package manager is slow or there are network errors

Doing both these steps should fix the issue:
  1. sudo cachyos-rate-mirrors

  2. paru -Syu