Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

artifacting with Intel A770 solitare 3.16.1+ #1761

Open
3 of 6 tasks
zlice opened this issue Mar 2, 2025 · 2 comments
Open
3 of 6 tasks

artifacting with Intel A770 solitare 3.16.1+ #1761

zlice opened this issue Mar 2, 2025 · 2 comments

Comments

@zlice
Copy link

zlice commented Mar 2, 2025

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

https://github.com/void-linux/void-packages/blob/bf7deb57efdb3ec65b02037f928727d6b1c1ea57/srcpkgs/gamescope/template

void-linux/void-packages#54145

After upgrading to 3.16.x solitare is full of artifacts and unplayable with gamescope

Steps To Reproduce

gamescope -W 1920 -H 1440 -- wine sol.exe

Hardware information

- Distro: void linux
- CPU: 5600X / 9700X
- GPU: Intel A770
- Driver Version: mesa 24.3.4

Software information

- Desktop environment: xorg / fluxbox
- Session type: 
- Gamescope version: 13.16.x

- current void build dep versions here https://github.com/void-linux/void-packages/blob/bf7deb57efdb3ec65b02037f928727d6b1c1ea57/srcpkgs/gamescope/template

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

3.16.x

Image

3.14.x

Image

[gamescope] [Info]  console: gamescope version 3.16.1 (gcc 13.2.0)
No CAP_SYS_NICE, falling back to regular-priority compute and threads.
Performance will be affected.
[gamescope] [Info]  scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts'
[gamescope] [Info]  scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope'
[gamescope] [Info]  scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common'
[gamescope] [Info]  scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0)
[gamescope] [Info]  scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1)
[gamescope] [Info]  scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2)
[gamescope] [Info]  scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays'
[gamescope] [Info]  scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3)
[gamescope] [Info]  scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4)
[gamescope] [Info]  scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 5)
[gamescope] [Info]  scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 6)
[gamescope] [Info]  scriptmgr: Loading scripts from: '/etc/gamescope/scripts'
[gamescope] [Warn]  scriptmgr: Directory '/etc/gamescope/scripts' does not exist
[gamescope] [Info]  scriptmgr: Loading scripts from: '/home/zlice/.config/gamescope/scripts'
[gamescope] [Warn]  scriptmgr: Directory '/home/zlice/.config/gamescope/scripts' does not exist
[gamescope] [Info]  vulkan: selecting physical device 'Intel(R) Arc(tm) A770 Graphics (DG2)': queue family 0 (general queue family 0)
[gamescope] [Info]  vulkan: physical device supports DRM format modifiers
[gamescope] [Info]  wlserver: [backend/headless/backend.c:67] Creating headless backend
[gamescope] [Info]  vulkan: supported DRM formats for sampling usage:
[gamescope] [Info]  vulkan: Creating Gamescope nested swapchain with format 44 and colorspace 0
[gamescope] [Error] wlserver: [types/wlr_linux_dmabuf_v1.c:545] mmap failed: Invalid argument
[gamescope] [Info]  wlserver: Using explicit sync when available
[gamescope] [Info]  wlserver: Running compositor on wayland display 'gamescope-0'
[gamescope] [Info]  wlserver: [backend/headless/backend.c:17] Starting headless backend
[gamescope] [Info]  wlserver: Successfully initialized libei for input emulation!
[gamescope] [Info]  wlserver: [xwayland/server.c:107] Starting Xwayland on :1
[gamescope] [Info]  pipewire: stream state changed: connecting
[gamescope] [Info]  pipewire: stream state changed: paused
[gamescope] [Info]  pipewire: stream available on node ID: 64
[gamescope] [Info]  vblank: Using timerfd.
@matte-schwartz
Copy link

Does this happen with other X11 compositors as well? Also, does it happen if you run the game with proton rather than wine?

FWIW I tried to reproduce this on plasma x11 with an Arc 140 iGPU and was not able to observe any artifacts, but I only tried running the game through proton as I don't have wine installed at the moment.

@zlice
Copy link
Author

zlice commented Mar 3, 2025

no, haven't touched proton since it's just a small exe and not on steam

running with picom doesn't help.

$ md5sum sol.exe
373e7a863a1a345c60edb9e20ec32311  sol.exe

$ ls -al sol.exe
-rw-rw-r-- 1 zlice zlice 56832 Feb 28  2006 sol.exe

the main error seems to be related to mmap in wlroots dma

[gamescope] [Info]  wlserver: [backend/headless/backend.c:67] Creating headless backend
[gamescope] [Info]  vulkan: supported DRM formats for sampling usage:
[gamescope] [Info]  vulkan: Creating Gamescope nested swapchain with format 44 and colorspace 0
[gamescope] [Error] wlserver: [types/wlr_linux_dmabuf_v1.c:545] mmap failed: Invalid argument

(note: vulkan in 3.16.x seems to be init'ed after 'backend' here, in 3.14.24 it seems to be before)

struct wlr_linux_dmabuf_feedback_v1_table_entry *table = mmap(NULL, table_size, PROT_READ | PROT_WRITE, MAP_SHARED, rw_fd, 0);

although the only difference in that file for wlroots between the hash used for 3.14 and 3.16 seems to be

diff ./types/wlr_linux_dmabuf_v1.c /tmp/gamescope-3.16.1/subprojects/wlroots/types/wlr_linux_dmabuf_v1.c 
1103c1103
< 		wlr_renderer_get_dmabuf_texture_formats(options->main_renderer);
---
> 		wlr_renderer_get_texture_formats(options->main_renderer, WLR_BUFFER_CAP_DMABUF);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants