---
title: CachyOS-Einstellungen
---
import { Tabs, TabItem, Steps } from '@astrojs/starlight/components';


Neben unseren optimierten Kerneln und Repositories bieten wir auch Einstellungen an, die das Desktop-Erlebnis weiter verbessern, sowie einige
Hilfsskripte für Quality-of-Life-Verbesserungen. All diese Konfigurationen und Skripte findest du im Paket `cachyos-settings`.

Schau dir das [CachyOS-Settings-Repository](https://github.com/CachyOS/CachyOS-Settings?tab=readme-ov-file#cachyos-settings) an, um mehr über die von uns bereitgestellten Konfigurationen und Skripte zu lesen.

## sysctl-Anpassungen

### [cachyos-bugreport.sh](https://github.com/CachyOS/CachyOS-Settings/blob/master/usr/bin/cachyos-bugreport.sh)

So kannst du mithilfe des Skripts `cachyos-bugreport.sh` einen Fehlerbericht erstellen:
<Steps>
1. Öffne ein Terminal und führe den folgenden Befehl aus:
    ```sh
    sudo cachyos-bugreport.sh
    ```
    <details>
        <summary>Beispielausgabe</summary>
        ```sh
        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
        # A URL will be provided here after the upload is complete.
        ```
    </details>
2. Das Skript erstellt in Ihrem Home-Verzeichnis eine Protokolldatei, die Systeminformationen und für das Debugging nützliche Protokolle enthält. Zudem wirst du gefragt, ob das Protokoll auf unseren Pastebin-Dienst hochgeladen werden soll, was bei der Meldung von Fehlern hilfreich sein kann.
</Steps>

### DLSS Swapper

Kann in einigen Fällen nützlich sein, insbesondere für die von Valve bereitgestellte Proton-Version.

:::note
Proton-CachyOS bietet bereits eine integrierte Upgrade-Funktion.
:::

:::caution
Verwende `PROTON_DLSS_UPGRADE=1` und `dlss-swapper` nicht gleichzeitig, da beide dieselbe Funktion erfüllen und zu Konflikten führen können.
:::

Dabei wird versucht, die DLSS-DLLs und -Presets auf die jeweils neueste verfügbare Version zu aktualisieren; dies kann bei Spielen hilfreich sein, die für eine einwandfreie Funktion eine bestimmte DLSS-Version benötigen.

Wie? Durch das Einschleusen von Umgebungsvariablen in den Spielprozess:

<details>
    <summary>dlss-swapper Umgebungsvariablen</summary>
    ```sh
    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
    ```
</details>
<details>
    <summary>dlss-swapper-dll Umgebungsvariablen</summary>
    ```sh
    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
    ```
</details>

- Was ist der Unterschied zwischen `dlss-swapper` und `dlss-swapper-dll`? 
    - `dlss-swapper` aktualisiert die DLSS-DLLs und -Presets auf die neuesten verfügbaren Versionen, die vom NGX Updater bereitgestellt werden, während `dlss-swapper-dll` auf die bereits im Spielverzeichnis vorhandenen DLLs zurückgreift.


### [game-performance](https://github.com/CachyOS/CachyOS-Settings/blob/master/usr/bin/game-performance)

Ein kleines Skript, das das Leistungsprofil von `powerprofilesctl` für den Zielprozess aktiviert (geeignet für Spiele oder andere Prozesse) und den Bildschirmschoner deaktiviert, solange der Prozess läuft.

Q&A:

<details>
    <summary>Anwendung</summary>
    Angenommen, du möchtest `game-performance` für ein Steam-Spiel nutzen. Dies ist möglich, indem du den Befehl `game-performance` als Startoption für das Spiel in Steam hinzufügst:
        <Steps>
            1. Öffne Steam und gehe zu deiner Bibliothek. 
            2. Klicke mit der rechten Maustaste auf das Spiel, für das du `game-performance` verwenden möchtest, und wähle „Eigenschaften“. 
            3. Suche im Reiter „Allgemein“ den Bereich „Startoptionen“ und füge folgenden Befehl hinzu:
                ```sh
                game-performance %command%
                ```
                :::tip[Anleitung wie man Startoptionen auf Steam verwaltet]
                CachyOS Wiki - [Wie man mehrere Startoptionen richtig einstellt](/de/configuration/gaming#wie-man-mehrere-startoptionen-richtig-einstellt)
                :::
            4. Schließe das Eigenschaften-Fenster und starte das Spiel. 
        </Steps>
        <details>
            <summary>Verwendung außerhalb von Steam</summary>
            Da es sich bei `game-performance` lediglich um ein Wrapper-Skript handelt, kannst du damit jeden beliebigen Prozess mit aktiviertem Leistungsprofil starten. Führe dazu einfach folgenden Befehl im Terminal aus:
            ```sh
            game-performance <Kommando>
            ```
        </details>
</details>

<details>
    <summary>Bietet game-performance Vorteile bei einer älteren CPU?</summary>
    Meistens nicht. Bei älteren CPUs solltest du darauf verzichten, da es mehr schaden als nutzen kann.

    Um einen groben Richtwert zu geben, game-performance wird auf CPUs mit weniger als 6 Kernen und 12 Threads die Leistung wahrscheinlich nicht verbessern, teilweise sogar verschlechtern. Wie mit den meisten Optionen, solltest du selbst testen, ob sie die Leistung auf deinem eigenen System verbessern oder nicht.
      - Bei Intel Desktop-CPUs liegt die ungefähre Grenze somit bei der 8. Generation (Coffee Lake) für i7 und i9 CPUs und der 10. Generation (Comet Lake) für i5 CPUs. Alle Intel-Ultra CPUs sollten funktionieren. 
      - Bei AMD Desktop-CPUs ist es die 1000er-Serie (Zen) für Ryzen 7  und Ryzen 9 CPUs. Bei Ryzen 5 CPUs ist es ebenfalls die 1000er-Serie, allerdings erst ab dem Ryzen 5 1600 aufwärts. Dies gilt bis zur 5000er-Serie (Zen 3), bei der nun alle Ryzen 5 CPUs 6 Kerne und 12 Threads haben. 
      - Intel i3 und Ryzen 3 Desktop-CPUs haben nie mehr als vier Kerne.
      - Die Kernanzahl bei Mobile, Workstations und Server CPUs ist ein absolutes Durcheinander, informiere dich also darüber was du hast und probiere verschiedene Einstellungen aus, genau das ist doch der halbe Spaß bei PC-Hardware!
</details>

<details>
    <summary>Warum ist es nicht standardmäßig aktiviert?</summary>
    Die Aktivierung des Leistungsprofils ist möglicherweise nicht für alle Nutzer ideal und kann zu einem erhöhten Stromverbrauch sowie stärkerer Wärmeentwicklung führen. Indem wir es nicht standardmäßig aktivieren, überlassen wir den Nutzern die Wahl, es bei Bedarf einzuschalten, anstatt es allen aufzuzwingen.
</details>

### [kerver](https://github.com/CachyOS/CachyOS-Settings/blob/master/usr/bin/kerver)

kerver ist ein Skript, das eine kurze Zusammenfassung folgender Informationen ausgibt:

- Deine aktuelle Kernelversion
    - Überprüfung der x86_64-Unterstützung und der CPU-Compiler-Optimierungen
- Aktuelle I/O scheduler
- Zusammenfassung zu CPU, I/O und sched-ext-Scheduler (falls aktiv)

<details>
    <summary>Anwendung</summary>
    ```sh title='Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus:'
    kerver
    ```
    <details>
        <summary>Beispielausgabe</summary>
        ```sh
        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
        ```
    </details>
</details>

### [paste-cachyos](https://github.com/CachyOS/CachyOS-Settings/blob/master/usr/bin/paste-cachyos)

Ein einfaches CLI-Tool, mit dem du Text in unseren [Pastebin-Dienst] (https://paste.cachyos.org) hochladen kannst. Dies kann nützlich sein, um Protokolle und andere Textinhalte zu teilen, wenn du Fehler meldest oder Hilfe suchst.

:::note
Um „Paste-Cachyos“ zu verwenden musst du den Inhalt, den du hochladen möchtest, mit „|“ an den Befehl weiterleiten.

Beispiel:
```sh
<Kommando> | paste-cachyos
```
:::

Hier sind einige Beispiele für die Verwendung von `paste-cachyos`

<details>
    <summary>Eine Pacman-Update-Ausgabe teilen</summary>
    ```sh
    sudo pacman -Syu | paste-cachyos
    ```
    [Beispiel](https://paste.cachyos.org/p/079e1cc)
</details>

<details>
    <summary>journalctl Log von systemd-resolved</summary>
    ```sh
    journalctl -u systemd-resolved.service | paste-cachyos
    ```
</details>

### [pci-latency](https://github.com/CachyOS/CachyOS-Settings/blob/master/usr/bin/pci-latency)

Ein einfaches Skript, mit dem versucht werden soll, die Latenz zu reduzieren und die Leistung von PCI-Soundkarten zu verbessern, indem der PCI-Latenz-Timer geändert wird.

Verfügbar sowohl im Binär- als auch im Systemd-Dienstformat. Der systemd-Dienst übernimmt die Änderungen automatisch beim Booten, während die Binärdatei verwendet werden kann, um die Änderungen bei Bedarf anzuwenden.

<details>
    <summary>Einmalige Verwendung für die aktuelle Sitzung</summary>
    ```sh
    sudo pci-latency
    ```
</details>
<details>
    <summary>systemd service aktivieren</summary>
    ```sh
    systemctl enable pci-latency.service
    ```
</details>
<details>
    <summary>systemd service deaktivieren</summary>
    ```sh
    systemctl disable pci-latency.service
    ```
</details>

### [sbctl-batch-sign](https://github.com/CachyOS/CachyOS-Settings/blob/master/usr/bin/sbctl-batch-sign)

:::note
Nicht mit Limine kompatibel.
:::

`sbctl-batch-sign` ist ein Hilfsskript, das Benutzern das Signieren von Dateien erleichtern soll, die für die Secure-Boot-Unterstützung erforderlich sind.

Ein typischer Anwendungsfall, in dem dieses Skript sehr hilfreich ist, ist das Dual-Boot-Szenario mit Windows, da dort zahlreiche Windows-Dateien vorhanden sind, die im EFI-Kontext signiert werden müssen.

Kurze Zusammenfassung bei der Ausführung des Skripts:

- Sucht mithilfe von `sbctl verify` nach unsignierten Dateien
    - Signiert die erkannten Dateien bei Bedarf mit `sbctl sign`
- Berücksichtigt keine Dateien, die zu Windows oder GRUB gehören, sowie Dateien mit den Endungen `.mui` und `.dll`

Weitere Informationen findest du im Abschnitt [Secure Boot Setup](/de/configuration/secure_boot_setup#kernel-image-und-boot-manager-signieren).

### [topmem](https://github.com/CachyOS/CachyOS-Settings/blob/master/usr/bin/topmem)

Lua-Skript, das die Prozesse mit dem höchsten Speicherverbrauch anzeigt, sortiert nach RAM-Nutzung, Swap und KSM-Sharing (Kernel Same-page Merging).

<details>
    <summary>Vor der Anwendung</summary>
    ```sh
    # Installiere lua-luv um das Skript zu starten:
    sudo pacman -S lua-luv
    ```
</details>
<details>
    <summary>Anwendung</summary>
    ```sh
    topmem
    ```
    <details>
        <summary>Beispielausgabe</summary>
        ```sh
        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
        ```
    </details>
</details>

### [zink-run](https://github.com/CachyOS/CachyOS-Settings/blob/master/usr/bin/zink-run)

Erzwingt die Verwendung von Zink (OpenGL über Vulkan) für den Zielprozess, indem die entsprechenden Umgebungsvariablen gesetzt werden.

<details>
    <summary>Benutzte Umgebungsvariablen</summary>
    ```sh
    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
    ```
</details>

Kann bei Steam für einige Spiele nützlich sein, die mit Zink eine bessere Leistung oder Kompatibilität aufweisen.

<details>
    <summary>Anwendung</summary>
    ```sh
    zink-run <command>
    ```
</details>

## Erstellen von Overrides

Was ist ein Override?

Ein Override ist eine Konfigurationsdatei, die du erstellst, um die von `cachyos-settings` bereitgestellten Standardeinstellungen zu ändern. Dies ermöglicht es dir, dein System anzupassen, ohne die Originaldateien zu verändern, was nützlich dabei ist, die Kompatibilität mit zukünftigen Updates von `cachyos-settings` sicherzustellen.

### sysctl

Wir stellen zahlreiche sysctl-Anpassungen bereit, die darauf abzielen, die allgemeine Desktop-Leistung zu verbessern. Jeder sysctl-Eintrag ist in der Datei [70-cachyos-settings.conf](https://github.com/CachyOS/CachyOS-Settings/blob/master/usr/lib/sysctl.d/70-cachyos-settings.conf) ausführlich dokumentiert.

Um Änderungen an einem dieser Werte vorzunehmen, kopieren Sie den ursprünglichen Eintrag und erstellen Sie eine neue Datei unter `/etc/sysctl.d/` mit dem geänderten Wert.

<details>
    <summary>Beispiel für ein sysctl Override</summary>
    <Steps>

    1. Überprüfe den ursprünglichen Wert in `cachyos-settings`.

        ```sh
        cat /usr/lib/sysctl.d/70-cachyos-settings.conf
        # Nur experimentell!
        # Echtzeitaufgaben so lange wie nötig laufen lassen
        # sched: RT-Drosselung aktiviert
        kernel.sched_rt_runtime_us=-1
        ```
    2. Erstelle eine neue Datei in `/etc/sysctl.d`, um die sysctl-Einstellungen zu ändern.

        ```sh title="Setze kernel.sched_rt_runtime_us= auf den Standardwert zurück"
        sudo micro /etc/sysctl.d/99-kernel-sched-rt.conf # Falls die Datei nicht existiert, erstellt dieser Befehl sie und ermöglicht die Bearbeitung.
        kernel.sched_rt_runtime_us=950000
        ```
    3. Speicher die Datei mit `Strg + S` und beende den Editor mit `Strg + Q`.
    4. Stelle sicher, dass die Änderungen an den sysctl-Einstellungen übernommen werden:
        ```sh
        sudo sysctl --system
        ```
    </Steps>
</details>

### udev Regeln

Dasselbe gilt für udev-Regeln. Du kannst eigene Überschreibungen erstellen, indem du eine neue Datei unter `/etc/udev/rules.d/` mit demselben Namen wie die Originaldatei anlegst.

:::tip[Verwende den folgenden Befehl, um die Originaldateien zu finden]
```sh
pacman -Ql cachyos-settings | grep udev
```
:::

<details>
    <summary>Beispiel für ein udev rule Override</summary>
    1. Überprüfe die ursprüngliche CachyOS-udev-Regel:
        ```sh
        cat /usr/lib/udev/rules.d/60-ioschedulers.rules
        ```
        <details>
            <summary>Beispielausgabe:</summary>
                ```sh
                # 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"
                ```
        </details>
        Stelle dir nun vor, du möchtest den I/O-Scheduler für SSDs und NVMe von `mq-deadline` bzw. `none` auf `kyber` ändern. Dies erreichst du durch Erstellen einer Override-Datei.
    2. Erstelle eine neue Datei in `/etc/udev/rules.d`, um die ursprüngliche Regel zu überschreiben:
        ```sh
        sudo micro /etc/udev/rules.d/60-ioschedulers.rules # Falls die Datei nicht existiert, erstellt dieser Befehl sie und ermöglicht die Bearbeitung.
        # 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. Speicher die Datei mit `Strg + S` und beende den Editor mit `Strg + Q`.
    4. Stelle sicher, dass die Änderungen an den udev-Regeln übernommen werden:

        ```sh
        sudo udevadm control --reload-rules
        sudo udevadm trigger
        ```
</details>
