ValveSoftware / gamescope

SteamOS session compositing window manager
Other
3.16k stars 213 forks source link

[NVIDIA] Mouse motion causes severe frame delays since linux_drm_syncobj implementation #1626

Open ShadowApex opened 6 days ago

ShadowApex commented 6 days ago

Is there an existing issue for this?

Are you using any gamescope patches or a forked version of gamescope?

Current Behavior

Using Nvidia GPUs with a 4k display, certain games like Cyberpunk 2077 and Black Myth: Wukong experience severe frame delays when there is mouse motion input. Keyboard or gamepad input does not cause issues. After bisecting, it appears this issue was introduced in commit dd77e4de10974bdbfe8252f6ec6f4c8723ac3305 with the introduction of the new linux_drm_syncobj implementation in v3.15.0.

From testing Cyberpunk 2077, it appears this issue only manifests when using a 4k display (tested with a 3840x2160 monitor) or when using a 1080p display and the in-game resolution is set to a value lower than 1080p. Enabling vsync in-game also appears to help with the frame stuttering, but is severe when it is disabled.

Steps To Reproduce

  1. Launch gamescope embedded session (with a 4K display 3840x2160)
  2. Launch Cyberpunk 2077
  3. Go to game settings and ensure that resolution is set to 1920x1080 and vsync is disabled
  4. Load or start a new game
  5. Move mouse cursor around

Hardware information

- **Distro**: Fedora Linux 41.20241106.0 (Silverblue)
- **CPU**: 16-core Intel(R) Core(TM) Ultra 7 155H
- **GPU**: NVIDIA Corporation AD107M [GeForce RTX 4060 Max-Q / Mobile]
- **Driver Version**: NVIDIA 565.57.01

Software information

- **Desktop environment**: None (gamescope-session)
- **Session type**: wayland
- **Gamescope version**: gamescope version v3.15.0+ (starting at commit [dd77e4de10974bdbfe8252f6ec6f4c8723ac3305](https://github.com/ValveSoftware/gamescope/commit/dd77e4de10974bdbfe8252f6ec6f4c8723ac3305))
- **Gamescope launch command(s)**: `/usr/bin/gamescope --prefer-output *,eDP-1 --xwayland-count 2 --default-touch-mode 4 --hide-cursor-delay 3000 --fade-out-duration 200 --steam -R /run/user/1000/gamescope.rhDOTtu/startup.socket -T /run/user/1000/gamescope.rhDOTtu/stats.pipe`

Which gamescope backends have the issue you are reporting?

Logging, screenshots, or anything else

gamescope version v3.15.0+ (dd77e4de10974bdbfe8252f6ec6f4c8723ac3305)

https://github.com/user-attachments/assets/4e295513-e620-4a12-8253-53a5f3b0b335

gamescope version v3.14.29

https://github.com/user-attachments/assets/ca089480-289f-453a-8f47-3a871c81bd4f

alkazar commented 6 days ago

I experience this issue at native 1080p with Senua's Sacrifice when using DirectX12, but not when using DirectX11. The GPU used for testing was an RTX 4060.