Nvidia 550 Beta - Gamescope Address boundary error

Greetings.

  • OS: Arch Linux x86_64
  • Kernel: 6.7.4-arch1-1
  • WM: Hyprland (Wayland)
  • GPU: NVIDIA GeForce RTX 3090

Gamescope not working on 550-beta with error: 'gamescope glxgears' terminated by signal SIGSEGV (Address boundary error)

journalctl -b 0 --grep "gamescope" output:

Feb 12 21:21:53 veil kernel: gamescope[139984]: segfault at f0 ip 000074f5fb460e28 sp 00007ffe7de20360 error 4 in libnvidia-glcore.so.550.40.07[74f5fa600000+1d14000] likely on CPU 11 (core 13, socket 0)
Feb 12 21:21:53 veil systemd-coredump[139999]: Process 139984 (gamescope) of user 1002 dumped core.
    
    Stack trace of thread 139984:
    #0  0x000074f5fb460e28 n/a (libnvidia-glcore.so.550.40.07 + 0xe60e28)
    #1  0x000074f5fb3d9b1e n/a (libnvidia-glcore.so.550.40.07 + 0xdd9b1e)
    #2  0x000074f5fb3eefc6 n/a (libnvidia-glcore.so.550.40.07 + 0xdeefc6)
    #3  0x000074f5fb31d655 n/a (libnvidia-glcore.so.550.40.07 + 0xd1d655)
    #4  0x000074f5fc773e60 n/a (libGLX_nvidia.so.0 + 0x9ce60)
    #5  0x000074f5fe2b66b9 n/a (libvulkan.so.1 + 0x2a6b9)
    #6  0x000074f5fe2b3611 n/a (libvulkan.so.1 + 0x27611)
    #7  0x000074f5fe2aef63 n/a (libvulkan.so.1 + 0x22f63)
    #8  0x000074f5fe2bfc5b vkCreateDevice (libvulkan.so.1 + 0x33c5b)
    #9  0x00005f916190c569 n/a (gamescope + 0xfe569)
    #10 0x00005f916190d276 n/a (gamescope + 0xff276)
    #11 0x00005f9161891403 n/a (gamescope + 0x83403)
    #12 0x00005f9161828e8f n/a (gamescope + 0x1ae8f)
    #13 0x000074f5fdb57cd0 n/a (libc.so.6 + 0x25cd0)
    #14 0x000074f5fdb57d8a __libc_start_main (libc.so.6 + 0x25d8a)
    #15 0x00005f916184b4e5 n/a (gamescope + 0x3d4e5)
    
    Stack trace of thread 139988:
    #0  0x000074f5fdc3ae66 epoll_wait (libc.so.6 + 0x108e66)
    #1  0x00005f916191b577 n/a (gamescope + 0x10d577)
    #2  0x00005f9161874aa4 n/a (gamescope + 0x66aa4)
    #3  0x000074f5fdee1943 execute_native_thread_routine (libstdc++.so.6 + 0xe1943)
    #4  0x000074f5fdbbd55a n/a (libc.so.6 + 0x8b55a)
    #5  0x000074f5fdc3aa3c n/a (libc.so.6 + 0x108a3c)
    
    Stack trace of thread 139993:
    #0  0x000074f5fdbb9ebe n/a (libc.so.6 + 0x87ebe)
    #1  0x000074f5fdbbc750 pthread_cond_wait (libc.so.6 + 0x8a750)
    #2  0x000074f5fb0009ec n/a (libnvidia-glcore.so.550.40.07 + 0xa009ec)
    #3  0x000074f5fb4296e5 n/a (libnvidia-glcore.so.550.40.07 + 0xe296e5)
    #4  0x000074f5fb002cf4 n/a (libnvidia-glcore.so.550.40.07 + 0xa02cf4)
    #5  0x000074f5fdbbd55a n/a (libc.so.6 + 0x8b55a)
    #6  0x000074f5fdc3aa3c n/a (libc.so.6 + 0x108a3c)
    
    Stack trace of thread 139995:
    #0  0x000074f5fdbb9ebe n/a (libc.so.6 + 0x87ebe)
    #1  0x000074f5fdbbca65 pthread_cond_timedwait (libc.so.6 + 0x8aa65)
    #2  0x000074f5fb000a4c n/a (libnvidia-glcore.so.550.40.07 + 0xa00a4c)
    #3  0x000074f5fb411bbd n/a (libnvidia-glcore.so.550.40.07 + 0xe11bbd)
    #4  0x000074f5fb002cf4 n/a (libnvidia-glcore.so.550.40.07 + 0xa02cf4)
    #5  0x000074f5fdbbd55a n/a (libc.so.6 + 0x8b55a)
    #6  0x000074f5fdc3aa3c n/a (libc.so.6 + 0x108a3c)
    
    Stack trace of thread 139989:
    #0  0x000074f5fdc2d0bf __poll (libc.so.6 + 0xfb0bf)
    #1  0x000074f5fe545da7 n/a (libSDL2-2.0.so.0 + 0x119da7)
    #2  0x000074f5fe47a628 n/a (libSDL2-2.0.so.0 + 0x4e628)
    #3  0x00005f91618804e9 n/a (gamescope + 0x724e9)
    #4  0x000074f5fdee1943 execute_native_thread_routine (libstdc++.so.6 + 0xe1943)
    #5  0x000074f5fdbbd55a n/a (libc.so.6 + 0x8b55a)
    #6  0x000074f5fdc3aa3c n/a (libc.so.6 + 0x108a3c)
    
    Stack trace of thread 139991:
    #0  0x000074f5fdbb9ebe n/a (libc.so.6 + 0x87ebe)
    #1  0x000074f5fdbbca65 pthread_cond_timedwait (libc.so.6 + 0x8aa65)
    #2  0x000074f5fb000a4c n/a (libnvidia-glcore.so.550.40.07 + 0xa00a4c)
    #3  0x000074f5fb42ed31 n/a (libnvidia-glcore.so.550.40.07 + 0xe2ed31)
    #4  0x000074f5fb002cf4 n/a (libnvidia-glcore.so.550.40.07 + 0xa02cf4)
    #5  0x000074f5fdbbd55a n/a (libc.so.6 + 0x8b55a)
    #6  0x000074f5fdc3aa3c n/a (libc.so.6 + 0x108a3c)
    
    Stack trace of thread 139992:
    #0  0x000074f5fdbb9ebe n/a (libc.so.6 + 0x87ebe)
    #1  0x000074f5fdbbca65 pthread_cond_timedwait (libc.so.6 + 0x8aa65)
    #2  0x000074f5fb000a4c n/a (libnvidia-glcore.so.550.40.07 + 0xa00a4c)
    #3  0x000074f5fb43f981 n/a (libnvidia-glcore.so.550.40.07 + 0xe3f981)
    #4  0x000074f5fb002cf4 n/a (libnvidia-glcore.so.550.40.07 + 0xa02cf4)
    #5  0x000074f5fdbbd55a n/a (libc.so.6 + 0x8b55a)
    #6  0x000074f5fdc3aa3c n/a (libc.so.6 + 0x108a3c)
    ELF object binary architecture: AMD x86-64

nvidia-bug-report.log.gz (976.4 KB)

I’m also facing this

Can you please try this with validation layers enabled? I think it’s a bug in gamescope’s code to fill out the pQueueCreateInfos array:

> VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation gamescope glxgears
vblank: Using timerfd.
No CAP_SYS_NICE, falling back to regular-priority compute and threads.
Performance will be affected.
wlserver: [backend/headless/backend.c:67] Creating headless backend
ATTENTION: default value of option vk_khr_present_wait overridden by environment.
vulkan: physical device 10de:27b2 compute queue doesn't support presenting on our surface, using graphics queue
vulkan: selecting physical device 'NVIDIA RTX 4000 Ada Generation': queue family 0 (general queue family 0)
vulkan: physical device supports DRM format modifiers
VUID-VkDeviceCreateInfo-queueFamilyIndex-02802(ERROR / SPEC): msgNum: 692684664 - Validation Error: [ VUID-VkDeviceCreateInfo-queueFamilyIndex-02802 ] Object 0: handle = 0x5c941ad15a00, type = VK_OBJECT_TYPE_PHYSICAL_DEVICE; | MessageID = 0x29498778 | vkCreateDevice(): pCreateInfo->pQueueCreateInfos[1].queueFamilyIndex (0) is not unique and was also used in pCreateInfo->pQueueCreateInfos[0]. The Vulkan spec states: The queueFamilyIndex member of each element of pQueueCreateInfos must be unique within pQueueCreateInfos , except that two members can share the same queueFamilyIndex if one describes protected-capable queues and one describes queues that are not protected-capable (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkDeviceCreateInfo-queueFamilyIndex-02802)
    Objects: 1
        [0] 0x5c941ad15a00, type: 2, name: NULL
fish: Job 1, 'VK_INSTANCE_LAYERS=VK_LAYER_KHR…' terminated by signal SIGSEGV (Address boundary error)

I think this was actually fixed upstream already as part of this commit: rendervulkan: Add GAMESCOPE_FORCE_GENERAL_QUEUE · ValveSoftware/gamescope@7b126cb · GitHub

can confirm gamescope 3.14 fixes the out of bounds error. However using gamescope on plasma 6 or hyprland causes the window to freeze nonstop making it unusable. I am not sure if this an nvidia, gamescope or some other kind of issue.

Indeed, this commit fix the issue, but gamescope still unusable sadly. It’s just freeze if you start Dota 2 for example with gamemoderun gamescope -w 2560 -h 1440 -f mangohud %command%

On Kernel 6.1.77 and NVIDIA 550.40.07 I still can’t launch gamescope from a TTY I just get a black screen.

On Kernel 6.1.77 and NVIDIA 535.43.28 I am able to launch gamescope 3.14.1! Sadly though the picture flickers and is going at a really low framerate.

Just a update: enabling power management removed the low FPS issue. I still can’t launch from a TTY on 550.40.07 but I’m making progress.