Μετάβαση στο περιεχόμενο

Ρυθμίσεις του CachyOS

Πέρα από τους βελτιστοποιημένους πυρήνες και τα αποθετήριά μας, παρέχουμε και ρυθμίσεις που βελτιώνουν περαιτέρω την εμπειρία desktop experience, as well as some helper scripts for QoL improvements. All these configurations and scripts are under the cachyos-settings package.

Check out the CachyOS Settings repository to read more about all the configurations and scripts we provide.

Για να δημιουργήσετε μια αναφορά σφάλματος με το σενάριο cachyos-bugreport.sh:

  1. Ανοίξτε ένα τερματικό και εκτελέστε την εξής εντολή:
    Terminal window
    sudo cachyos-bugreport.sh
    Παράδειγμα εξόδου
    Terminal window
    sudo cachyos-bugreport.sh
    [sudo] password for array:
    Starting with bugreport
    Redacting personal information...
    Do you want to upload this log to https://paste.cachyos.org? [Y]es/[N]o: Y
    Uploading Log
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    100 130.3k 100 10 100 130.3k 7 96934 00:01 00:01 117.7k
    # Αφού ολοκληρωθεί η μεταφόρτωση, θα λάβετε ένα URL.
  2. Το σενάριο θα δημιουργήσει ένα αρχείο καταγραφής στον προσωπικό σας κατάλογο, το οποίο θα περιέχει πληροφορίες του συστήματος και logs that can be useful for debugging. It will also ask if you want to upload the log to our pastebin service, which can be helpful when reporting bugs.

Μπορεί να σας φανεί χρήσιμο σε ορισμένες περιπτώσεις, ειδικά για την έκδοση του Proton που παρέχεται από τη Valve.

What it does is try to update the DLSS DLLs and presets to the latest available version, which can be useful for some games that require a specific version of DLSS to work properly.

How? by injecting environment variables to the game process:

Μεταβλητές περιβάλλοντος του dlss-swapper
Terminal window
export PROTON_ENABLE_NGX_UPDATER=1
export DXVK_NVAPI_DRS_NGX_DLSS_RR_OVERRIDE=on
export DXVK_NVAPI_DRS_NGX_DLSS_SR_OVERRIDE=on
export DXVK_NVAPI_DRS_NGX_DLSS_FG_OVERRIDE=on
export DXVK_NVAPI_DRS_NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION=render_preset_latest
export DXVK_NVAPI_DRS_NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION=render_preset_latest
Μεταβλητές περιβάλλοντος του dlss-swapper-dll
Terminal window
export DXVK_NVAPI_DRS_NGX_DLSS_RR_OVERRIDE=on
export DXVK_NVAPI_DRS_NGX_DLSS_SR_OVERRIDE=on
export DXVK_NVAPI_DRS_NGX_DLSS_FG_OVERRIDE=on
export DXVK_NVAPI_DRS_NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION=render_preset_latest
export DXVK_NVAPI_DRS_NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION=render_preset_latest
  • Ποια είναι η διαφορά μεταξύ του dlss-swapper και του dlss-swapper-dll;
    • Το dlss-swapper ενημερώνει τα αρχεία DLL και τις προεπιλογές του DLSS στις πιο πρόσφατες εκδόσεις που παρέχονται από το NGX Updater, ενώ το dlss-swapper-dll βασίζεται στα αρχεία DLL που βρίσκονται ήδη στον κατάλογο του παιχνιδιού.

Μικροσκοπικό σενάριο που ενεργοποιεί το προφίλ επιδόσεων από το powerprofilesctl for the target process (Can be used for games or any other process) and disables the screen saver while the process is running.

Ερωτήσεις και απαντήσεις:

Οδηγίες χρήσης Let’s say you want to use game-performance for a Steam game. You can do that by adding the game-performance command as a launch option for the game in Steam:

  1. Open Steam and go to your Library.
  2. Right-click on the game you want to use game-performance with and select “Properties”.
  3. In the “General” tab, find the “Launch Options” section and add the following command:
    Terminal window
    game-performance %command%
  4. Close the properties tab and launch the game.

Χρήση εκτός του Steam Since game-performance is just a wrapper script, you can use it to launch any process with the performance profile enabled. Just run the following command in the terminal:

Terminal window
game-performance <command>

Does game-performance provide any benefit for a old CPU? Generally no. You should avoid it for old CPUs as it can cause more harm than good.

Why it’s not enabled by default? Enabling the performance profile may not be ideal for all users and can cause increased power consumption and heat generation. By not enabling it by default, we give users the choice to enable it when they need it, without forcing it on everyone.

Το kerver είναι ένα σενάριο που shares a brief summary of:

  • Τρέχουσα έκδοση πυρήνα
    • Checks x86_64 support and CPU compiler optimizations
  • Τρέχων χρονοπρογραμματιστής I/O
  • Summary of CPU, I/O and sched-ext scheduler (if active).
Usage
Ανοίξτε ένα τερματικό και εκτελέστε την εξής εντολή:
kerver
Παράδειγμα εξόδου
Terminal window
kerver
Check kernel version:
Linux version 6.19.8-1-hC (linux-hC@hC) (clang version 22.1.1, LLD 22.1.1) #1 SMP PREEMPT_DYNAMIC Sun, 15 Mar 2026 16:27:53 +0000
Linux CatchyOS 6.19.8-1-hC #1 SMP PREEMPT_DYNAMIC Sun, 15 Mar 2026 16:27:53 +0000 x86_64 GNU/Linux
Check x86_64 support:
x86-64-v3 (supported, searched)
x86-64-v2 (supported, searched)
Check CPU config:
CONFIG_X86_NATIVE_CPU=y
# CONFIG_GENERIC_CPU is not set
# CONFIG_MZEN4 is not set
Current disk schedulers:
sda: none mq-deadline kyber [adios] bfq
sdb: none mq-deadline kyber [adios] bfq
Check available schedulers:
BORE CPU Scheduler modification 6.6.2 by Masahito Suzuki
rcu: RCU calculated value of scheduler-enlistment delay is 100 jiffies.
io scheduler mq-deadline registered
io scheduler kyber registered
Adaptive Deadline I/O Scheduler 3.2.0 by Masahito Suzuki
io scheduler adios registered
io scheduler bfq registered
sched_ext: BPF scheduler "bpfland_1.1.0_gc505008f_x86_64_unknown_linux_gnu" enabled with options scx_bpfland

Ένα απλό εργαλείο CLI που σας επιτρέπει να upload text to our pastebin service. It can be useful for sharing logs and other text content when reporting bugs or seeking help.

Here are some examples of how to use paste-cachyos

Κοινοποίηση pacman update output
Terminal window
sudo pacman -Syu | paste-cachyos

Παράδειγμα

Αρχείο journalctl του systemd-resolved
Terminal window
journalctl -u systemd-resolved.service | paste-cachyos

Ένα απλό σενάριο meant to try to reduce latency and improve performance for PCI sound cards by changing the PCI latency timer.

Available both in binary and systemd service format. The systemd service will automatically apply the changes at boot, while the binary can be used to apply the changes on demand.

Εφάπαξ χρήση για την τρέχουσα συνεδρία
Terminal window
sudo pci-latency
Ενεργοποίηση υπηρεσίας systemd
Terminal window
systemctl enable pci-latency.service
Απενεργοποίηση υπηρεσίας systemd
Terminal window
systemctl disable pci-latency.service

sbctl-batch-sign is a helper script designed to make it easier for users to sign files needed for secure boot support.

The obvious case in which this script helps a lot is when dual booting Windows as there are a lot of files by Windows that needs to be signed in EFI.

Brief summary when executing the script:

  • Scans for unsigned files using sbctl verify
    • If necessary, signs the detected files using sbctl sign
  • Αποφεύγει αρχεία που ανήκουν στα Windows, στο GRUB or by file extension: .mui and .dll

Check our Secure Boot Setup section for more information.

Lua script που εμφανίζει τις διεργασίες που καταναλώνουν την περισσότερη μνήμη by their RAM usage, SWAP and KSM (Kernel Same-page Merging) sharing.

Πριν από τη χρήση
Terminal window
# Εγκαταστήστε το lua-luv για να εκτελέσετε το σενάριο:
sudo pacman -S lua-luv
Χρήση
Terminal window
topmem
Παράδειγμα εξόδου
Terminal window
topmem
MEMORY Top 10 processes SWAP KSM
1333M node 0M 0M
811M exe 0M 0M
759M VQ6B1EUZqoCU04zoRU= --cha... 0M 0M
681M node 0M 0M
531M zed-editor 0M 0M
484M brave 0M 0M
424M qs 0M 0M
408M mdx-language-server 0M 0M
395M Telegram 0M 0M
365M VQ6B1EUZqoCU04zoRU= --cha... 0M 0M

Επιβάλλει τη χρήση του Zink (OpenGL over Vulkan) for the target process by setting the appropriate environment variables.

Environment variables used
Terminal window
MESA_LOADER_DRIVER_OVERRIDE=zink
GALLIUM_DRIVER=zink
__GLX_VENDOR_LIBRARY_NAME=mesa
__EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json

Μπορεί να είναι χρήσιμο στο Steam για ορισμένα παιχνίδια που έχουν καλύτερες επιδόσεις ή συμβατότητα με το Zink.

Χρήση
Terminal window
zink-run <command>

Τι είναι μια παράκαμψη;

An override is a configuration file that you create to change the default settings provided by cachyos-settings. This allows you to customize your system without modifying the original files, which can be useful for maintaining compatibility with future updates of cachyos-settings.

Παρέχουμε πολλές προσαρμογές για το sysctl που aim to improve overall desktop performance. Each sysctl entry is well documented in the file 70-cachyos-settings.conf.

Για να πραγματοποιήσετε αλλαγές σε οποιαδήποτε από αυτές τις τιμές, αντιγράψτε την αρχική καταχώρηση και δημιουργήστε ένα νέο αρχείο στο /etc/sysctl.d/ με την τροποποιημένη τιμή.

Example sysctl override
  1. Take a look at the original value from cachyos-settings

    Terminal window
    cat /usr/lib/sysctl.d/70-cachyos-settings.conf
    # Only experimental!
    # Let Realtime tasks run as long they need
    # sched: RT throttling activated
    kernel.sched_rt_runtime_us=-1
  2. Make a new file in /etc/sysctl.d to make changes to the sysctl settings

    Reverting kernel.sched_rt_runtime_us= to its default value
    sudo micro /etc/sysctl.d/99-kernel-sched-rt.conf # If the file doesn't exist, this command creates and lets you edit the file
    kernel.sched_rt_runtime_us=950000
  3. Save the file by pressing CTRL + S and exit the editor by pressing CTRL + Q.

  4. After making changes to sysctl settings, make sure to apply the changes:

    Terminal window
    sudo sysctl --system

Same goes for udev rules. You can create your own overrides by making a new file under /etc/udev/rules.d/ with the same name as the original file.

Example udev rule override
  1. Check the original CachyOS udev rule:

    Terminal window
    cat /usr/lib/udev/rules.d/60-ioschedulers.rules
    Έξοδος:
    Terminal window
    # HDD
    ACTION=="add|change", KERNEL=="sd[a-z]*", ATTR{queue/rotational}=="1", \
    ATTR{queue/scheduler}="bfq"
    # SSD
    ACTION=="add|change", KERNEL=="sd[a-z]*|mmcblk[0-9]*", ATTR{queue/rotational}=="0", \
    ATTR{queue/scheduler}="mq-deadline"
    # NVMe SSD
    ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/rotational}=="0", \
    ATTR{queue/scheduler}="none"

    Now imagine you want to change the I/O scheduler for SSDs and NVMe to kyber instead of mq-deadline and none, respectively. You can do that by creating an override file.

  2. Δημιουργήστε ένα νέο αρχείο στο /etc/udev/rules.d για να παρακάμψετε τον αρχικό κανόνα:

    Terminal window
    sudo micro /etc/udev/rules.d/60-ioschedulers.rules # Εάν το αρχείο δεν υπάρχει, αυτή η εντολή το δημιουργεί και σας επιτρέπει να το επεξεργαστείτε
    # HDD
    ACTION=="add|change", KERNEL=="sd[a-z]*", ATTR{queue/rotational}=="1", \
    ATTR{queue/scheduler}="bfq"
    # SSD
    ACTION=="add|change", KERNEL=="sd[a-z]*|mmcblk[0-9]*", ATTR{queue/rotational}=="0", \
    ATTR{queue/scheduler}="kyber"
    # NVMe SSD
    ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/rotational}=="0", \
    ATTR{queue/scheduler}="kyber"
  3. Αποθηκεύστε το αρχείο πατώντας CTRL + S και κλείστε το πρόγραμμα επεξεργασίας πατώντας CTRL + Q.

  4. Αφού κάνετε τις αλλαγές στους κανόνες του udev, ?make sure to reload the rules and trigger them:

    Terminal window
    sudo udevadm control --reload-rules
    sudo udevadm trigger