Skip to content

[DRM,NVIDIA] - Embedded Gamescope: Steam notifications/overlay cause artifacts and flickering #1964

Description

@alneor-ellyuan

Is there an existing issue for this?

  • I have searched the existing issues

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

  • The issue occurs on upstream gamescope without any modifications

Current Behavior

After starting gamescope and Steam from tty, when in game, receiving a Steam notification (e.g. an achievement) causes artifacts and corruption to appear on screen. The same issue is also caused by simply displaying the Steam overlay (in game only). It looks like the game and the steam overlay are competing for focus: moving the mouse fixes the issue (at least, until the mouse pointer dissapears from inactivity). The corruption stops if the steam overlay is closed.

If a graphical session is started on a second tty (e.g. sway), the artifacts carry from the gamescope tty to the other. The corruption seem to be made from from the images of both ttys. Moving the mouse on the other tty might fix the display, not always. By alterning ttys back and forth, I can eventually bring nvidia-drm to crash:

[drm:nv_drm_atomic_commit [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Flip event timeout on head 0
[drm:nv_drm_atomic_commit [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Flip event timeout on head 0
[drm:__nv_drm_semsurf_wait_fence_work_cb [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to register auto-value-update on pre-wait value for sync FD semaphore surface

I tried various gamescope flags (e.g. --immediate-flips, --force-composition), to no avail. And while these logs were captured while playing my latest personal obsession, the issue appears in the other games I tried.
P.S. iirc, gamescope segfaulted after I closed steam with steam -shutdown at the end of my tests, so that seems like another issue completely.

Possible similar problems include:

Steps To Reproduce

  1. Launch gamescope in tty with gamescope -e -- /usr/bin/steam -tenfoot (actually gamescope --debug-focus --debug-layer -e -- /usr/bin/steam -tenfoot for the logs, but the issue appears without the debug flags).
  2. Start a game.
  3. Make the Steam overlay appear ("shift+tab", or with controller): corruption appears.
  4. (Optional) Switch to another TTY with a graphical session: the corruption is still there.

Hardware information

- Distro: "Arch Linux"
- CPU: AMD Ryzen 7 7800X3D
- GPU: NVIDIA GeForce RTX 4090
- Driver Version: NVIDIA 580.82.7.0

Software information

- Desktop environment: sway 1.11
- Session type: wayland
- Gamescope version: 3.16.16
- Gamescope launch command(s): `gamescope -e -- /usr/bin/steam -tenfoot`

Which gamescope backends have the issue you are reporting?

  • Wayland (default for nested gamescope)
  • DRM (default for embedded gamescope, i.e. gamescope-session)
  • SDL
  • OpenVR

Logging, screenshots, or anything else

First run: in game, artifacts appear when the Steam overlay is called; and dissapear when the mouse is moved.
tty1-gamescope.log
tty1-nvidia-bug-report.log.gz
https://github.com/user-attachments/assets/c6d6b3e4-cd24-4635-876e-9e87eece9ef9

Second run: in game, artifacts appear when the Steam overlay is called. By moving to another tty with sway loaded, the artifacts are still there.
tty1-2-gamescope.log
tty1-2-nvidia-bug-report.log.gz
https://github.com/user-attachments/assets/0272381b-cc7d-4b99-a3ce-af32ab115244

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions