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

Regression with plasma 6.2 #1569

Open
3 of 6 tasks
sebastiencaty opened this issue Oct 9, 2024 · 9 comments
Open
3 of 6 tasks

Regression with plasma 6.2 #1569

sebastiencaty opened this issue Oct 9, 2024 · 9 comments

Comments

@sebastiencaty
Copy link

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

Hi,

I cannot launch any game anymore with gamescope since upgrading to Plasma 6.2. The game just hang and can't be stopped from steam. I have to kill the process. Without gamescope, the game works fine (except for HDR). I rollbacked kernel, mesa, recompiled gamescope to the latest (was running well from somewhere a few months ago).

Haven't tried to roll back KDE yet but I could if needed.

Sorry not sure where to open this issue.

Steps To Reproduce

Tried with HFW and Plague Tale: Requiem with launch option :
ENABLE_GAMESCOPE_WSI=1 DXVK_HDR=1 /usr/local/bin/gamescope -f -w 3440 -h 1440 --hdr-enabled --hdr-debug-force-output --hdr-sdr-content-nits 120 %command%

Hardware information

- Distro: Gentoo
- CPU: Ryzen 6900X
- GPU: 7900XTX
- Driver Version: Mesa 24.3.0-devel (git-2c31b9e6c2)

kernel 6.12-rc2 (worked on 6.12-rc1)

Software information

- Desktop environment: KDE Plasma 6.2
- Session type: Wayland
- Gamescope version:  3.15.9-16-g38e9074 (gcc 13.3.1)
- Gamescope launch command(s): 
gamescope -f -w 3440 -h 1440 --hdr-enabled --hdr-debug-force-output --hdr-sdr-content-nits 120 %command%

also without HDR
gamescope -f -w 3440 -h 1440 --rt %command%

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

[gamescope] [Info] console: gamescope version 3.15.9-16-g38e9074 (gcc 13.3.1)
[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts'
[gamescope] [Warn] scriptmgr: Directory '/usr/share/gamescope/scripts' does not exist
[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts'
[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist
Game Recording - would start recording game 1182900, but recording for this game is disabled
Adding process 7794 for gameID 1182900
ATTENTION: default value of option vk_khr_present_wait overridden by environment.
[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 7900 XTX (RADV NAVI31)': queue family 1 (general queue family 0)
[gamescope] [Info] vulkan: physical device supports DRM format modifiers
[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1.
[gamescope] [Info] wlserver: [backend/headless/backend.c:67] Creating headless backend
[gamescope] [Info] xdg_backend: Seat name: seat0
[gamescope] [Info] vulkan: supported DRM formats for sampling usage:
[gamescope] [Info] vulkan: AR24 (0x34325241)
[gamescope] [Info] vulkan: XR24 (0x34325258)
[gamescope] [Info] vulkan: AB24 (0x34324241)
[gamescope] [Info] vulkan: XB24 (0x34324258)
[gamescope] [Info] vulkan: RG16 (0x36314752)
[gamescope] [Info] vulkan: NV12 (0x3231564E)
[gamescope] [Info] vulkan: AB4H (0x48344241)
[gamescope] [Info] vulkan: XB4H (0x48344258)
[gamescope] [Info] vulkan: AB48 (0x38344241)
[gamescope] [Info] vulkan: XB48 (0x38344258)
[gamescope] [Info] vulkan: AB30 (0x30334241)
[gamescope] [Info] vulkan: XB30 (0x30334258)
[gamescope] [Info] vulkan: AR30 (0x30335241)
[gamescope] [Info] vulkan: XR30 (0x30335258)
[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: 76
[gamescope] [Info] xwm: Embedded, no cursor set. Using left_ptr by default.
[gamescope] [Info] vblank: Using timerfd.
[gamescope] [Info] xdg_backend: PreferredMetadata: Red: 0.69042 0.30372, Green: 0.24024 0.71582, Blue: 0.14648 0.05762, White: 0.3125 0.3291, Max Luminance: 427 nits, Min Luminance: 0 nits, Max Full Frame Luminance: 254 nits
[gamescope] [Info] edid: Patching res 800x1280 -> 3440x1440
[gamescope] [Info] launch: Primary child shut down!

@matte-schwartz
Copy link

Thanks for the detailed report! Unfortunately there's really not much to go off there in the logs so far... if you enable Proton logging, do games generate any logs in your home directory? Would be good to see one if so. My distro doesn't have Plasma 6.2 yet but I'll try to see if I run into the same issue when it does.

@misyltoad
Copy link
Collaborator

You are missing -- before %command%

@sebastiencaty
Copy link
Author

sebastiencaty commented Oct 9, 2024

No log at all with PROTON_LOG=1. I can get logs fine without gamescope in the launch command.

There's pleny of process, the game seems to be mostly running :

gamescope -f -w 3440 -h 1440 --rt /home/xxx/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- /home/xxx/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=2420110 -- /home/xxx/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper/_v2-entry-point --verb=waitforexitandrun -- /home/xxx/Steam/steamapps/common/Proton - Experimental/proton waitforexitandrun /home/xxx/Steam/steamapps/common/Horizon Forbidden West Complete Edition/HorizonForbiddenWest.exe

Attaching to this process doesn't show much going on :

strace: Process 90130 attached
futex(0x55f864549360, FUTEX_WAIT_PRIVATE, 2, NULL

No GPU error, desktop keeps going on fine, nothing in dmesg. It justs hangs there doing nothing.

I'm going to revert to plasma 6.1.5.

@sebastiencaty
Copy link
Author

You are missing -- before %command%

shaka when the walls fell

No sure since when I dropped it but it must have been for a while. So the game now launches fine with it back. The hang does still occurs but on exit. Have to go kill -9. Steam won't stop the game, exiting steam leaves a few running.

Going to test back on plasma 6.1.5

@misyltoad
Copy link
Collaborator

misyltoad commented Oct 9, 2024

Darkmok and Jalad at Tanagra

@sebastiencaty
Copy link
Author

Back on Plasma 6.1.5, didn't change behavior. I've no idea how it worked but all my launch commands for games that I use gamescope for HDR were missing -- anyways...

The only thing that I can reproduce is the hanging when exiting. Previous gamescope version I used that behaves correctly is
[gamescope] [Info] console: gamescope version 3.14.23-3-g9860a34. Just switching from this to [gamescope] [Info] console: gamescope version 3.15.9-16-g38e9074 (gcc 13.3.1) is enough to reproduce. A lot of commit to bisect here.

I guess plasma might not be at fault here. Too many moving pieces.

@sebastiencaty
Copy link
Author

Bisected my exit hang to this commit a493c58

@matte-schwartz
Copy link

@sebastiencaty I'm able to repro your issue with:

❯ gamescope -- vkcube
[gamescope] [Info]  console: gamescope version 3.15.9-17-gb488577 (gcc 14.2.1)

image

with your bisected commit also lining up with when it stops closing the window properly for me

@matte-schwartz
Copy link

matte-schwartz commented Oct 12, 2024

from my rather janky gdb debugging endeavors this morning, it seems like the issue occurs specifically somewhere within the thread shutdown process maybe. checking out the commit before the config system was added, results in pretty normal gdb logs while quitting with gamescopectl shutdown:

[gamescope] [Info]  console: Shutting down...
[Thread 0x7ffff54006c0 (LWP 31366) exited]
[Thread 0x7ffff40006c0 (LWP 31368) exited]
(EE) failed to read Wayland events: Broken pipe
[gamescopereaper] [Info]  reaper: Parent of gamescopereaper was killed. Killing children.
[Thread 0x7fffe6c006c0 (LWP 31390) exited]
[Gamescope WSI] getWindowRect: xcb_get_geometry failed for window 0x400000.
[Gamescope WSI] getLargestObscuringWindowSize: xcb_query_tree failed for window 0x400000.
[Gamescope WSI] getToplevelWindow: xcb_query_tree failed for window 0x400000.
[Gamescope WSI] canBypassXWayland: failed to get window info for window 0x400000.
[Gamescope WSI] getWindowRect: xcb_get_geometry failed for window 0x400000.
[Gamescope WSI] getWindowRect: xcb_get_geometry failed for window 0x400000.
[Gamescope WSI] getLargestObscuringWindowSize: xcb_query_tree failed for window 0x400000.
[Gamescope WSI] getToplevelWindow: xcb_query_tree failed for window 0x400000.
[Gamescope WSI] canBypassXWayland: failed to get window info for window 0x400000.
[Gamescope WSI] Creating swapchain for xid: 0x400000 - minImageCount: 4 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false
[Gamescope WSI] Refusing to make swapchain (unsupported VkFormat) for xid: 0x400000 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false
[gamescope] [Info]  launch: Primary child shut down!
[Thread 0x7fffecc006c0 (LWP 31374) exited]
[Thread 0x7fffe62006c0 (LWP 31392) exited]
[Thread 0x7ffff4a006c0 (LWP 31367) exited]
[Thread 0x7fffe76006c0 (LWP 31389) exited]
[Thread 0x7fffed6006c0 (LWP 31373) exited]
[Thread 0x7fffeea006c0 (LWP 31371) exited]
[Thread 0x7fffef4006c0 (LWP 31370) exited]
[Thread 0x7fffefe006c0 (LWP 31369) exited]
[Thread 0x7ffff6c4bac0 (LWP 31361) exited]
[Thread 0x7fffee0006c0 (LWP 31372) exited]
[New process 31361]
[Inferior 1 (process 31361) exited normally]

while the commit afterwards, it seems like it only gets part of the way through this process with the same commands:

[gamescope] [Info]  console: Shutting down...
[Thread 0x7ffff52006c0 (LWP 31784) exited]
[Thread 0x7ffff3e006c0 (LWP 31786) exited]
[Thread 0x7fffe6c006c0 (LWP 31809) exited]
[gamescopereaper] [Info]  reaper: Parent of gamescopereaper was killed. Killing children.
[gamescope] [Info]  launch: Primary child shut down!
[Thread 0x7fffe62006c0 (LWP 31811) exited]
[Thread 0x7fffeea006c0 (LWP 31790) exited]

maybe when i can figure out live gdb a bit better i can get something more actionable

EDIT:

good strace log when shutdown with Ctrl + C:
gamescope_strace_good.log

bad strace log when shutdown with Ctrl + C:
gamescope_strace_bad.log

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

3 participants