# ELDEN RING — Linux Setup Reference

**App ID (Steam):** 1245620
**Genres:** Action RPG, Open World, Souls-like
**Engine:** FromSoftware proprietary (DX12)
**Linux Rating:** Gold (ProtonDB)

## System Used

| Component | Detail |
|-----------|--------|
| GPU | NVIDIA RTX 3070 (GA104) |
| Driver | nvidia 595.71.05 |
| Distro | CachyOS (Arch) |
| Runner | proton-cachyos-11.0-20260429-slr |
| Game Source | DODI Repack (non-Steam, offline) |

## Folder Structure

```
~/Games/EldenRing/
├── eldenring.exe          ← main executable
├── Data0.bdt              ← ~12GB game data
├── Data1.bdt              ← ~14GB
├── Data2.bdt              ← ~21GB
├── Data3.bdt              ← ~2.8GB
├── DLC.bdt                ← ~16GB (Shadow of the Erdtree)
├── EasyAntiCheat/         ← disabled/bypassed for repack
├── movie/                 ← cutscenes
├── movie_dlc/
├── sd/
└── ...dlls
```

## Recommended Lutris Config

### Runner Settings
- **Wine version:** `proton-cachyos-<latest>`
- **DXVK:** Disabled (proton-cachyos has it built-in)
- **VKD3D:** Disabled (proton-cachyos has it built-in — enabling Lutris managed VKD3D causes MissingRuntimeComponentError)
- **DXVK_NVAPI:** Disabled (proton-cachyos handles NVIDIA features)
- **ESYNC:** Enabled
- **FSYNC:** Enabled

### System Settings
- **Prefix command:** `gamemoderun`
- **Environment variables:**
  - `VKD3D_CONFIG=no_upload_hvv,single_queue` — reduces DX12 stutter on NVIDIA
  - `PROTON_ENABLE_NVAPI=1` — enables NVIDIA features (DLSS, Reflex)
  - `MANGOHUD=0` — off by default, toggle in-game

### Example Config JSON (headless setup)

```json
{
  "game": {
    "exe": "/home/raymond/Games/EldenRing/eldenring.exe",
    "prefix": "/home/raymond/Games/EldenRing",
    "arch": "win64"
  },
  "wine": {
    "version": "proton-cachyos-11.0-20260429-slr-x86_64",
    "dxvk": false,
    "vkd3d": false,
    "dxvk_nvapi": false,
    "esync": true,
    "fsync": true
  },
  "system": {
    "prefix_command": "gamemoderun",
    "env": {
      "VKD3D_CONFIG": "no_upload_hvv,single_queue",
      "PROTON_ENABLE_NVAPI": "1",
      "MANGOHUD": "0"
    }
  },
  "runner": "wine"
}
```

### In-Game Performance Settings (RTX 3070, 1080p/1440p)
- **Resolution:** Native monitor res (RTX 3070 handles 1440p high)
- **Anti-aliasing:** TAA for quality, OFF for performance
- **Shadows:** Medium–High (biggest perf hit, drop this first if struggling)
- **Volumetrics:** Low (expensive on all hardware, minimal visual gain)
- **Ray Tracing:** OFF (heavy perf cost on RTX 3070 for Elden Ring)
- **Motion Blur:** Personal preference (costs ~3-5 FPS)

## Known Issues & Fixes

| Issue | Fix |
|-------|-----|
| `MissingRuntimeComponentError: VKD3D` | Set `dxvk: false`, `vkd3d: false` in config — proton-cachyos has these built-in. Enabling Lutris managed versions conflicts. |
| Stutter on first play | Let shaders compile during first ~5 min of gameplay. If persistent, set `VKD3D_CONFIG=no_upload_hvv,single_queue` |
| Black screen on launch | Try `PROTON_USE_WINED3D=0` (force VKD3D), verify you're using proton-cachyos runner |
| EAC blocking launch | Repacks disable EAC. For legit copy, rename `start_protected_game.exe` and launch `eldenring.exe` directly |
| Low FPS on NVIDIA | Ensure `VKD3D_CONFIG=no_upload_hvv,single_queue` and `PROTON_ENABLE_NVAPI=1` are set |
| Fullscreen issues | Use borderless windowed mode in-game settings. Alternatively: `WINE_FULLSCREEN_FSR=1` |
| Gamemode not active | Verify: `systemctl --user status gamemoded`. Install: `sudo pacman -S gamemode lib32-gamemode && systemctl --user enable --now gamemoded` |

## Performance Targets (RTX 3070)

| Settings | 1080p | 1440p |
|----------|-------|-------|
| Max (no RT) | 50-60 FPS | 40-50 FPS |
| High | 55-60 FPS | 45-55 FPS |
| Medium | 60+ FPS | 55-60 FPS |

## Source
- Game files: DODI Repack (single-player offline)
- Runner: https://github.com/CachyOS/proton-cachyos
- Lutris: https://lutris.net
