|
2 | 2 | authors: |
3 | 3 | - "@nicknamenamenick" |
4 | 4 | - "@m2Giles" |
| 5 | + - "@porkloin" |
5 | 6 | tags: |
6 | 7 | - Troubleshooting |
7 | 8 | --- |
@@ -99,6 +100,41 @@ Delete `libtcmalloc_minimal.so.x` in the game's bin folder if present. |
99 | 100 |
|
100 | 101 | If this fails to fix it, then try forcing Proton Experimental in the game's properties. |
101 | 102 |
|
| 103 | + |
| 104 | +## Frame Rate Limiting Issues and Inconsistency |
| 105 | + |
| 106 | +When using Gamescope, framerate limits can be applied in several ways. Unfortunately not all methods work for every enviroment, game, or hardware configuration. |
| 107 | + |
| 108 | +Many inconsistencies can be observed, especially when applying framerate limits in desktop mode. |
| 109 | + |
| 110 | +The tables below show the behavior of different framerate limiting methods. |
| 111 | + |
| 112 | +### Steam Game Mode (Deck OS / Game Mode session) |
| 113 | +| Method | Setup steps | Requires V-Sync On In-Game? | Change limit without restarting game? | Latency | Preferred | Notes | |
| 114 | +|---|---|---|---|---|---|---| |
| 115 | +| **Gamescope FPS limiter** | Use **Quick Access Menu > Performance > Framerate Limit** | No | Yes | Meh | **Preferred** | Automatically turns v-sync on at driver-level whenever the framerate cap is enabled. Additional latency will be introduced. | |
| 116 | +| **MangoAPP (embedded)** | N/A - doesn't work at all. | - | - | - | – | Frame limiter settings from mangoapp are ignored in game mode/deck mode. Use the slider or external mangohud instead. | |
| 117 | +| **MangoHUD (external)** | **Launch Options:** `MANGOHUD=1 %command%` | No | Yes | Meh | – | Set `fps_limit=0,30,60,120...` (0=no cap) in MangoHud.conf. May clash with MangoAPP. | |
| 118 | +| **DXVK/VKD3D runtime frame limiter** | **DXVK (D3D8/9/10/11):** `DXVK_FRAME_RATE={fps} %command%`<br>**VKD3D-Proton (D3D12):** `VKD3D_FRAME_RATE={fps} %command%` | No | No | Best | – | Applies only to DXVK/VKD3D titles (no effect on native OpenGL or native Vulkan). | |
| 119 | + |
| 120 | + |
| 121 | + |
| 122 | + |
| 123 | +### Desktop Mode (GNOME / KDE) |
| 124 | +| Method | Setup steps | Requires V-Sync On In-Game? | Change limit without restarting game? | Latency | Preferred | Notes | |
| 125 | +|---|---|---|---|---|---|---| |
| 126 | +| **Gamescope FPS limiter** | **Launch Options**: `gamescope -r {fps} -- %command%` / `--framerate-limit {fps}` | Yes | Yes | Meh | – | Use `gamescopectl debug_set_fps_limit {fps}` to change the limiter value live without restarting. | |
| 127 | +| **MangoAPP (embedded)** | **Launch Options:** `gamescope --mangoapp -- %command%` | Yes | Yes | Meh | – | Caps are sometimes not effective. Set `fps_limit=0,30,60,120...` (0=no cap) in MangoHud.conf (or via `MANGOHUD_CONFIG=...`). Add `show_fps_limit` to preset to see in game. Change with `ShiftL+F1`. | |
| 128 | +| **MangoHUD (external)** | **Launch Options:** `MANGOHUD=1 gamescope -- %command%` | No | Yes | Meh | **Preferred** | Caps are almost always effective. Set `fps_limit=0,30,60,120...` (0=no cap) in MangoHud.conf (or via `MANGOHUD_CONFIG=...`). Add `show_fps_limit` to preset to see in game. Change with `ShiftL+F1`. | |
| 129 | +| **DXVK/VKD3D runtime frame limiter** | **DXVK (D3D8/9/10/11):** `DXVK_FRAME_RATE={fps} %command%`<br>**VKD3D-Proton (D3D12):** `VKD3D_FRAME_RATE={fps} %command%` | No | No | Best | – | In-process/API-level caps; excellent timing, but you must restart to change. | |
| 130 | + |
| 131 | + |
| 132 | +If your framerate limiter isn't working, the following steps can often help: |
| 133 | + |
| 134 | +1. Disable adaptive sync/VRR or remove the `--adaptive-sync` flag from your gamescope args. |
| 135 | +2. Set vsync in-game to "on". |
| 136 | + |
| 137 | + |
102 | 138 | <hr> |
103 | 139 |
|
104 | | -[**<-- Back to Gaming Guide**](./index.md) |
| 140 | +[**<-- Back to Gaming Guide**](./index.md) |
0 commit comments