After a while of playing any game with Steam under Wayland, Steam and the game will crash Xwayland, either by immediately closing both (and Kwin sends me a notification that Xwayland has crashed) or by crashing my entire desktop, requiring a reboot. A few times Steam has crashed while closed to the tray. This issue happens on both the proprietary and open drivers, and on any 555+ version.
I’ve reported this on Steam’s GitHub thinking it was an issue with Steam, but a dev has analysed my dmesg and saw these relevant lines:
[ 2134.872424] [drm:nv_drm_gem_alloc_nvkms_memory_ioctl [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000800] Failed to allocate NVKMS memory for GEM object
[ 2134.872474] [drm:nv_drm_gem_alloc_nvkms_memory_ioctl [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000800] Failed to allocate NVKMS memory for GEM object
[ 2167.616215] gamescope-wl[14658]: segfault at 0 ip 0000641bc44bf2c7 sp 00007ffcfedc5b40 error 4 in gamescope[641bc4466000+16b000] likely on CPU 20 (core 10, socket 0)
and suspected it to be related to Added support for the linux-drm-syncobj-v1 protocol for Wayland explicit sync in EGL
. With their suggestion, I’ve rolled back to 550.90-7 and these issues are nowhere to be found.
These are some coredumps, dmesg and journalctl logs I’ve collected during the crashes:
coredumps.tar.gz (158.9 KB)
dmesg.txt (9.7 KB)
journalctl_logs_01.txt (554.3 KB)
journalctl_logs_02.txt (404.3 KB)
My system info:
- Linux endeavour 6.9.7-1-cachyos
- RTX 3080 LHR
- KDE Plasma 6.1.1
- KDE Frameworks 6.3.0
- Qt 6.8.0
- This was tested on both
nvidia-open-dkms
and nvidia-dkms
packages for 555, with GSP enabled and disabled
I’ve installed 555.58.02 to try out if anything changed, and after 1 hour with a game open, I haven’t faced any crashes yet, as opposed to getting crashes after a few minutes on the previous version. I’m still facing some segfaults and getting coredumps on Steam/gldriverquery.
dmesg:
[ 24.393908] gldriverquery[1819]: segfault at 0 ip 0000706bd1aa027f sp 00007ffdc18be8a0 error 4 in libxcb.so.1.1.0[706bd1a98000+14000] likely on CPU 16 (core 4, socket 0)
[ 24.393917] Code: 00 eb a0 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 41 57 41 56 41 55 45 89 c5 41 54 55 4c 89 cd 53 48 83 ec 78 48 8b 19 89 74 24 1c <8b> 37 48 89 4c 24 08 64 48 8b 04 25 28 00 00 00 48 89 44 24 68 31
[ 25.225286] gldriverquery[1913]: segfault at 0 ip 00000000f1b3f341 sp 00000000ffc4c2c0 error 4 in libxcb.so.1.1.0[f1b36000+17000] likely on CPU 12 (core 0, socket 0)
[ 25.225296] Code: 71 0c 8b 19 89 45 a0 8b 41 08 89 75 b4 89 45 a4 8b 41 10 89 45 b8 8b 41 14 89 45 c0 65 a1 14 00 00 00 89 45 e4 8b 06 89 45 b0 <8b> 03 85 c0 0f 85 cb 05 00 00 8b 45 a4 85 c0 0f 84 a2 07 00 00 8b
[ 225.895609] gldriverquery[4738]: segfault at 0 ip 00007fbedaf3627f sp 00007ffc92639940 error 4 in libxcb.so.1.1.0[7fbedaf2e000+14000] likely on CPU 9 (core 11, socket 0)
[ 225.895618] Code: 00 eb a0 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 41 57 41 56 41 55 45 89 c5 41 54 55 4c 89 cd 53 48 83 ec 78 48 8b 19 89 74 24 1c <8b> 37 48 89 4c 24 08 64 48 8b 04 25 28 00 00 00 48 89 44 24 68 31
[ 226.705936] gldriverquery[4875]: segfault at 0 ip 00000000eff49341 sp 00000000ff9c67e0 error 4 in libxcb.so.1.1.0[eff40000+17000] likely on CPU 9 (core 11, socket 0)
[ 226.705946] Code: 71 0c 8b 19 89 45 a0 8b 41 08 89 75 b4 89 45 a4 8b 41 10 89 45 b8 8b 41 14 89 45 c0 65 a1 14 00 00 00 89 45 e4 8b 06 89 45 b0 <8b> 03 85 c0 0f 85 cb 05 00 00 8b 45 a4 85 c0 0f 84 a2 07 00 00 8b
[ 499.693962] plasmashell[1240]: segfault at 0 ip 00007e8025daa5cb sp 00007fffa5e0e1c0 error 4 in libQt6WaylandClient.so.6.8.0[7e8025d6e000+62000] likely on CPU 3 (core 3, socket 0)
[ 499.693974] Code: 0f 1e fa 55 48 89 e5 41 55 4c 8d 2d af 5d fc ff 41 54 4c 8d 67 10 53 48 89 fb 4c 89 e7 48 83 ec 08 ff 15 00 36 05 00 48 89 c7 <48> 8b 00 48 8b 40 10 4c 39 e8 75 59 4c 89 e7 ff 15 e8 35 05 00 49
Coredumps:
Tue 2024-07-02 17:05:15 CEST 1936 1000 1000 SIGSEGV present /home/vrkknn/.local/share/Steam/ubuntu12_64/gldriverquery >
Tue 2024-07-02 17:05:16 CEST 2026 1000 1000 SIGSEGV present /home/vrkknn/.local/share/Steam/ubuntu12_32/gldriverquery >
Tue 2024-07-02 17:06:50 CEST 4396 0 0 SIGSEGV none /usr/bin/plasmashell >
Tue 2024-07-02 17:08:40 CEST 1930 1000 1000 SIGSEGV present /home/vrkknn/.local/share/Steam/ubuntu12_64/gldriverquery >
Tue 2024-07-02 17:08:41 CEST 2017 1000 1000 SIGSEGV present /home/vrkknn/.local/share/Steam/ubuntu12_32/gldriverquery >
Tue 2024-07-02 17:15:45 CEST 1819 1000 1000 SIGSEGV present /home/vrkknn/.local/share/Steam/ubuntu12_64/gldriverquery >
Tue 2024-07-02 17:15:46 CEST 1913 1000 1000 SIGSEGV present /home/vrkknn/.local/share/Steam/ubuntu12_32/gldriverquery >
Tue 2024-07-02 17:19:08 CEST 4738 1000 1000 SIGSEGV present /home/vrkknn/.local/share/Steam/ubuntu12_64/gldriverquery >
Tue 2024-07-02 17:19:09 CEST 4875 1000 1000 SIGSEGV present /home/vrkknn/.local/share/Steam/ubuntu12_32/gldriverquery >
Tue 2024-07-02 17:23:43 CEST 1240 1000 1000 SIGSEGV present /usr/bin/plasmashell
EDIT: As I was writing this post, and trying to get the coredumps from the previous list, I had a game on the background that just crashed. Two coredumps were available:
dumps_2024070217.tar.gz (65.9 KB)
src/common/html/chrome_ipc_client.cpp (1209) : Failed to connect to master html process, created shared memory (spawn time 1603.01)
07/02 17:50:30 Init: Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)/tid(10426)
assert_20240702175030_8.dmp[15594]: Uploading dump (out-of-process)
/tmp/dumps/assert_20240702175030_8.dmp
assert_20240702175030_8.dmp[15594]: Finished uploading minidump (out-of-process): success = yes
assert_20240702175030_8.dmp[15594]: response: Discarded=1
assert_20240702175030_8.dmp[15594]: file ''/tmp/dumps/assert_20240702175030_8.dmp'', upload yes: ''Discarded=1''
gamescope: Received Terminated signal, attempting shutdown!
wlserver: [types/wlr_pointer_constraints_v1.c:46] destroying constraint 0x5ab9634506d0
(EE) failed to write to Xwayland fd: Broken pipe
X connection to :2 broken (explicit kill or server shutdown).
X connection to :2 broken (explicit kill or server shutdown).
X connection to :2 broken (explicit kill or server shutdown).
X connection to :2 broken (explicit kill or server shutdown).
X connection to :2 broken (explicit kill or server shutdown).
src/common/pipes.cpp (883) : fatal stalled cross-thread pipe.
src/common/pipes.cpp (883) : Fatal assert; application exiting
07/02 17:53:29 minidumps folder is set to /tmp/dumps
07/02 17:53:29 Init: Installing breakpad exception handler for appid(wine64-preloader)/version(1.0)/tid(10240)
ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
assert_20240702175329_3.dmp[15986]: Uploading dump (out-of-process)
/tmp/dumps/assert_20240702175329_3.dmp
assert_20240702175329_3.dmp[15986]: Finished uploading minidump (out-of-process): success = yes
assert_20240702175329_3.dmp[15986]: response: Discarded=1
assert_20240702175329_3.dmp[15986]: file ''/tmp/dumps/assert_20240702175329_3.dmp'', upload yes: ''Discarded=1''
pid 15986 != 15985, skipping destruction (fork without exec?)
src/common/pipes.cpp (883) : fatal stalled cross-thread pipe (pipe is disconnected).
src/common/pipes.cpp (883) : Fatal assert; application exiting
07/02 17:53:34 Init: Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)/tid(10426)
assert_20240702175334_11.dmp[16000]: Uploading dump (out-of-process)
/tmp/dumps/assert_20240702175334_11.dmp
assert_20240702175334_11.dmp[16000]: Finished uploading minidump (out-of-process): success = yes
I’ve made some tests and the issue seems related to VRAM. It seems that as soon as my 3080 goes over 9.8Gi (out of 10Gi), Xwayland will crash.
I’ve done more extensive testing regarding the VRAM issue.
On any 555 driver, VRAM fills up increadibly quick, even dragging a window makes Kwin_wayland use 2GB of VRAM for some reason. I can get my games to crash XWayland in less than 10 minutes due to VRAM hitting 9.9Gib/10Gib used.
On 550 drivers, it takes a lot longer for VRAM to fill. I’ve set my game’s texture to maximum to try and fill it up as much as I could. VRAM hit 9.996Gib/10Gib and after 30 minutes, not a single crash. The frames were dipping every time it went past 9.8Gib though, then some VRAM would be cleared and my frames would go back to normal, rinse and repeat.
OS: EndeavourOS x86_64
Kernel: Linux 6.9.7-2-cachyos
DE: KDE Plasma 6.1.1
WM: KWin (Wayland)
CPU: AMD Ryzen 9 5900X (24) @ 6.02 GHz (I have no idea why it says 6GHz, it’s 4.6GHz)
GPU: NVIDIA GeForce RTX 3080 Lite Hash Rate [Discrete]
Memory: 31.25 GiB