508 lines
9.1 KiB
Markdown
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! 🚀**
|