---
title: Gaming mit CachyOS – Anleitung
description: 'Hier geht es um die Installation wichtiger Pakete, das Zocken mit Steam und Proton, verschiedene Proton-Versionen, Lutris als zentraler Anlaufpunkt für alle Spiele und Skript-Installer für beliebte Games.'
tableOfContents:
  minHeadingLevel: 1
  maxHeadingLevel: 4
---

import ImageComponent from '~/components/image-component.astro';
import MultipleImageComponent from '~/components/multiple-images-component.astro';
import { Tabs, TabItem, Steps, LinkButton, Icon } from '@astrojs/starlight/components';

Willkommen bei der Anleitung für Gaming auf CachyOS. Sie führt dich durch die wichtigsten Schritte, um alles auf deinem System fürs Gaming einzurichten.

*Zuallererst denk dran, eine zweistellige Verbesserung der FPS ist nicht immer drin oder überhaupt möglich. Manchmal führen Optimierungen nur zu kleinen Verbesserungen oder sogar gar keinen, je nach Spiel und Hardware-Konfiguration.*

*Du kannst nicht erwarten, dass Software-Optimierungen wie ein kostenloses Hardware-Upgrade wirken.*

<ImageComponent imgsrc={import('~/assets/images/gaming-meme.jpeg')} />

## Voraussetzungen

:::caution
Bevor du weitermachst, stell sicher, dass deine Grafikkartentreiber korrekt installiert sind und funktionieren, sonst könntest du beim Spielen auf Probleme stoßen.
:::

### Wichtige Pakete

Um dir die Einrichtung von CachyOS fürs Gaming zu erleichtern, sind alle nötigen Gaming-Pakete in einem Meta-Paket zusammengefasst. Dieses enthält alle notwendigen Abhängigkeiten und Bibliotheken für das Gamen unter Linux. Zusätzlich gibt es ein separates Meta-Paket für Tools und Stores/Launcher.

*Falls du merkst, dass irgendwelche Pakete fehlen, sag dem CachyOS-Team ruhig Bescheid.*

Folge den unteren Schritten, um mit dem Gaming-Setup zu starten.
<Tabs>
  <TabItem label='CachyOS Hello'>
    - Öffne CachyOS Hello. Gehe zu **Apps/Optimierungen** und klicke auf `Gaming-Pakete installieren`.
    <ImageComponent imgsrc={import('~/assets/images/cachyos_hello-gaming.png')} />
  </TabItem>
  <TabItem label='Meta Package'>
    Das `cachyos-gaming-meta` Meta-Paket beinhaltet eine Menge an für das Gaming benötigten Bibliotheken.
    ```sh
    sudo pacman -S cachyos-gaming-meta
    ```
  </TabItem>
  <TabItem label='Tools & Stores'>
    Das `cachyos-gaming-applications` Meta-Paket beinhaltet das folgende:
    - Tools
      - Gamescope, GOverlay, MangoHud
    - Launchers
      - Steam, Heroic Games Launcher, Lutris, Faugus Launcher
    ```sh
    sudo pacman -S cachyos-gaming-applications
    ```
  </TabItem>
</Tabs>

## Proton-CachyOS

Proton-CachyOS basiert auf dem `bleeding-edge`-Branch von Proton und bringt eine Reihe von Modifikationen mit sich.
- **Wine-staging Patches**
- **Wine Fullscreen FSR**
- **Enthält Video- und Audio-Codecs für Videosequenzen in Spielen**
- **Unterstützung für umu-launcher inklusive UMU-Protonfixes**
- **Fügt frühe Hotfixes/Workarounds für Spiele hinzu**

:::note[NTSync ist standardmäßig aktiviert]
Man kann NTSync deaktivieren, indem die Umgebungsvariable `PROTON_NO_NTSYNC=1` gesetzt wird
:::

### Wie man mehrere Startoptionen richtig einstellt

Die Startoptionen in Steam sind nach folgendem Muster aufgebaut.

```bash
[env-Variablen] [Wrapper] %command% [Anwendungsargumente]
```

- **`[env-Variablen]`**: Das sind Optionen in der Form `VARIABLE=Wert`
  ```bash title="Beispiele"
  PROTON_DXVK_D3D8=1
  # Oder
  DXVK_HUD="fps,memory,version,api"
  ```

- **`[Wrapper]`**: Das sind Anwendungen und Skripte, die verändern, wie die eigentliche Anwendung ausgeführt wird. Argumente für den Wrapper kommen normalerweise nach der ausführbaren Datei des Wrappers.
  ```bash title="Beispiele"
  mangohud --dlsym
  # Oder
  gamescope -W 1680 -H 1050 -w 1280 -h 720 -S fit -F fsr --mangoapp --
  ```

- **`%command%`**: Das ist die eigentliche Anwendung. Dies sollte genau so angegeben werden, und Steam ersetzt es dann beim Start der Anwendung durch den richtigen Befehl.

- **`[Anwendungsargumente]`**: Das sind verschiedene Argumente für die eigentliche Anwendung, die vom jeweiligen Programm abhängen.
  ```bash title="Beispiel"
  %command% -dx11
  ```

**Beispiel für eine komplette Startoption, die alle Elemente kombiniert:**

```bash
__GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1 prime-run game-performance %command% -dx11
```

:::caution
Füge nicht mehrere `%command%` hinzu, indem du sie als Trennzeichen für mehrere Startoptionen verwendest.

Beispiel: `__GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1 %command% game-performance %command% prime-run %command%`

In diesem Fall wird alles nach dem ersten `%command%` ignoriert, weil es als Spielargument behandelt wird. Daher wird nur `__GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1` als Startoption erkannt.
:::

#### Umgebungsvariablen

:::note
Custom Proton-Versionen enthalten per Definition instabile Konfigurationsoptionen. Aktuelle Informationen zu den jeweiligen Konfigurationsoptionen findest du in der entsprechenden Dokumentation.

Links zur Dokumentation von Proton-CachyOS:

<LinkButton icon="external" href="https://github.com/CachyOS/proton-cachyos/blob/cachyos_main/README.md#proton-cachyos-config-options">Readme</LinkButton>
<LinkButton icon="external" href="https://github.com/CachyOS/proton-cachyos/blob/cachyos_main/CHANGELOG.md">Changelog</LinkButton>

Links zur Dokumentation von Proton-EM:

<LinkButton icon="external" href="https://github.com/Etaash-mathamsetty/Proton/blob/em-11-hdr/README.md">Readme</LinkButton>
<LinkButton icon="external" href="https://github.com/Etaash-mathamsetty/Proton/blob/em-10-hdrtest/docs/EM-ADDITIONS.md">EM-ADDITIONS</LinkButton>
<LinkButton icon="external" href="https://github.com/Etaash-mathamsetty/Proton/blob/em-10-hdrtest/docs/FSR4.md">FSR4</LinkButton>
<LinkButton icon="external" href="https://github.com/Etaash-mathamsetty/Proton/blob/em-10-hdrtest/docs/CHANGES.md">Winewayland</LinkButton>

:::

### Proton-CachyOS mit Lutris und Heroic einrichten

Stell sicher, dass du umu-launcher von CachyOS auf deinem System installiert hast. Installiere es mit dem folgenden Befehl.
```sh
sudo pacman -S cachyos/umu-launcher
```

<Tabs>
  <TabItem label='Lutris Global'>
    <Steps>
      1. Klicke im Hauptfenster von Lutris auf das Zahnrad-Symbol neben Wine.
      2. Geh zum Tab **Runner Options** und überprüfe, ob deine Einstellungen mit den folgenden übereinstimmen:
          - **Wine version** = `proton-cachyos-slr` oder `proton-cachyos-native`
          - **Use System winetricks** = *Deaktiviert*
          - **Graphics**
          - **Enable DXVK** = `Aktiviert`
            - Hinweis: Benutzerdefinierte Versionen von **DXVK**, **VKD3D** und **DXVK-NVAPI** werden nicht angewendet, wenn du `umu-launcher` verwendest.
      3. Wechsle zum Tab **System Options**.
          - **Lutris**
          - **Disable Lutris Runtime** = `Aktiviert`
          - **Prefer system libraries** = `Aktiviert`
      4. Scrolle weiter nach unten zum Abschnitt **Game execution** und suche die Tabelle **Environment variables**.
      5. Füge die folgenden Umgebungsvariablen hinzu:
          - **Key**: `PROTON_VERB` *optional*
          - **Value**: `waitforexitandrun`
            - *Dies ermöglicht, dass protonfixes mit einer entsprechenden GAMEID funktionieren.*
      6. Klicke auf **Save**, um die Änderungen zu übernehmen.
    </Steps>
  </TabItem>
  <TabItem label='Lutris Pro Spiel'>
    <Steps>
      1. Klicke mit der rechten Maustaste auf das Spiel, das du konfigurieren möchtest, und klicke dann auf **Configure**.
      2. Geh zum Tab **Runner Options** und überprüfe, ob deine Einstellungen mit den folgenden übereinstimmen:
          - **Wine version** = `proton-cachyos-slr` oder `proton-cachyos-native`
          - **Use System winetricks** = *Deaktiviert*
          - **Graphics**
          - **Enable DXVK** = `Aktiviert`
            - Hinweis: Benutzerdefinierte Versionen von **DXVK**, **VKD3D** und **DXVK-NVAPI** werden nicht angewendet, wenn du `umu-launcher` verwendest.
      3. Wechsle zum Tab **System Options**.
          - **Lutris**
          - **Disable Lutris Runtime** = `Aktiviert`
          - **Prefer system libraries** = `Aktiviert`
      4. Scrolle weiter nach unten zum Abschnitt **Game execution** und suche die Tabelle **Environment variables**.
      5. Füge die folgenden Umgebungsvariablen hinzu:
          - **Key**: `PROTON_VERB` *optional*
          - **Value**: `waitforexitandrun`
            - *Dies ermöglicht, dass protonfixes mit einer entsprechenden GAMEID funktionieren.*
      6. Klicke auf **Save**, um die Änderungen zu übernehmen.
    </Steps>
  </TabItem>
  <TabItem label='Heroic Games Launcher'>
    <Steps>
      1. Klicke auf den `Configure`-Button neben dem `Play Now`-Button des Spiels, das du starten möchtest.
      2. Setze im `WINE`-Tab die Wine-Version auf `Proton - proton-cachyos-slr`.
    </Steps>
  </TabItem>
</Tabs>

### Anti-Cheat-Unterstützung

:::caution[Wichtig]
Wenn du Probleme mit Spielen hast, die **Easy Anti-Cheat** (EAC) oder **BattlEye** (BE) verwenden, z.B. wenn sie sich weigern, sich auf den Spielservern anzumelden, kannst du die Version von [Proton-CachyOS verwenden, die mit der Steam Linux Runtime gebaut wurde](https://github.com/CachyOS/proton-cachyos/releases), auch bekannt als **proton-cachyos-slr**.
:::

### Wie man proton-cachyos-slr installiert

:::note[Dieser Schritt ist nur erforderlich, wenn das Paket cachyos-gaming-meta nicht installiert wurde. Falls es installiert ist, überspringe diesen Abschnitt.]
:::

<Tabs>

  <TabItem label='pacman'>
    ```sh title='Führe den folgenden Befehl aus'
    sudo pacman -S proton-cachyos-slr
    ```
  </TabItem>

  <TabItem label='protonup'>

    <Steps>
      1. Öffne ein Terminal und installiere `protonup`.
          ```sh
          sudo pacman -S protonup-qt
          ```
      2. Öffne **protonup-qt** und folge dem Screenshot:
          <ImageComponent imgsrc={import('~/assets/images/steam-protonup.png')} />
          :::note
          Wähle den Download, der auf `x86-64` endet. Dies ist die Version, die die meisten Nutzer bevorzugen sollten. 
          Wähle die Variante mit der Endung `x86-64_v3` nur dann, wenn deine CPU **[AVX2](/installation/installation_prepare#x86_64-microarchitecture-level-support)** unterstützt und du experimentieren möchtest.
          :::
      3. Starte Steam neu, falls du es offen hattest.
    </Steps>
  </TabItem>

</Tabs>

<details>
  <summary>Manuelle Installation (Fortgeschritten)</summary>

  <Steps>
    1. Lade die neueste Version [hier](https://github.com/CachyOS/proton-cachyos/releases) herunter (scrolle runter zu **Assets**).
        :::note
        Wähle die Version, die mit `x86-64_v3` endet, wenn deine CPU **[AVX2](/installation/installation_prepare#x86_64-microarchitecture-level-support)** unterstützt.
        Andernfalls lade die Version herunter, die mit `x86-64` endet.
        :::
    2. Entpacke die Datei und verschiebe den Ordner nach `~/.steam/steam/compatibilitytools.d/`
    3. Starte Steam neu, falls du es offen hattest.
  </Steps>

</details>

## Wine-CachyOS

Das ist dasselbe `Wine`, das auch der Kern von `Proton-CachyOS` ist, aber als eigenständiges Paket. Du kannst es in Lutris, Heroic, Bottles und anderen Programmen benutzen. **Denk daran, dass es nicht dafür gedacht ist, für Steam verwendet zu werden.**

- **Alle Wine-Modifikationen, die in Proton-CachyOS enthalten sind**
- **Fügt frühe Hotfixes/Workarounds für Spiele hinzu**

:::note
In den CachyOS-Repositories wird **Wine-CachyOS** von zwei verschiedenen Paketen angeboten. `wine-cachyos` installiert es als das Standard-System-Wine und ersetzt `wine` oder `wine-staging`. `wine-cachyos-opt` installiert es an einem anderen Ort, was es ermöglicht, dass mehrere Wine-Versionen auf dem System nebeneinander existieren.
:::

:::caution
**Wine-CachyOS** ist hauptsächlich für **Gaming** gedacht. Obwohl du es als System-Wine mit Desktop-Anwendungen verwenden kannst, sei dir bewusst, dass es aufgrund der auf Gaming ausgerichteten Modifikationen zu unerwartetem Verhalten und Problemen führen kann.

Wenn du Desktop-Anwendungen nutzen möchtest, empfehlen wir dir, `wine` oder `wine-staging` als dein System-Wine zu verwenden und `wine-cachyos-opt` fürs Zocken zu installieren.
:::

**Zusätzliche Konfigurationsoptionen**

- `WINE_WMCLASS="[name]"`: Setzt die `WM_CLASS` aller Wine-Fenster, sodass der Fenstermanager die Wine-Fenster durch Regeln steuern kann.
- `WINEUSERSANDBOX=1`: Deaktiviert die Erstellung von Symlinks von Wine-Benutzerordnern (wie Dokumente und Bilder) zu den entsprechenden Ordnern in deinem `HOME`-Verzeichnis.
- `WINE_NO_WM_DECORATION=1`: Deaktiviert Fensterdekorationen. Das kann Probleme mit **randlosem Vollbild** und dem Durchklicken der Maus durch das Fenster beheben.
- `WINE_PREFER_SDL_INPUT=1`: Workaround für Probleme bei der Controller-Erkennung.

### Wie du wine-cachyos-opt benutzt

<Tabs>
  <TabItem label='Standalone'>
    Normalerweise sollte es ausreichen, `/opt/wine-cachyos/bin/wine` anstelle von nur `wine` auszuführen, damit eine Anwendung `wine-cachyos-opt` verwendet.

    Wenn eine strengere Konfiguration erforderlich ist, könnte sie so aussehen:
    ```sh
    export PATH="/opt/wine-cachyos/bin/:$PATH"
    export WINEDLLPATH="/opt/wine-cachyos/lib/wine:/opt/wine-cachyos/lib32/wine:$WINEDLLPATH"
    export LD_LIBRARY_PATH="/opt/wine-cachyos/lib/:/opt/wine-cachyos/lib32/:$LD_LIBRARY_PATH"
    ```

    Wenn du `winetricks` mit `wine-cachyos-opt` verwenden möchtest, kannst du es so aufrufen:
    ```sh
    WINE=/opt/wine-cachyos/bin/wine WINEPREFIX=[your prefix] winetricks [verb]
    ```
  </TabItem>
  <TabItem label='Lutris'>
    :::note
    Das zweite Bild gilt auch für die Einrichtung pro Spiel.
    :::
    <MultipleImageComponent
      images={[import('~/assets/images/lutris-guide-1.png'), import('~/assets/images/lutris-guide-2.png')]}
    />
  </TabItem>
  <TabItem label='Heroic Games Launcher'>
    <MultipleImageComponent
      images={[import('~/assets/images/heroic-wine.png'), import('~/assets/images/heroic-wine-2.png'), import('~/assets/images/heroic-wine-3.png')]}
    />
  </TabItem>
</Tabs>

## Steam FAQ & Tipps

:::note
Laptop-Benutzer mit dedizierten Nvidia-GPUs sollten sich die [Anleitung für Laptops mit zwei GPUs](/de/configuration/dual_gpu/) ansehen.
:::

:::tip
CachyOS bietet verschiedene Proton-Versionen an, die für weitere Leistungsverbesserungen gebaut und gepflegt werden:
- `proton-cachyos` (im Paket `cachyos-gaming-meta` enthalten) wird mit zusätzlichen Quality-of-Life-Änderungen, ausgewählten Patches, etc.
:::

:::tip
Um zu prüfen, ob ein Spiel mit Linux kompatibel ist oder wie es unter Linux läuft, besuche
**[ProtonDB](https://www.protondb.com/)** ,
**[Are We Anti-Cheat Yet?](https://areweanticheatyet.com/)**
oder **[Gaming On Linux Anti Cheat Section](https://www.gamingonlinux.com/anticheat/)**
:::

### Custom Proton-Versionen in Steam benutzen
:::caution[Es wird DRINGEND EMPFOHLEN, Valves Proton als globalen Standard beizubehalten.]
:::

- Um eine custom Proton-Version für ein bestimmtes Spiel festzulegen, gehe zur Bibliothek, klicke mit der rechten Maustaste auf das Spiel,
rufe **Eigenschaften** > **Kompatibilität** auf,
aktiviere das Kontrollkästchen „Die Verwendung eines bestimmten Steam Play-Kompatibilitätswerkzeugs erzwingen“
und wähle die gewünschte Proton-Version aus.

- Um Valves Proton als globalen Standard festzulegen, gehe zu **Einstellungen** > **Kompatibilität** > **Standard-Kompatibilitätswerkzeug**
und wähle die neueste stabile Version von Valves Proton oder Proton Experimental aus.

### Welche Proton-Version sollte ich in Steam verwenden?

:::tip
Für neue Nutzer empfehlen wir Valves Proton oder Proton Experimental.
:::

- `Proton 11.0` ist die stabile Version von `Valve`. Benutze diese, wenn bekannt ist, dass das Spiel, das du spielen möchtest, gut damit läuft.

**Proton 9.0.4 oder älter:** Dies sind die stabilen Versionen von **Valve**. *Verwende diese, wenn das gewünschte Spiel nur mit einer älteren Proton-Version funktioniert.*

**Proton Experimental:** Dies ist die Vorabversion (Bleeding-Edge) von **Valve**. Verwende diese, wenn das gewünschte Spiel relativ neu ist, mit der aktuellen stabilen Proton-Version nicht gut läuft oder wenn sie auf **[ProtonDB](https://www.protondb.com/)** empfohlen werden.

Für erfahrenere Nutzer kommen auch die folgenden benutzerdefinierten Proton-Builds infrage. Beachte, dass diese nicht offiziell von Valve unterstützt werden und bei bestimmten Spielen Probleme verursachen können.

Proton-Forks von Drittanbietern (Fortgeschrittene):

**Proton-CachyOS:**
Erstellt und gepflegt von [CachyOS](https://github.com/CachyOS/proton-cachyos). Die Verwendung anstelle von Proton Experimental wird **nur** empfohlen, wenn du die zusätzlichen Komfortfunktionen und Fehlerbehebungen nutzen möchtest.

In den CachyOS-Repositories findest du zwei Varianten: [proton-cachyos-native](https://packages.cachyos.org/package/cachyos/x86_64/proton-cachyos-native) und [proton-cachyos-slr](https://packages.cachyos.org/package/cachyos/x86_64/proton-cachyos-slr).

Wir empfehlen, das Paket `proton-cachyos-slr` anstelle von `proton-cachyos-native` zu ​​verwenden.

**Proton-EM:**
Ein auf Entwicklung ausgerichteter, benutzerdefinierter Build von [Etaash-mathamsetty](https://github.com/Etaash-mathamsetty/Proton). Dies ist eine sehr gute Option, wenn du **winewayland** und **FSR4** nutzen möchtest, ohne die zusätzlichen Funktionen von **Proton-CachyOS** in Anspruch zu nehmen. Zudem ist dieser Build die Quelle verschiedener Verbesserungen, die auch in Proton-CachyOS enthalten sind. *Wenn du dich für die neuesten und besten Entwicklungen im Bereich **winewayland** interessierst, ist das genau das Richtige für dich.*

**dwproton:**
Ein von [Dawn Winery](https://dawn.wine/dawn-winery/dwproton) erstellter Build; es handelt sich um einen Fork von Proton-CachyOS mit **zusätzlichen Fehlerbehebungen und Patches für bestimmte Anime-Spiele**.

Falls du bei solchen Spielen mit anderen Proton-Varianten auf Probleme stößt, ist **dwproton** die beste Wahl für dich.

**Proton-GE**:
Eine von [GloriousEggroll](https://github.com/GloriousEggroll/proton-ge-custom) erstellte, angepasste Version. Sie enthält diverse Fehlerbehebungen und kann sich in bestimmten Situationen als nützlich erweisen.

### Problem beheben, dass H264-Videos in Spielen mit Valves Proton nicht abgespielt werden oder Farbbalken anzeigen
:::caution
Dieser Schritt ist optional. Führe ihn nur aus, wenn dieses spezifische Problem bei dir auftritt.
:::
Starte Steam mit dem folgenden Kommando. Warte, bis es läd, dann schließe Steam und starte es wieder normal.

```sh
 steam steam://unlockh264/
```

### Ruckler beheben, die durch die Steam Game Recorder-Funktion verursacht werden

:::caution
Das Hinzufügen dieser Umgebungsvariable führt dazu, dass das **Steam Overlay** nicht mehr funktioniert.
:::

Füge die folgende Startoption zu deinem Spiel hinzu.

```sh
LD_PRELOAD="" %command%
```

### Proton-Logs erfassen und teilen

:::note
Wenn du Logs mit CachyOS teilst, lade sie bitte auf **[paste-cachyos](https://paste.cachyos.org/)** hoch, anstatt sie direkt zu posten.

Du kannst die Log-Datei einfach per Drag & Drop auf die Website ziehen und dann den generierten Link teilen.
:::

So aktivierst du das Proton-Logging für ein Spiel:

<Steps>
  1. Rechtsklicke auf dein Spiel in Steam und wähle **Eigenschaften**.
  2. Setze unter **Startoptionen** die Umgebungsvariable `PROTON_LOG`:
      ```sh
      PROTON_LOG=1 %command%
      ```
      Dadurch wird eine Log-Datei in deinem Home-Verzeichnis mit dem Namen `steam-{"<"}AppID{">"}.log` erstellt (zum Beispiel verwendet Counter Strike 2 die AppID **730**, also wäre die Datei `steam-730.log`).
</Steps>

<details>
  <summary>Benutzerdefiniertes Log-Verzeichnis</summary>

  Um ein benutzerdefiniertes Log-Verzeichnis festzulegen, verwende `PROTON_LOG_DIR`:

  ```sh title='Beispiel'
  PROTON_LOG=1 PROTON_LOG_DIR=/home/cachyos/steam-logs %command%
  ```
</details>

### Shader mit Proton-CachyOS, -GE und -EM vorab cachen

:::note
Es wird empfohlen, die Shader-Pre-Caching-Funktion von Steam zu deaktivieren, wenn du Proton-CachyOS, Proton-GE oder Proton-EM verwendest. Sie enthalten bereits alle notwendigen Codecs, um Videos in Spielen abzuspielen, und heutzutage sollte eine relativ moderne GPU-CPU-Kombination mehr als fähig sein, das Kompilieren von Shadern im Spiel zu bewältigen.

Wenn du Zeit übrig hast, kannst du diesen Tipp ignorieren und Steam einige Shader für dein Spiel vorkompilieren lassen.

**Bedenke, dass bei diesem Prozess nicht alles zwischengespeichert wird und Updates der Proton-Version, die zum Kompilieren der Shader verwendet wurde, eine vollständige Neukompilierung der Shader erfordern können.**
:::

#### So deaktivierst du diese Funktion in Steam

Klicke in Steam auf `Steam`->`Einstellungen`, gehe zu `Downloads` und deaktiviere diese Einstellungen:
- **Hintergrundverarbeitung von Vulkan-Shadern erlauben**
- **Shader-Pre-Caching aktivieren**

:::note
Es wird dringend empfohlen, [deine maximale Shader-Cache-Größe zu erhöhen](#maximale-shader-cache-größe-erhöhen), nachdem du das Shader-Pre-Caching in Steam deaktiviert hast.
:::

### Eine Windows-NTFS-Spielepartition wiederverwenden

:::caution
Vermeide die Verwendung von Proton auf NTFS-Laufwerken. Valve unterstützt diese Konfiguration nicht, und sie kann dazu führen, dass sich Spiele unvorhersehbar verhalten.

Wenn du trotzdem fortfahren möchtest, folge ihrer **[inoffiziellen Anleitung](https://github.com/ValveSoftware/Proton/wiki/Using-a-NTFS-disk-with-Linux-and-Windows)**.
:::

### In eine Gamescope Session booten

Gamescope Session startet deinen Desktop innerhalb von Gamescope und bietet so eine dedizierte Vollbild-Spielumgebung mit verbesserter Anzeige, Eingabeverwaltung und Leistungsoptimierung.

Sie eignet sich ideal für Gaming-Systeme oder mobile Geräte und bietet ein konsolenähnliches Erlebnis, während du bei Bedarf weiterhin auf deine Desktop-Sitzung zugreifen kannst.

Um sie zu verwenden, installiere das Paket `gamescope-session-cachyos` (`pacman -S gamescope-session-cachyos`) und lege Gamescope als Standardsitzung fest.

## [Lutris](https://lutris.net/)

Lutris ist ein Game-Launcher auf CachyOS. Mit Lutris kannst du deine Game-Runner, einschließlich Wine, Proton und Emulatoren, einfach verwalten.

- Starte Spiele über Lutris einfach durch Klicken auf den **Play**-Button.
- Füge jedes gewünschte Spiel hinzu, indem du auf das **+** oben links klickst.
- Richte einen Store in den Quellen im linken Panel ein und verbinde dein Konto. Es wird dann den entsprechenden Store installieren, und du kannst dann Spiele aus dem Store heraus starten, genau wie unter Windows.
- Und mehr!

*In Lutris unterstützte Game-Stores:*

- [EA App](https://lutris.net/games/ea-app/)
- [Epic Games Store](https://lutris.net/games/epic-games-store/)
- [GOG Galaxy](https://lutris.net/games/gog-galaxy/)
- [Steam](https://lutris.net/games/steam/)
- [Ubisoft Connect](https://lutris.net/games/ubisoft-connect/)

### Wie man mehrere Startoptionen und Umgebungsvariablen in Lutris richtig einstellt

- Startoptionen wie `-dx11` oder `-fullscreen` sollten im Feld **Arguments** unter dem Reiter **Game options** mit einem Leerzeichen als Trennzeichen hinzugefügt werden.
- Befehls-Wrapper, zum Beispiel `mangohud --dlsym` oder `game-performance`, sollten im Feld **Command prefix** unter dem Reiter **System options** mit einem Leerzeichen als Trennzeichen hinzugefügt werden.
- Umgebungsvariablen wie `DXVK_HDR=1` sollten in der Tabelle **Environment variables** unter dem Reiter **System options** mit dem `+`-Button hinzugefügt werden, um einen neuen Eintrag zu erstellen.
:::note
Füge kein `=` in das Key-Feld ein. Es sollte nur den Variablennamen enthalten.
:::

### So erstellst du korrekt  Protokolle in Lutris
- Setze die Einstellung für die Debugging-Ausgabe auf `Inherit from environment`. 
- Füge unter „Environment variables“ (Umgebungsvariablen) `PROTON_LOG` mit dem Wert `1` hinzu.


## Leistungs- & Sonstige Tipps

### Kombiniere nicht gamemode und ananicy-cpp

Da `gamemode` und `ananicy-cpp` beide gleichzeitig versuchen, die Prozess-Niceness zu ändern, kann es zu Konflikten und unerwartetem Verhalten kommen. Wenn du gamemode verwenden möchtest, wird empfohlen, erst ananicy-cpp zu deaktivieren oder zu stoppen.

Um ananicy-cpp zu stoppen, führe den folgenden Befehl aus:

```sh
systemctl stop ananicy-cpp
```

### Wechsel des Leistungsprofils bei Bedarf

:::note
Dieses Verhalten unterscheidet sich leicht bei `intel_pstate`. Bei Intel bleibt der Governor auf powersave, aber die EPP/EPB-Werte werden für Leistung angepasst.
:::

:::caution[game-performance bringt bei alten CPUs möglicherweise keinen Vorteil.]
:::

CachyOS enthält ein Wrapper-Skript [game-performance](https://github.com/CachyOS/CachyOS-Settings/blob/master/usr/bin/game-performance),
das `power-profiles-daemon` verwendet, um das Leistungsprofil vorübergehend auf `performance` umzuschalten.
Das Profil erhöht die Systemleistungsstufen, setzt den CPU-Governor auf `performance` und schaltet auch jeden aktiven scx-Scheduler auf sein Gaming-Profil um (falls verfügbar).

Wenn es zum Starten eines Spiels verwendet wird, bleibt das System im **Leistungsmodus**, bis das Spiel beendet wird. Danach wird das vorherige Profil wiederhergestellt.

[Feral's GameMode](https://github.com/FeralInteractive/gamemode)
bietet eine ähnliche Funktionalität.

### Wie man game-performance zu Steam, Lutris und Heroic Games Launcher hinzufügt

<Tabs>

  <TabItem label='Steam'>

    <Steps>
      1. Öffne deine `Steam-Bibliothek`.
      2. Rechtsklicke auf den Titel des Spiels und wähle `Eigenschaften`.
      3. Im `Allgemein`-Tab findest du den Abschnitt `Startoptionen`.
      4. Füge die folgende Startoption hinzu:
            ```sh
            game-performance %command%
            ```
    </Steps>

  </TabItem>

  <TabItem label='Heroic Games Launcher'>

    <Steps>
        1. Öffne im linken Panel die `Einstellungen`.
        2. Gehe zu `Game defaults` und klicke dann auf `Advanced`.
        3. Füge im Abschnitt `wrapper` command die folgende Zeile ohne Argumente hinzu:
            ```sh
            game-performance
            ```
        4. Klicke auf das `+`-Zeichen, um die Änderungen zu speichern.
    </Steps>

  </TabItem>

  <TabItem label='Lutris'>

    <Steps>
      1. Öffne oben rechts das `Hamburger-Menü`.
      2. Gehe zu `Preferences/Global options`.
      3. Aktiviere oben rechts den `Advanced Mode`.
      4. Scrolle nach unten zu `Command prefix` und füge die folgende Zeile hinzu:
          ```sh
          game-performance
          ```
      5. Speichere die Änderungen.
    </Steps>

  </TabItem>

</Tabs>

### Maximale Shader-Cache-Größe erhöhen

Spiel-Shader werden während des Spielens automatisch kompiliert, was zu langen Ladezeiten und Rucklern führen kann, wenn du ihnen zum ersten Mal begegnest. Diese Shader werden auf deinem System gespeichert, um bei Bedarf wiederverwendet zu werden.

Es gibt jedoch eine maximale Grenze für die Dateigröße des Shader-Caches, was dazu führt, dass alte Shader vergessen werden, wenn die Standardgröße überschritten wird. Dies kann ein Problem sein, da große Spiele Shader von über 1 GB Größe haben können, was dazu führt, dass sie bei jedem Start neu kompiliert werden.

Um lange Ladezeiten und Ruckler zu vermeiden, können wir die globale Shader-Cache-Größe erhöhen:

<Steps>

  1. Öffne ein Terminal.
  2. Erstelle ein `environment.d`-Verzeichnis in deinem Konfigurationsordner, falls es noch nicht existiert:
      ```sh
      mkdir -p ~/.config/environment.d
      ```
  3. Erstelle eine neue Konfigurationsdatei:
      ```sh
      touch ~/.config/environment.d/gaming.conf
      ```
  4. Öffne die Datei mit **Micro** (einem Texteditor).
      ```sh
      micro ~/.config/environment.d/gaming.conf
      ```
      Und füge, je nach deinem Grafikkartenhersteller, Folgendes ein:
      <details>
       <summary>AMD</summary>
        ```sh
        # Erhöht die Größe des Shader-Caches von AMD auf 12 GB
        MESA_SHADER_CACHE_MAX_SIZE=12G
        ```
      </details>
      <details>
        <summary>NVIDIA</summary>
        ```sh
        # Erhöht die Größe des Shader-Caches von Nvidia auf 12 GB
        __GL_SHADER_DISK_CACHE_SIZE=12000000000
        ```
      </details>
  5. Speicher die Datei, indem du `Strg+S` drückst, und beende Micro mit `Strg+Q`. Starte dein System neu.

</Steps>

Nach dem Neustart sollte die maximale Shader-Cache-Größe dauerhaft erhöht sein. Danke an [psygregs Shader-Booster](https://github.com/psygreg/shader-booster/) für die Hilfe bei dieser Anleitung.

### Das neueste DLSS-Preset erzwingen

#### Wie man dlss-swapper zu Steam, Lutris und Heroic Games Launcher hinzufügt

<Tabs>

  <TabItem label='Steam'>

    <Steps>
      1. Öffne deine `Steam-Bibliothek`.
      2. Rechtsklicke auf den Titel des Spiels und wähle `Eigenschaften`.
      3. Im `Allgemein`-Tab findest du den Abschnitt `Startoptionen`.
      4. Füge die folgende Startoption hinzu:
          ```sh
          dlss-swapper %command%
          ```
    </Steps>

  </TabItem>

  <TabItem label='Heroic Games Launcher'>

    <Steps>
      1. Öffne im linken Panel die `Einstellungen`.
      2. Gehe zu `Game defaults` und klicke dann auf `Advanced`.
      3. Füge im Abschnitt `wrapper` command die folgende Zeile ohne Argumente hinzu:
          ```sh
          dlss-swapper
          ```
      4. Klicke auf das `+`-Zeichen, um die Änderungen zu speichern.
    </Steps>

  </TabItem>

  <TabItem label='Lutris'>

    <Steps>
      1. Öffne oben rechts das `Hamburger-Menü`.
      2. Gehe zu `Preferences/Global options`.
      3. Aktiviere oben rechts den `Advanced Mode`.
      4. Scrolle nach unten zu `Command prefix` und füge die folgende Zeile hinzu:
          ```sh
          dlss-swapper
          ```
      5. Speichere die Änderungen.
    </Steps>

  </TabItem>

</Tabs>

<details>
  <summary>Manuelle DLL-Austauschmethode</summary>

  Wenn `dlss-swapper` nicht funktioniert oder Probleme verursacht, versuche, die DLSS-Implementierung des Spiels manuell zu aktualisieren, indem du `nvngx_dlss.dll` durch eine aktuelle Version ersetzt und stattdessen das Wrapper-Skript `dlss-swapper-dll` verwendest.
</details>

### Ray-Tracing-Unterstützung
Das Arch Wiki bietet bereits umfassende Anleitungen zur Aktivierung von [Ray Tracing](https://wiki.archlinux.org/title/Hardware_raytracing) für verschiedene Hardware-Plattformen.
- [Ray Tracing auf Nvidia](https://wiki.archlinux.org/title/Hardware_raytracing#NVIDIA)
- [Ray Tracing auf AMD](https://wiki.archlinux.org/title/Hardware_raytracing#AMD)
- [Ray Tracing auf Intel](https://wiki.archlinux.org/title/Hardware_raytracing#Intel)

### Leistungseinbruch bei Nvidia in DirectX12-Spielen

Einige Benutzer berichten, dass das Problem damit zusammenhängt, wie Nvidias Linux-Treiber das GPU-Scheduling handhaben – anders als unter Windows, wo ein korrektes Scheduling erzwungen wird. Es gibt bisher keine offizielle Stellungnahme von Nvidia zu diesem Thema. Es gibt derzeit keinen bekannten Workaround für dieses Problem. Nvidia arbeitet angeblich an einer Lösung, aber es ist nicht klar, wann sie veröffentlicht wird.

**Es hat nichts mit CachyOS zu tun.**

In einigen Titeln ist der Leistungsabfall weniger spürbar als in anderen. Schau dir dieses [Benchmark-Vergleichsvideo](https://www.youtube.com/watch?v=SU2mFqCOh5A) als Referenz an.

Folge dem [Nvidia-Thread](https://forums.developer.nvidia.com/t/directx12-performance-is-terrible-on-linux/303207/488), um mehr über dieses Problem zu erfahren.
