Gamescope defaults to **immediate / mailbox-style presentation** in some setups (especially with VRR or certain compositors), but you can force other VSync behaviors using flags that control presentation timing and refresh behavior.
Here are the main ways to force non-immediate vsync modes.
---
#

Force VSync in Gamescope
##

1. Use `--vsync` flag (newer versions)
Recent gamescope builds support:
```
--vsync <mode>
```
Common values:
```
--vsync immediate # no vsync (what you have now)
--vsync mailbox # low-latency vsync (if supported)
--vsync fifo # traditional vsync (double-buffered)
```
Example:
```
gamescope --vsync fifo -f -- %command%
```
If you want strict VSync:
```
gamescope --vsync fifo
```
---
##

2. Force FIFO via Vulkan present mode
Gamescope is Vulkan-based. You can force FIFO (always vsynced) with:
```
--vk-present-mode fifo
```
Example:
```
gamescope --vk-present-mode fifo -- %command%
```
This is the most reliable way if `--vsync` doesn't exist in your build.
Other modes:
```
fifo = guaranteed vsync
mailbox = low latency vsync
immediate = tearing allowed
```
---
##

3. Disable VRR (if VRR is forcing immediate-like behavior)
If you have VRR enabled, gamescope may choose mailbox/immediate behavior.
Try disabling VRR:
```
--adaptive-sync off
```
Example:
```
gamescope --adaptive-sync off --vk-present-mode fifo
```
---
##

4. Force a fixed refresh rate
If refresh rate is floating, gamescope may not block on vsync correctly.
Set refresh rate explicitly:
```
-r 60
```
Example:
```
gamescope -r 60 --vk-present-mode fifo
```
---
##

5. Steam launch option example
In Steam launch options:
```
gamescope --vk-present-mode fifo -r 60 -- %command%
```
or
```
gamescope --vsync fifo -- %command%
```
---
#

If It Still Uses Immediate
Some builds are compiled without present mode overrides exposed. Check your version:
```
gamescope --help | grep vsync
gamescope --help | grep present
```
If neither flag exists, you're on an older build — update gamescope.
---
#

Quick Recommendation
Most reliable combo:
```
gamescope --vk-present-mode fifo --adaptive-sync off -r 60
```