ValveSoftware / gamescope

SteamOS session compositing window manager
Other
3.06k stars 201 forks source link

HDR crash with AMD #1138

Closed usrtrv closed 7 months ago

usrtrv commented 8 months ago

Fedora 40 gamescope 3.14

HDR is working on the system level after enabling it in my display settings but gamescope crashes with gamescope: ../src/rendervulkan.cpp:3034: bool vulkan_remake_swapchain(): Assertion 'bRet' failed.

Full log below:

usrtrv@gwyndolin ~/git [SIGABRT]> VK_LOADER_DEBUG=error,warn,info ENABLE_HDR_WSI=1 gamescope --hdr-enabled --hdr-debug-force-output --steam -- env ENABLE_GAMESCOPE_WSI=1 DXVK_HDR=1 DISABLE_HDR_WSI=1 steam -bigpicture
INFO:              Vulkan Loader Version 1.3.268
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
INFO:              Found manifest file /home/usrtrv/.local/share/vulkan/implicit_layer.d/steamoverlay_x86_64.json (file version 1.0.0)
INFO:              Found manifest file /home/usrtrv/.local/share/vulkan/implicit_layer.d/steamfossilize_i386.json (file version 1.0.0)
INFO:              Found manifest file /home/usrtrv/.local/share/vulkan/implicit_layer.d/steamoverlay_i386.json (file version 1.0.0)
INFO:              Found manifest file /home/usrtrv/.local/share/vulkan/implicit_layer.d/steamfossilize_x86_64.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_hdr_wsi.x86_64.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_FROG_gamescope_wsi.x86_64.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/MangoHud.x86_64.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/vkBasalt.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/MangoHud.x86.json (file version 1.0.0)
INFO:              /usr/lib/libvulkan_intel_hasvk.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_lvp.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_nouveau.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_panfrost.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_intel.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_freedreno.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_broadcom.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_powervr_mesa.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_intel_hasvk.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_lvp.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_nouveau.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_panfrost.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_intel.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_freedreno.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_broadcom.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_powervr_mesa.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
INFO:              Found manifest file /home/usrtrv/.local/share/vulkan/implicit_layer.d/steamoverlay_x86_64.json (file version 1.0.0)
INFO:              Found manifest file /home/usrtrv/.local/share/vulkan/implicit_layer.d/steamfossilize_i386.json (file version 1.0.0)
INFO:              Found manifest file /home/usrtrv/.local/share/vulkan/implicit_layer.d/steamoverlay_i386.json (file version 1.0.0)
INFO:              Found manifest file /home/usrtrv/.local/share/vulkan/implicit_layer.d/steamfossilize_x86_64.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_hdr_wsi.x86_64.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_FROG_gamescope_wsi.x86_64.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/MangoHud.x86_64.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/vkBasalt.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/MangoHud.x86.json (file version 1.0.0)
INFO:              Found manifest file /home/usrtrv/.local/share/vulkan/implicit_layer.d/steamoverlay_x86_64.json (file version 1.0.0)
INFO:              Found manifest file /home/usrtrv/.local/share/vulkan/implicit_layer.d/steamfossilize_i386.json (file version 1.0.0)
INFO:              Found manifest file /home/usrtrv/.local/share/vulkan/implicit_layer.d/steamoverlay_i386.json (file version 1.0.0)
INFO:              Found manifest file /home/usrtrv/.local/share/vulkan/implicit_layer.d/steamfossilize_x86_64.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_hdr_wsi.x86_64.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_FROG_gamescope_wsi.x86_64.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/MangoHud.x86_64.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/vkBasalt.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/MangoHud.x86.json (file version 1.0.0)
INFO:              /usr/lib/libvulkan_intel_hasvk.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_lvp.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_nouveau.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_panfrost.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_intel.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_freedreno.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_broadcom.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_powervr_mesa.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
INFO:              Found manifest file /home/usrtrv/.local/share/vulkan/implicit_layer.d/steamoverlay_x86_64.json (file version 1.0.0)
INFO:              Found manifest file /home/usrtrv/.local/share/vulkan/implicit_layer.d/steamfossilize_i386.json (file version 1.0.0)
INFO:              Found manifest file /home/usrtrv/.local/share/vulkan/implicit_layer.d/steamoverlay_i386.json (file version 1.0.0)
INFO:              Found manifest file /home/usrtrv/.local/share/vulkan/implicit_layer.d/steamfossilize_x86_64.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_hdr_wsi.x86_64.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_FROG_gamescope_wsi.x86_64.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/MangoHud.x86_64.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/vkBasalt.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/MangoHud.x86.json (file version 1.0.0)
INFO:              Found manifest file /home/usrtrv/.local/share/vulkan/implicit_layer.d/steamoverlay_x86_64.json (file version 1.0.0)
INFO:              Found manifest file /home/usrtrv/.local/share/vulkan/implicit_layer.d/steamfossilize_i386.json (file version 1.0.0)
INFO:              Found manifest file /home/usrtrv/.local/share/vulkan/implicit_layer.d/steamoverlay_i386.json (file version 1.0.0)
INFO:              Found manifest file /home/usrtrv/.local/share/vulkan/implicit_layer.d/steamfossilize_x86_64.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_hdr_wsi.x86_64.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_FROG_gamescope_wsi.x86_64.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/MangoHud.x86_64.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/vkBasalt.json (file version 1.0.0)
INFO:              Found manifest file /usr/share/vulkan/implicit_layer.d/MangoHud.x86.json (file version 1.0.0)
INFO:              /usr/lib/libvulkan_intel_hasvk.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_lvp.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_nouveau.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_panfrost.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_intel.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_freedreno.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_broadcom.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_powervr_mesa.so: wrong ELF class: ELFCLASS32
INFO:              /usr/lib/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
INFO | LAYER:      Insert instance layer "VK_LAYER_MESA_device_select" (libVkLayer_MESA_device_select.so)
INFO | LAYER:      Insert instance layer "VK_LAYER_hdr_wsi" (/usr/lib64/libVkLayer_hdr_wsi.so)
ATTENTION: default value of option vk_khr_present_wait overridden by environment.
ATTENTION: default value of option vk_khr_present_wait overridden by environment.
ATTENTION: default value of option vk_khr_present_wait overridden by environment.
ATTENTION: default value of option vk_khr_present_wait overridden by environment.
TU: error: ../src/freedreno/vulkan/tu_knl.cc:232: device /dev/dri/renderD128 (amdgpu) is not compatible with turnip (VK_ERROR_INCOMPATIBLE_DRIVER)
INFO | DRIVER:     linux_read_sorted_physical_devices:
INFO | DRIVER:          Original order:
INFO | DRIVER:                [0] llvmpipe (LLVM 17.0.6, 256 bits)
INFO | DRIVER:                [1] AMD Radeon RX 6900 XT (RADV NAVI21)
INFO | DRIVER:          Sorted order:
INFO | DRIVER:                [0] AMD Radeon RX 6900 XT (RADV NAVI21)  
INFO | DRIVER:                [1] llvmpipe (LLVM 17.0.6, 256 bits)  
INFO | DRIVER:     linux_read_sorted_physical_devices:
INFO | DRIVER:          Original order:
INFO | DRIVER:                [0] llvmpipe (LLVM 17.0.6, 256 bits)
INFO | DRIVER:                [1] AMD Radeon RX 6900 XT (RADV NAVI21)
INFO | DRIVER:          Sorted order:
INFO | DRIVER:                [0] AMD Radeon RX 6900 XT (RADV NAVI21)  
INFO | DRIVER:                [1] llvmpipe (LLVM 17.0.6, 256 bits)  
INFO | DRIVER:     linux_read_sorted_physical_devices:
INFO | DRIVER:          Original order:
INFO | DRIVER:                [0] llvmpipe (LLVM 17.0.6, 256 bits)
INFO | DRIVER:                [1] AMD Radeon RX 6900 XT (RADV NAVI21)
INFO | DRIVER:          Sorted order:
INFO | DRIVER:                [0] AMD Radeon RX 6900 XT (RADV NAVI21)  
INFO | DRIVER:                [1] llvmpipe (LLVM 17.0.6, 256 bits)  
INFO | DRIVER:     linux_read_sorted_physical_devices:
INFO | DRIVER:          Original order:
INFO | DRIVER:                [0] llvmpipe (LLVM 17.0.6, 256 bits)
INFO | DRIVER:                [1] AMD Radeon RX 6900 XT (RADV NAVI21)
INFO | DRIVER:          Sorted order:
INFO | DRIVER:                [0] AMD Radeon RX 6900 XT (RADV NAVI21)  
INFO | DRIVER:                [1] llvmpipe (LLVM 17.0.6, 256 bits)  
[HDR Layer] wayland compositor lacking color management protocol..
INFO | DRIVER:     linux_read_sorted_physical_devices:
INFO | DRIVER:          Original order:
INFO | DRIVER:                [0] llvmpipe (LLVM 17.0.6, 256 bits)
INFO | DRIVER:                [1] AMD Radeon RX 6900 XT (RADV NAVI21)
INFO | DRIVER:          Sorted order:
INFO | DRIVER:                [0] AMD Radeon RX 6900 XT (RADV NAVI21)  
INFO | DRIVER:                [1] llvmpipe (LLVM 17.0.6, 256 bits)  
INFO | DRIVER:     linux_read_sorted_physical_devices:
INFO | DRIVER:          Original order:
INFO | DRIVER:                [0] llvmpipe (LLVM 17.0.6, 256 bits)
INFO | DRIVER:                [1] AMD Radeon RX 6900 XT (RADV NAVI21)
INFO | DRIVER:          Sorted order:
INFO | DRIVER:                [0] AMD Radeon RX 6900 XT (RADV NAVI21)  
INFO | DRIVER:                [1] llvmpipe (LLVM 17.0.6, 256 bits)  
INFO | DRIVER:     linux_read_sorted_physical_devices:
INFO | DRIVER:          Original order:
INFO | DRIVER:                [0] llvmpipe (LLVM 17.0.6, 256 bits)
INFO | DRIVER:                [1] AMD Radeon RX 6900 XT (RADV NAVI21)
INFO | DRIVER:          Sorted order:
INFO | DRIVER:                [0] AMD Radeon RX 6900 XT (RADV NAVI21)  
INFO | DRIVER:                [1] llvmpipe (LLVM 17.0.6, 256 bits)  
INFO | DRIVER:     linux_read_sorted_physical_devices:
INFO | DRIVER:          Original order:
INFO | DRIVER:                [0] llvmpipe (LLVM 17.0.6, 256 bits)
INFO | DRIVER:                [1] AMD Radeon RX 6900 XT (RADV NAVI21)
INFO | DRIVER:          Sorted order:
INFO | DRIVER:                [0] AMD Radeon RX 6900 XT (RADV NAVI21)  
INFO | DRIVER:                [1] llvmpipe (LLVM 17.0.6, 256 bits)  
vulkan: selecting physical device 'AMD Radeon RX 6900 XT (RADV NAVI21)': queue family 1 (general queue family 0)
vulkan: physical device supports DRM format modifiers
INFO | LAYER:      Failed to find vkGetDeviceProcAddr in layer "libVkLayer_MESA_device_select.so"
INFO | LAYER:      Inserted device layer "VK_LAYER_hdr_wsi" (/usr/lib64/libVkLayer_hdr_wsi.so)
vulkan: supported DRM formats for sampling usage:
vulkan:   AR24 (0x34325241)
vulkan:   XR24 (0x34325258)
vulkan:   AB24 (0x34324241)
vulkan:   XB24 (0x34324258)
vulkan:   RG16 (0x36314752)
vulkan:   NV12 (0x3231564E)
vulkan:   AB4H (0x48344241)
vulkan:   XB4H (0x48344258)
vulkan:   AB48 (0x38344241)
vulkan:   XB48 (0x38344258)
vulkan:   AB30 (0x30334241)
vulkan:   XB30 (0x30334258)
vulkan:   AR30 (0x30335241)
vulkan:   XR30 (0x30335258)
vulkan: Creating Gamescope nested swapchain with format 64 and colorspace 0
wlserver: [wayland] unable to lock lockfile /run/user/1000/gamescope-0.lock, maybe another compositor is running
wlserver: Running compositor on wayland display 'gamescope-1'
wlserver: [backend/headless/backend.c:17] Starting headless backend
wlserver: [xwayland/server.c:108] Starting Xwayland on :2
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Could not resolve keysym XF86CameraAccessEnable
> Warning:          Could not resolve keysym XF86CameraAccessDisable
> Warning:          Could not resolve keysym XF86CameraAccessToggle
> Warning:          Could not resolve keysym XF86NextElement
> Warning:          Could not resolve keysym XF86PreviousElement
> Warning:          Could not resolve keysym XF86AutopilotEngageToggle
> Warning:          Could not resolve keysym XF86MarkWaypoint
> Warning:          Could not resolve keysym XF86Sos
> Warning:          Could not resolve keysym XF86NavChart
> Warning:          Could not resolve keysym XF86FishingChart
> Warning:          Could not resolve keysym XF86SingleRangeRadar
> Warning:          Could not resolve keysym XF86DualRangeRadar
> Warning:          Could not resolve keysym XF86RadarOverlay
> Warning:          Could not resolve keysym XF86TraditionalSonar
> Warning:          Could not resolve keysym XF86ClearvuSonar
> Warning:          Could not resolve keysym XF86SidevuSonar
> Warning:          Could not resolve keysym XF86NavInfo
Errors from xkbcomp are not fatal to the X server
wlserver: [types/wlr_compositor.c:692] New wlr_surface 0x564ad4e47590 (res 0x564ad4e46e80)
wlserver: [xwayland/server.c:273] Xserver is ready
pipewire: stream state changed: connecting
pipewire: stream state changed: paused
pipewire: stream available on node ID: 129
gamescope: ../src/rendervulkan.cpp:3034: bool vulkan_remake_swapchain(): Assertion `bRet' failed.
steam.sh[30168]: Running Steam on fedora 40 64-bit
steam.sh[30168]: STEAM_RUNTIME is enabled automatically
setup.sh[30244]: Steam runtime environment up-to-date!
(EE) failed to read Wayland events: Broken pipe
fish: Job 1, 'VK_LOADER_DEBUG=error,warn,info…' terminated by signal SIGABRT (Abort)
usrtrv@gwyndolin ~/git [SIGABRT]> steam.sh[30168]: Steam client's requirements are satisfied
tid(30322) burning pthread_key_t == 0 so we never use it
[2024-02-14 13:49:54] Startup - updater built Feb 14 2024 00:22:40
[2024-02-14 13:49:54] Startup - Steam Client launched with: '/home/usrtrv/.local/share/Steam/ubuntu12_32/steam' '-bigpicture'
[2024-02-14 13:49:54] Opted in to client beta 'publicbeta' via beta file
You are in the 'publicbeta' client beta.
02/14 13:49:54 Init: Installing breakpad exception handler for appid(steam)/version(1707871101)/tid(30322)
src/steamexe/updateui_xwin.cpp (339) : Could not open connection to X
src/steamexe/updateui_xwin.cpp (339) : Could not open connection to X
02/14 13:49:54 Init: Installing breakpad exception handler for appid(steam)/version(1707871101)/tid(30322)
assert_20240214134954_4.dmp[30332]: Uploading dump (out-of-process)
/tmp/dumps/assert_20240214134954_4.dmp
src/steamexe/updateui_xwin.cpp (1536) : UpdateUI CreateWindow failed
src/steamexe/updateui_xwin.cpp (1536) : UpdateUI CreateWindow failed
src/steamexe/main.cpp (1229) : failed to initialize update status ui, or create initial window
src/steamexe/main.cpp (1229) : failed to initialize update status ui, or create initial window
/usr/bin/zenity: symbol lookup error: /lib64/libappstream.so.5: undefined symbol: curl_url_cleanup
assert_20240214134954_4.dmp[30332]: Finished uploading minidump (out-of-process): success = yes
assert_20240214134954_4.dmp[30332]: response: CrashID=bp-87db5c28-239d-425e-865d-fbb7f2240214
assert_20240214134954_4.dmp[30332]: file ''/tmp/dumps/assert_20240214134954_4.dmp'', upload yes: ''CrashID=bp-87db5c28-239d-425e-865d-fbb7f2240214''
usrtrv commented 7 months ago

Fixed it. I think I had an older HDR vulkan layer installed. I installed the one from https://github.com/Zamundaaa/VK_hdr_layer instead and now it no longer crashes.

JacekJagosz commented 7 months ago

@usrtrv Did you have to rebuild gamescope, or just had to install VK_hdr_layer? Because I do have the newest version of both, and it still crashes. But the gamescope hasn't been build with that library.

misyltoad commented 7 months ago

The HDR layer should no longer be needed with latest Gamescope master