Files
nixos-vorlagen/docs/GAMING_CUSTOMIZATION_GUIDE.md
T
2026-06-16 20:55:00 +02:00

508 lines
9.1 KiB
Markdown

# Gaming & Customization Guide
Anleitung für Gaming-Setup und Customization mit diesem NixOS-Template.
---
## Gaming Setup
### Steam & Gaming aktiv machen
Dieses Template kommt mit Gaming-Support. Zum Aktivieren:
**1. Configuration anpassen:**
```nix
# In deiner configuration.nix sicherstellen, dass gaming.nix importiert ist:
imports = [
./modules/gaming.nix # ✅ sollte schon da sein
];
```
**2. Rebuild:**
```bash
sudo nixos-rebuild switch --flake .#template
```
### Proton & Steam
Steam ist automatisch installiert. Für beste Kompatibilität:
1. **Steam öffnen:**
```bash
steam
```
2. **Proton wählen (Built-in):**
- Settings → Compatibility
- "Use Steam Play for other titles" ✅
- Version: **Proton (Experimental)** (neueste & beste)
3. **Proton-GE installieren (Optional, aber empfohlen!):**
Proton-GE hat bessere Kompatibilität & Performance als Standard Proton.
**Schnelle Installation (Auto-Script):**
```bash
cd ~/nixos-config
chmod +x install-proton-ge.sh
./install-proton-ge.sh
# Steam neu starten
# Settings → Compatibility → "Proton-GE-X.X" wählen
```
**oder Manuell:**
```bash
# 1. Download Proton-GE
# https://github.com/GloriousEggroll/proton-ge-custom/releases
# 2. Lade die neuste Version herunter (z.B. Proton-GE-9.xx.tar.gz)
# 3. Extrahiere in Steam Compatibility Tools:
mkdir -p ~/.steam/root/compatibilitytools.d
cd ~/.steam/root/compatibilitytools.d
tar -xzf ~/Downloads/Proton-GE-9.xx.tar.gz
# 4. Steam neu starten
steam
# 5. In Steam: Settings → Compatibility → "Proton-GE-9.xx" wählen
```
4. **Proton-CachyOS (Alternative zu Proton-GE):**
**Auto-Installation:**
```bash
cd ~/nixos-config
chmod +x install-proton-cachyos.sh
./install-proton-cachyos.sh
```
**oder Manuell:** Selbe Schritte wie Proton-GE, aber von:
https://github.com/CachyOS/proton-cachyos/releases
5. **Performance-Tools:**
```bash
# MangoHUD (FPS-Counter) in Launch Options:
mangohud %command%
# GameMode (Auto-Optimierung):
gamemoderun %command%
# Beides zusammen:
gamemoderun mangohud %command%
```
6. **Welches Proton verwenden?**
| Proton | Kompatibilität | Performance | Empfehlung |
|--------|---|---|---|
| Standard | ✅ Gut | ✅ Gut | OK |
| **Proton-GE** | **✅✅ Sehr gut** | **✅✅ Sehr gut** | **🏆 Empfohlen** |
| Proton-CachyOS | ✅✅ Sehr gut | ✅✅ Sehr gut | 🏆 Alternative |
| Proton Experimental | ✅ Gut | ✅ Gut | Fallback |
**Hinweis:** Proton-GE & Proton-CachyOS sind Community-Builds, nicht in nixpkgs. Daher die Auto-Scripts!
### GPU-Auswahl
Das Template unterstützt mehrere Grafikkarten. Wähle eine:
**In `configuration.nix`:**
```nix
# AMD (Standard & empfohlen für Linux Gaming):
graphicsConfig = ./modules/graphics/mesa-amd.nix;
# AMD mit OpenCL:
graphicsConfig = ./modules/graphics/mesa-amd-opencl.nix;
# NVIDIA (Proprietäre Treiber):
graphicsConfig = ./modules/graphics/nvidia.nix;
# NVIDIA Open-Source:
graphicsConfig = ./modules/graphics/nvidia-open.nix;
```
**Danach Rebuild:**
```bash
sudo nixos-rebuild switch --flake .#template
```
### Gaming-Performance Check
```bash
# GameMode Status:
gamemode status
# GPU-Infos:
glxinfo | grep "OpenGL"
lspci | grep VGA
# Performance-Test:
glmark2
```
### Wine & Proton
Für non-Steam Spiele (GOG, itch.io):
**Installiert über `modules/gaming/wine-proton.nix`:**
```bash
# Wine eingebaut
protontricks
# Beispiel: DXVK-Game starten
wine game.exe
```
---
## Desktop Auswahl & Customization
### Desktop Environment wählen
Das Template kommt mit mehreren DEs. Wähle deine:
**In `configuration.nix`:**
```nix
# KDE Plasma (Empfohlen für Balance):
desktopConfig = ./modules/desktop/kde.nix;
# GNOME (Minimal, modern):
desktopConfig = ./modules/desktop/gnome.nix;
# Budgie (Zwischen KDE & GNOME):
desktopConfig = ./modules/desktop/budgie.nix;
# Hyprland (Tiling WM, Advanced):
desktopConfig = ./modules/desktop/hyprland.nix;
# COSMIC (Modern, Wayland-native):
desktopConfig = ./modules/desktop/cosmic-max.nix;
```
**Rebuild:**
```bash
sudo nixos-rebuild switch --flake .#template
```
### KDE Plasma Customization
**Themes & Appearance:**
1. System Settings → Appearance
2. Wähle: Global Theme, Color Scheme, Icons, Fonts
**Panel anpassen:**
- Rechtsklick auf Panel → Edit Panel
- Widgets hinzufügen/entfernen
- Position/Größe ändern
**Shortcuts:**
1. System Settings → Shortcuts & Gestures → Shortcuts
2. Neue Shortcuts hinzufügen
**Tipps:**
```bash
# KDE-Themes aus Online-Store:
# Settings → Appearance → Global Theme → "Get New Global Themes"
```
### Hyprland Customization
**Konfiguration Edit:**
```bash
nano ~/.config/hypr/hyprland.conf
```
**Basis-Setup:**
```conf
# Monitor
monitor = HDMI-1,1920x1080@60,0x0,1
# Keybinds
bind = $mainMod, Return, exec, kitty
bind = $mainMod, Q, killactive
# Windows
general {
gaps_in = 5
gaps_out = 10
}
```
**Nach Änderung:**
```bash
# Hyprland neustart (ohne Neuboot)
Ctrl+Alt+Q
```
### COSMIC Customization
**Desktop-Themes:**
1. Settings → Appearance
2. Theme/Color wählen
3. Accent Color anpassen
**Shortcuts (neue):**
1. Settings → Keyboard → Shortcuts
2. "+" klicken
3. Command & Hotkey definieren
---
## Allgemeine Customization
### Packages hinzufügen
Benutzerdefinierte Pakete in `modules/packages.nix`:
```nix
environment.systemPackages = with pkgs; [
firefox # Browser
neofetch # System Info
htop # Task Manager
ripgrep # Fast Search
bat # Better cat
];
```
**Rebuild:**
```bash
sudo nixos-rebuild switch --flake .#template
```
### Audio anpassen
**PipeWire (Standard):**
```bash
# Audio-Ausgabe wechseln:
pavucontrol
# Oder Kommandozeile:
pactl list short sinks
pactl set-default-sink [SINK]
```
### Shell anpassen
**Fish Shell aktivieren:**
```nix
# In configuration.nix:
users.users.${userName}.shell = pkgs.fish;
```
**Fish Config** (`~/.config/fish/config.fish`):
```fish
# Aliases
alias ls="exa --icons"
alias cat="bat"
alias grep="ripgrep"
# Prompt anpassen
function fish_prompt
echo (pwd) "> "
end
```
### Terminal-Customization
**Hyprland Terminal (Kitty):**
```bash
nano ~/.config/kitty/kitty.conf
```
```ini
font_family Monospace
font_size 12
background #1e1e1e
foreground #e0e0e0
```
**KDE Terminal (Konsole):**
- Rechtsklick → Settings → Appearance
- Theme, Font, Color-Scheme wählen
---
## Gaming-Tipps
### FPS & Performance
**In-Game FPS anzeigen:**
```bash
# MangoHUD (alle Spiele):
mangohud %command%
# Steam Launch Options:
MANGOHUD=1 %command%
```
**CPU/GPU Monitoring:**
```bash
# Live Monitoring:
watch -n1 "nvidia-smi" # NVIDIA
watch -n1 "rocm-smi" # AMD
```
### Shader Cache
```bash
# Cache Location:
~/.cache/nvidia-smi # NVIDIA
/tmp/mesa_shader_cache # Mesa/AMD
# Cache Clear (bei Performance-Problemen):
rm -rf ~/.cache/nvidia-smi
```
### Proton Experimental
Beste Kompatibilität, aber weniger stabil:
1. Steam → Settings → Compatibility
2. "Use Steam Play for other titles" ✅
3. Wähle: "Proton (Experimental)" oder "Proton-GE-Latest"
### Spiele-Verzeichnis (Optional)
Separate HDD/SSD für Spiele:
```nix
# In configuration.nix:
environment.variables.STEAM_DIR = "/mnt/games/steam";
```
---
## Troubleshooting
### Steam startet nicht
```bash
# Fresh Steam Start:
rm -rf ~/.steam ~/.steampath
steam
# Oder Debug:
steam -console
```
### Spiel crasht sofort
1. Unterschiedliche Proton-Version probieren
2. Kompatibilität-Verzeichnis löschen:
```bash
rm -rf ~/.steam/steamapps/compatdata/[GAME_ID]/
```
3. GPU-Treiber updaten:
```bash
nix flake update
sudo nixos-rebuild switch --flake .#template
```
### Black Screen bei Hyprland + NVIDIA
```bash
# NVIDIA mit Hyprland braucht Special Config
# Siehe: ~/.config/hypr/hyprland.conf
env = LIBVA_DRIVER_NAME,nvidia
env = XDG_SESSION_TYPE,wayland
```
### Desktop lädt nicht
Fallback zu KDE:
```bash
# Edit configuration.nix:
desktopConfig = ./modules/desktop/kde.nix;
# Terminal (Ctrl+Alt+F2):
sudo nixos-rebuild switch --flake .#template
```
---
## Performance-Tipps
### Vor Gaming-Session
```bash
# 1. Cleanup
sudo nix-collect-garbage
# 2. Thermale Kühlung prüfen
sensors
# 3. GameMode starten
gamemode
# 4. Prozesse minimieren
killall firefox # oder andere Hintergrund-Apps
```
### Nvidia-spezifisch
```bash
# Driver-Info:
nvidia-smi
# Power Limit erhöhen:
nvidia-smi -pm 1
nvidia-smi -pl [WATTAGE]
```
### AMD-spezifisch
```bash
# GPU Info:
rocm-smi
# Übertaktung (variabler):
# Nutze CoreCtrl GUI
```
---
## Nützliche Links
- [NixOS Manual](https://nixos.org/manual/)
- [ProtonDB](https://protondb.com/) - Spiel-Kompatibilität checken
- [WineHQ](https://www.winehq.org/) - Wine/Proton Docs
- [Chaotic-Nyx](https://github.com/chaotic-cx/nyx) - Aktuelle Treiber
---
## Tips für Freunde (Kopiervorlage)
Falls Freunde dein Template nutzen:
1. **Clone:**
```bash
git clone <DEIN_REPO> mein-nixos
cd mein-nixos
```
2. **Anpassen:**
- `hostName` in configuration.nix
- `userName` ändern
- `desktopConfig` & `graphicsConfig` wählen
3. **Build:**
```bash
sudo nixos-rebuild switch --flake .#template
```
4. **Docs lesen:**
- [`COSMIC_SETUP_ANLEITUNG.md`](COSMIC_SETUP_ANLEITUNG.md) (falls COSMIC)
- Dieses Guide (Gaming & Customization)
---
**Viel Erfolg beim Customizen! 🚀**