gamescope icon indicating copy to clipboard operation
gamescope copied to clipboard

[NVIDIA] 555 Driver Status

Open Weather-OS opened this issue 1 year ago • 66 comments

Status: Fully broken

Observed Behavior: Crashes instantly

Expected behavior: launch

Log messages:

vulkan: selecting physical device 'NVIDIA GeForce RTX 3060': queue family 2 (general queue family 0)
vulkan: physical device supports DRM format modifiers
wlserver: [backend/headless/backend.c:67] Creating headless backend
xdg_backend: Seat name: 
vulkan: vkGetPhysicalDeviceFormatProperties2 returned zero modifiers for DRM format 0x38344241 (VkResult: 0)
vulkan: vkGetPhysicalDeviceFormatProperties2 returned zero modifiers for DRM format 0x38344258 (VkResult: 0)
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:   AB30 (0x30334241)
vulkan:   XB30 (0x30334258)
vulkan:   AR30 (0x30335241)
vulkan:   XR30 (0x30335258)
wlserver: Running compositor on wayland display 'gamescope-0'
wlserver: [backend/headless/backend.c:17] Starting headless backend
wlserver: [xwayland/server.c:107] Starting Xwayland on :1
wlserver: [types/wlr_compositor.c:771] New wlr_surface 0x56822b7dcf60 (res 0x56822b99c4d0)
wlserver: [xwayland/server.c:272] Xserver is ready
pipewire: stream state changed: connecting
pipewire: stream state changed: paused
pipewire: stream available on node ID: 97
xwm: Embedded, no cursor set. Using left_ptr by default.
vblank: Using timerfd.
(EE) failed to read Wayland events: Broken pipe
Monitored process exited.
Initial process has exited (return code: 134)
All processes have quit
Exit with return code 134

Weather-OS avatar May 21 '24 16:05 Weather-OS

This is worse than driver 550. Gamescope crashes before it even has a chance at initializing.

Weather-OS avatar May 21 '24 16:05 Weather-OS

Mine experience is not the great c5@bh*zx@2!54kKF#&y8also when trying to run steam big picture mode from tty Observed Behavior: Crashes instantly Expected behavior: launch

gamescope-session repo: https://github.com/MrDuartePT/deckifier/tree/kde

gamescope command: /usr/bin/gamescope -e --xwayland-count 2 -O *,eDP-1 --default-touch-mode 4 --hide-cursor-delay 3000 --fade-out-duration 200 -R /run/user/1000/gamescope.bg228Us/startup.socket -T /run/user/1000/gamescope.bg228Us/stats.pipe -- steam -gamepadui -steamos3 -steampal -steamdeck

gamescope logs:

ATTENTION: default value of option vk_xwayland_wait_ready overridden by environment.
ATTENTION: default value of option vk_xwayland_wait_ready overridden by environment.
DRM kernel driver 'nvidia-drm' in use. NVK requires nouveau.
vulkan: selecting physical device 'NVIDIA GeForce RTX 3070 Laptop GPU': queue family 2 (general queue family 0)
vulkan: physical device supports DRM format modifiers
wlserver: [backend/headless/backend.c:67] Creating headless backend
wlserver: [libseat] [libseat/backend/seatd.c:64] Could not connect to socket /run/seatd.sock: No such file or directory
wlserver: [libseat] [libseat/libseat.c:76] Backend 'seatd' failed to open seat, skipping
wlserver: [libseat] [libseat/libseat.c:73] Seat opened with backend 'logind'
wlserver: [backend/session/session.c:108] Successfully loaded libseat session
drm: opening DRM node '/dev/dri/card0'
drm: Connector eDP-1 -> AUO -
drm: [colorimetry]: EDID with colorimetry detected. Using it
drm: [colorimetry]: r 0.639648 0.330078
drm: [colorimetry]: g 0.299805 0.599609
drm: [colorimetry]: b 0.150391 0.059570
drm: [colorimetry]: w 0.313477 0.329102
drm: Connector eDP-1 -> AUO -
drm: [colorimetry]: EDID with colorimetry detected. Using it
drm: [colorimetry]: r 0.639648 0.330078
drm: [colorimetry]: g 0.299805 0.599609
drm: [colorimetry]: b 0.150391 0.059570
drm: [colorimetry]: w 0.313477 0.329102
drm: Connectors:
drm:   eDP-1 (connected)
drm:   HDMI-A-1 (disconnected)
drm:   DP-2 (disconnected)
drm:   DP-1 (disconnected)
drm: selecting connector eDP-1
drm: selecting mode 1920x1080@165Hz
vulkan: vkGetPhysicalDeviceFormatProperties2 returned zero modifiers for DRM format 0x38344241 (VkResult: 0)
vulkan: vkGetPhysicalDeviceFormatProperties2 returned zero modifiers for DRM format 0x38344258 (VkResult: 0)
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:   AB30 (0x30334241)
vulkan:   XB30 (0x30334258)
wlserver: Using explicit sync when available
wlserver: Running compositor on wayland display 'gamescope-0'
wlserver: [backend/headless/backend.c:17] Starting headless backend
wlserver: [backend/libinput/backend.c:88] Starting libinput backend
wlserver: [backend/libinput/events.c:69] Adding Power Button [0:1]
wlserver: [backend/libinput/events.c:69] Adding Video Bus [0:6]
wlserver: [backend/libinput/events.c:69] Adding Video Bus [0:6]
wlserver: [backend/libinput/events.c:69] Adding Power Button [0:1]
wlserver: [backend/libinput/events.c:69] Adding Lid Switch [0:5]
wlserver: [backend/libinput/events.c:69] Adding Razer Razer Kraken Tournament Edition  Consumer Control [5426:1312]
wlserver: [backend/libinput/events.c:69] Adding Razer Razer Kraken Tournament Edition  [5426:1312]
wlserver: [backend/libinput/events.c:69] Adding Razer Razer Basilisk [5426:100]
wlserver: [backend/libinput/events.c:69] Adding Razer Razer Basilisk Keyboard [5426:100]
wlserver: [backend/libinput/events.c:69] Adding Razer Razer Basilisk [5426:100]
wlserver: [backend/libinput/events.c:69] Adding ITE Tech. Inc. ITE Device(8910) Keyboard [1165:49409]
wlserver: [backend/libinput/events.c:69] Adding ITE Tech. Inc. ITE Device(8910) Wireless Radio Control [1165:49409]
wlserver: [backend/libinput/events.c:69] Adding Ideapad extra buttons [0:0]
wlserver: [backend/libinput/events.c:69] Adding ELAN06FA:00 04F3:31DD Mouse [1267:12765]
wlserver: [backend/libinput/events.c:69] Adding ELAN06FA:00 04F3:31DD Touchpad [1267:12765]
wlserver: [backend/libinput/events.c:69] Adding AT Translated Set 2 keyboard [1:1]
wlserver: [backend/libinput/backend.c:127] libinput successfully initialized
wlserver: Successfully initialized libei for input emulation!
wlserver: [util/env.c:9] Loading WLR_NO_HARDWARE_CURSORS option: 1
wlserver: [types/output/output.c:370] WLR_NO_HARDWARE_CURSORS set, forcing software cursors
wlserver: [util/env.c:9] Loading WLR_NO_HARDWARE_CURSORS option: 1
wlserver: [types/output/output.c:370] WLR_NO_HARDWARE_CURSORS set, forcing software cursors
wlserver: [xwayland/server.c:107] Starting Xwayland on :0
wlserver: [xwayland/server.c:107] Starting Xwayland on :1
wlserver: [types/wlr_compositor.c:771] New wlr_surface 0x55efd6719130 (res 0x55efd6a52e10)
wlserver: [types/wlr_compositor.c:771] New wlr_surface 0x55efd671da20 (res 0x55efd6a4b550)
wlserver: [xwayland/server.c:272] Xserver is ready
wlserver: [xwayland/server.c:272] Xserver is ready
pipewire: stream state changed: connecting
pipewire: stream state changed: paused
pipewire: stream available on node ID: 83
xwm: Embedded, no cursor set. Using left_ptr by default.
xwm: Embedded, no cursor set. Using left_ptr by default.
vblank: Using timerfd.
wlserver: Updating mode for xwayland server #0: 1920x1080@165
pipewire: renegotiating stream params (size: 1920x1080)
wlserver: [types/wlr_compositor.c:771] New wlr_surface 0x55efd6685940 (res 0x55efd69934e0)
xwm: Rejecting WM_CHANGE_STATE to ICONIC for window 0x400007
wlserver: [types/wlr_compositor.c:771] New wlr_surface 0x55efd6684980 (res 0x55efd6a05280)
xwm: got the same buffer committed twice, ignoring.
drmModeAtomicCommit: Operation not permitted
xwm: We failed our modeset and have no mode to fall back to! (Initial modeset failed?): Operation not permitted
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Unsupported maximum keycode 708, clipping.
>                   X11 cannot support keycodes above 255.
> Warning:          Could not resolve keysym XF86KbdInputAssistPrevgrou
> Warning:          Could not resolve keysym XF86KbdInputAssistNextgrou
Errors from xkbcomp are not fatal to the X server
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Unsupported maximum keycode 708, clipping.
>                   X11 cannot support keycodes above 255.
> Warning:          Could not resolve keysym XF86KbdInputAssistPrevgrou
> Warning:          Could not resolve keysym XF86KbdInputAssistNextgrou
Errors from xkbcomp are not fatal to the X server
(EE) failed to read Wayland events: Broken pipe
(EE) failed to write to Xwayland fd: Broken pipe

Edit: Nested seems to work fine Note: Also should matter for now since vulkan protocol for explict sync will only release in nvidia 560 driver

MrDuartePT avatar May 21 '24 17:05 MrDuartePT

Using gamescope nested mode in KDE plasma 6.0.4 with Kwin 6.0.4.1 patched with explict sync support works fine.

logs:

user@Gentoo ~ $ gamescope -- mangohud vkcube
ATTENTION: default value of option vk_khr_present_wait overridden by environment.
ATTENTION: default value of option vk_khr_present_wait overridden by environment.
DRM kernel driver 'nvidia-drm' in use. NVK requires nouveau.
vulkan: selecting physical device 'NVIDIA GeForce RTX 3070 Laptop GPU': queue family 2 (general queue family 0)
vulkan: physical device supports DRM format modifiers
wlserver: [backend/headless/backend.c:67] Creating headless backend
xdg_backend: Seat name:
vulkan: vkGetPhysicalDeviceFormatProperties2 returned zero modifiers for DRM format 0x38344241 (VkResult: 0)
vulkan: vkGetPhysicalDeviceFormatProperties2 returned zero modifiers for DRM format 0x38344258 (VkResult: 0)
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:   AB30 (0x30334241)
vulkan:   XB30 (0x30334258)
vulkan:   AR30 (0x30335241)
vulkan:   XR30 (0x30335258)
wlserver: Running compositor on wayland display 'gamescope-0'
wlserver: [backend/headless/backend.c:17] Starting headless backend
wlserver: Successfully initialized libei for input emulation!
wlserver: [util/env.c:9] Loading WLR_NO_HARDWARE_CURSORS option: 1
wlserver: [types/output/output.c:370] WLR_NO_HARDWARE_CURSORS set, forcing software cursors
wlserver: [xwayland/server.c:107] Starting Xwayland on :1
wlserver: [types/wlr_compositor.c:771] New wlr_surface 0x55cb548b4860 (res 0x55cb55088ea0)
wlserver: [xwayland/server.c:272] Xserver is ready
pipewire: stream state changed: connecting
pipewire: stream state changed: paused
pipewire: stream available on node ID: 95
xwm: Embedded, no cursor set. Using left_ptr by default.
vblank: Using timerfd.
xdg_backend: PreferredMetadata: Red: 0.64 0.33, Green: 0.3 0.6, Blue: 0.15 0.06, White: 0.3127 0.329, Max Luminance: 100 nits, Min Luminance: 0 nits, Max Full Frame Luminance: 100 nits
josh edid: Patching res 800x1280 -> 1280x720
pipewire: renegotiating stream params (size: 1280x720)
ATTENTION: default value of option vk_khr_present_wait overridden by environment.
ATTENTION: default value of option vk_khr_present_wait overridden by environment.
DRM kernel driver 'nvidia-drm' in use. NVK requires nouveau.
[2024-05-21 18:31:22.950] [MANGOHUD] [error] [overlay_params.cpp:1003] Failed to read presets file: '/home/mrduarte/.config/MangoHud/presets.conf'
Selected GPU 0: NVIDIA GeForce RTX 3070 Laptop GPU, type: DiscreteGpu
[Gamescope WSI] Creating Gamescope surface: xid: 0x400000
[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL.
wlserver: [types/wlr_compositor.c:771] New wlr_surface 0x55cb5505fc90 (res 0x55cb5508fa50)
[Gamescope WSI] Made gamescope surface for xid: 0x400000
[Gamescope WSI] Surface state:
  steam app id:                  0
  window xid:                    0x400000
  wayland surface res id:        5
  layer client flags:            0x0
  server hdr output enabled:     false
  hdr formats exposed to client: false
[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1.
wlserver: [types/wlr_compositor.c:771] New wlr_surface 0x55cb5505d150 (res 0x55cb55090470)
xwm: got the same buffer committed twice, ignoring.
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Unsupported maximum keycode 708, clipping.
>                   X11 cannot support keycodes above 255.
> Warning:          Could not resolve keysym XF86KbdInputAssistPrevgrou
> Warning:          Could not resolve keysym XF86KbdInputAssistNextgrou
Errors from xkbcomp are not fatal to the X server
xdg_backend: Changed refresh to: 165.010hz
[Gamescope WSI] Creating swapchain for xid: 0x400000 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: true
[Gamescope WSI] Created swapchain for xid: 0x400000 - imageCount: 3
[Gamescope WSI] Swapchain recieved new refresh cycle: 6.06ms

MrDuartePT avatar May 21 '24 17:05 MrDuartePT

Plasma 6.0.4-1 with kwin patched with explicit sync support, from the kwin-explicit-sync AUR package, doesn't work. Same thing happens without the patch.

~ % gamescope -- vkcube
No CAP_SYS_NICE, falling back to regular-priority compute and threads.
Performance will be affected.
vulkan: selecting physical device 'NVIDIA GeForce GTX 1060 6GB': queue family 2 (general queue family 0)
vulkan: physical device supports DRM format modifiers
wlserver: [backend/headless/backend.c:67] Creating headless backend
xdg_backend: Seat name: 
vulkan: vkGetPhysicalDeviceFormatProperties2 returned zero modifiers for DRM format 0x38344241 (VkResult: 0)
vulkan: vkGetPhysicalDeviceFormatProperties2 returned zero modifiers for DRM format 0x38344258 (VkResult: 0)
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:   AB30 (0x30334241)
vulkan:   XB30 (0x30334258)
vulkan:   AR30 (0x30335241)
vulkan:   XR30 (0x30335258)
wlserver: Running compositor on wayland display 'gamescope-0'
wlserver: [backend/headless/backend.c:17] Starting headless backend
wlserver: Successfully initialized libei for input emulation!
wlserver: [xwayland/sockets.c:64] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use
wlserver: [xwayland/server.c:107] Starting Xwayland on :2
wlserver: [types/wlr_compositor.c:771] New wlr_surface 0x5ff1a4081520 (res 0x5ff1a3efcf60)
wlserver: [xwayland/server.c:272] Xserver is ready
pipewire: stream state changed: connecting
pipewire: stream state changed: paused
pipewire: stream available on node ID: 98
xwm: Embedded, no cursor set. Using left_ptr by default.
vblank: Using timerfd.
xdg_backend: PreferredMetadata: Red: 0.64 0.33, Green: 0.3 0.6, Blue: 0.15 0.06, White: 0.3127 0.329, Max Luminance: 100 nits, Min Luminance: 0 nits, Max Full Frame Luminance: 100 nits
josh edid: Patching res 800x1280 -> 1280x720
xwm: execvp failed: No such file or directory
gamescope: children shut down!
pipewire: renegotiating stream params (size: 1280x720)
(EE) failed to read Wayland events: Broken pipe
~ % 

mattys1 avatar May 23 '24 17:05 mattys1

xwm: execvp failed: No such file or directory this means you don't have vkcube on your system

misyltoad avatar May 23 '24 17:05 misyltoad

drmModeAtomicCommit: Operation not permitted

Sounds like https://github.com/NVIDIA/open-gpu-kernel-modules/issues/622

mahkoh avatar May 23 '24 22:05 mahkoh

drmModeAtomicCommit: Operation not permitted

Sounds like NVIDIA/open-gpu-kernel-modules#622

If nvidia provides a PR for the fix I might try patch kernel-open on my machine to see if solve it. But seems to be that the problem

MrDuartePT avatar May 23 '24 22:05 MrDuartePT

Sorry that we missed this in our testing prior to release. We checked internally to see why, and our testing team was using a gamescope build from before this use of explicit sync in DRM-KMS was added, so we didn't notice the issue. This is indeed due to https://github.com/NVIDIA/open-gpu-kernel-modules/issues/622, which is not fixed in the 555 series drivers. The fix for that issue will arrive in the 560 series.

In the meantime, I've pushed this work-around: https://github.com/ValveSoftware/gamescope/pull/1330

Give it a try and let us know if you run into any other issues. Note this shouldn't actually result in any negative side effects on NVIDIA proprietary drivers, and it should be a no-op on other drivers. Gamescope only uses explicit sync to disable implicit sync. It already manually waits for rendering to complete before presenting its buffers, and the NVIDIA driver doesn't support implicit synchronization of DRM-KMS presentation, so there's nothing to disable.

cubanismo avatar May 23 '24 22:05 cubanismo

#1330 makes it work now but with accelerated web views on this happens Screenshot from 2024-05-23 20-54-40

ryzendew avatar May 23 '24 23:05 ryzendew

another issue when this menu is open the mouse vanishes image

ryzendew avatar May 23 '24 23:05 ryzendew

In the meantime, I've pushed this work-around: #1330

~~For some reason I not seem to get it to compile even when using the latest commit of libliftoff:~~

FAILED: src/gamescope.p/drm.cpp.o
g++ -Isrc/gamescope.p -Isrc -I../gamescope-3.14.17/src -I../gamescope-3.14.17/src/reshade/source -I../gamescope-3.14.17/src/reshade/include -I../gamescope-3.14.17/thirdparty/SPIRV-Headers/include/spirv/unified1 -Isubprojects/wlroots/include -I../gamescope-3.14.17/subprojects/wlroots/include -Iprotocol -I/usr/lib64/libffi/include -I/usr/include/libdrm -I/usr/include/SDL2 -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/pipewire-0.3 -I/usr/include/spa-0.2 -I/usr/include/stb -I/usr/include/libdecor-0 -I/usr/include/libei-1.0 -flto=auto -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=c++20 -DWLR_USE_UNSTABLE -Wno-unused-parameter -Wno-missing-field-initializers -Wno-invalid-offsetof -Wno-unused-const-variable -Wno-volatile -Wno-ignored-qualifiers -Wno-missing-braces -ffast-math -DHAVE_PIPEWIRE=1 -DHAVE_OPENVR=0 '-DHWDATA_PNP_IDS="//usr/share/hwdata/pnp.ids"' -march=native -O3 -pipe -fdiagnostics-color=always -ftree-vectorize -fno-semantic-interposition -DAVIF_DLL -D_REENTRANT -pthread -DHAVE_DRM=1 -DHAVE_SDL2=1 -DHAVE_AVIF=1 -DHAVE_LIBCAP=1 -DHAVE_LIBEIS=1 -MD -MQ src/gamescope.p/drm.cpp.o -MF src/gamescope.p/drm.cpp.o.d -o src/gamescope.p/drm.cpp.o -c ../gamescope-3.14.17/src/drm.cpp
../gamescope-3.14.17/src/drm.cpp: In function ‘int drm_prepare_liftoff(drm_t*, const FrameInfo_t*, bool)’:
../gamescope-3.14.17/src/drm.cpp:2502:84: error: ‘lo_options’ was not declared in this scope; did you mean ‘option’?
 2502 |                 ret = liftoff_output_apply( drm->lo_output, drm->req, drm->flags, &lo_options );
      |                                                                                    ^~~~~~~~~~
      |                                                                                    option

Outdated

See comment: https://github.com/ValveSoftware/gamescope/issues/1320#issuecomment-2128265761

MrDuartePT avatar May 24 '24 00:05 MrDuartePT

For some reason I not seem to get it to compile even when using the latest commit of libliftoff:

@MrDuartePT distro? built fine for me with my usual .spec on Fedora

matte-schwartz avatar May 24 '24 00:05 matte-schwartz

I on gentoo using the gentoo ebuild I updated libliftoff to the latest commit and now I getting this error on wlroots.

FAILED: subprojects/wlroots/libwlroots.a.p/backend_drm_libliftoff.c.o
gcc -Isubprojects/wlroots/libwlroots.a.p -Isubprojects/wlroots -I../gamescope-3.14.18/subprojects/wlroots -Isubprojects/wlroots/include -I../gamescope-3.14.18/subprojects/wlroots/include -Isubprojects/wlroots/protocol -Isubprojects/wlroots/render/gles2/shaders -Isubprojects/wlroots/render/vulkan/shaders -Isubprojects/wlroots/backend/drm -I/usr/lib64/libffi/include -I/usr/include/libdrm -I/usr/include/pixman-1 -flto=auto -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -D_POSIX_C_SOURCE=200809L -DWLR_USE_UNSTABLE -DWLR_LITTLE_ENDIAN=1 -DWLR_BIG_ENDIAN=0 -Wundef -Wlogical-op -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wstrict-prototypes -Wimplicit-fallthrough=2 -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wmissing-prototypes -Walloca -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -fmacro-prefix-map=../gamescope-3.14.18/subprojects/wlroots/= -march=native -O3 -pipe -fdiagnostics-color=always -ftree-vectorize -fno-semantic-interposition -fPIC -MD -MQ subprojects/wlroots/libwlroots.a.p/backend_drm_libliftoff.c.o -MF subprojects/wlroots/libwlroots.a.p/backend_drm_libliftoff.c.o.d -o subprojects/wlroots/libwlroots.a.p/backend_drm_libliftoff.c.o -c ../gamescope-3.14.18/subprojects/wlroots/backend/drm/libliftoff.c
../gamescope-3.14.18/subprojects/wlroots/backend/drm/libliftoff.c: In function ‘commit’:
../gamescope-3.14.18/subprojects/wlroots/backend/drm/libliftoff.c:410:27: error: too few arguments to function ‘liftoff_output_apply’
  410 |                 int ret = liftoff_output_apply(crtc->liftoff, req, flags);
      |                           ^~~~~~~~~~~~~~~~~~~~
In file included from ../gamescope-3.14.18/subprojects/wlroots/backend/drm/libliftoff.c:2:
/usr/include/libliftoff.h:85:1: note: declared here
   85 | liftoff_output_apply(struct liftoff_output *output, drmModeAtomicReq *req,
      | ^~~~~~~~~~~~~~~~~~~~

Strange is that 3.14.17 install just fine

Files of libliftoff:

 * Searching for libliftoff ...
* Contents of dev-libs/libliftoff-9999:
/usr
/usr/include
/usr/include/libliftoff.h
/usr/lib64
/usr/lib64/libliftoff.so -> libliftoff.so.0
/usr/lib64/libliftoff.so.0 -> libliftoff.so.0.5.0
/usr/lib64/libliftoff.so.0.5.0
/usr/lib64/pkgconfig
/usr/lib64/pkgconfig/libliftoff.pc
/usr/share
/usr/share/doc
/usr/share/doc/libliftoff-9999
/usr/share/doc/libliftoff-9999/README.md.bz2

MrDuartePT avatar May 24 '24 00:05 MrDuartePT

I'm not sure how Gentoo does their build but I'd recommend forcing fallback for wlroots,vkroots,libliftoff as Valve does in their current CI and see if that works.

matte-schwartz avatar May 24 '24 01:05 matte-schwartz

I'm not sure how Gentoo does their build but I'd recommend forcing fallback for wlroots,vkroots,libliftoff as Valve does in their current CI and see if that works.

wlroots,vkroots will not be necessary because is using the right version only for libliftoff gonna use the fallback, but very strange giving error since the 9999 version basically is using the same commit as valve (9999 is basically the git version)

MrDuartePT avatar May 24 '24 08:05 MrDuartePT

I'm not sure how Gentoo does their build but I'd recommend forcing fallback for wlroots,vkroots,libliftoff as Valve does in their current CI and see if that works.

wlroots,vkroots will not be necessary because is using the right version only for libliftoff gonna use the fallback, but very strange giving error since the 9999 version basically is using the same commit as valve (9999 is basically the git version)

Even after fallblack I get the same error, full build log, I was expecting to get this error since the libliftoff version was the same: gamescope-build.log gamescope-3.14.18.ebuild.txt

Note the txt is just to fool github, think the ebuild as sh file

Edit: get to compile directaly from source I need to give a look at vkroots, maybe is outdaded and giving this problem

MrDuartePT avatar May 24 '24 10:05 MrDuartePT

@cubanismo @Joshua-Ashton can confirm it work from tty: https://github.com/ValveSoftware/gamescope/assets/68701049/396911c4-e359-4805-976b-629a2ccad53f

And the tearing is also solve on nvidia

Sorry for all the problems why compiling gonna solve the issue on gentoo

For people are interesting on how I get the deck ui working is the deckfier repo on my GitHub

MrDuartePT avatar May 24 '24 11:05 MrDuartePT

xwm: execvp failed: No such file or directory this means you don't have vkcube on your system

You're right, I'm stupid. Gamescope seems to work fine after downloading vkcube.

mattys1 avatar May 24 '24 11:05 mattys1

@ryzendew, I experienced the same problem with the menu on previous versions of the driver.

Algorithm0 avatar May 24 '24 14:05 Algorithm0

Replying to https://github.com/ValveSoftware/gamescope/issues/1320#issuecomment-2129251820

Found the problem is when I build wlroots with drm option:

-Dwlroots:backends=drm,libinput

You have any ideia why @Joshua-Ashton, at least dosent seem to be needed for gamescope to work in tty/drm mode

MrDuartePT avatar May 24 '24 14:05 MrDuartePT

Has anyone been running into the same issue as me? I run Fedora and I have not been able to get steam embedded to work for more than 15 seconds. Steam seems to crash whenever it finishes loading and tries to enter the Home Screen. I filed an issue report here: https://github.com/ValveSoftware/steam-for-linux/issues/10916 but I'm pretty lost how people have gotten Gamescope-session to work on their NVIDIA cards while I haven't.

matte-schwartz avatar May 24 '24 15:05 matte-schwartz

@matte-schwartz, Check out my repository. I hope he helps you: https://github.com/Algorithm0/GamescopeSession

git clone https://github.com/Algorithm0/GamescopeSession.git
cd GamescopeSession
git submodule update --init
./config.sh  install

Next, run the video card selection setting for your session:

export-gpu

After this setting, log out. Next, click the gear in the lower left corner (if you are using a gnome), select a Steam session and log in as usual. Of course, you must have the gamescope installed itself.

Algorithm0 avatar May 24 '24 16:05 Algorithm0

Has anyone been running into the same issue as me? I run Fedora and I have not been able to get steam embedded to work for more than 15 seconds. Steam seems to crash whenever it finishes loading and tries to enter the Home Screen. I filed an issue report here: https://github.com/ValveSoftware/steam-for-linux/issues/10916 but I'm pretty lost how people have gotten Gamescope-session to work on their NVIDIA cards while I haven't.

Can try run my script directly from tty: https://github.com/MrDuartePT/deckifier/blob/kde/rootfs/usr/share/gamescope-session/gamescope-session-script

If this what I use to run steam big picture on tty

MrDuartePT avatar May 24 '24 16:05 MrDuartePT

thanks for the advice everyone, already tried all of that unfortunately. I've got gamescope-session on several rigs (AMD) that work perfectly so I tried to follow the same process. i can even trigger a crash of steam with gamescope -e -- steam on desktop. seems like a potential nouveau configuration issue on my end that I'll work on sorting out.

BRefreshApplicationsInLibrary 1: 0ms
DRM kernel driver 'nvidia-drm' in use. NVK requires nouveau.
CDesktopCapturePipeWire: Opening DRM render node /dev/dri/renderD128
free(): double free detected in tcache 2
crash_20240524101428_32.dmp[8434]: Uploading dump (out-of-process)
/tmp/dumps/crash_20240524101428_32.dmp
crash_20240524101428_32.dmp[8434]: Finished uploading minidump (out-of-process): success = yes
crash_20240524101428_32.dmp[8434]: response: CrashID=bp-a42c3098-1991-4150-9ff7-9d5dc2240524
crash_20240524101428_32.dmp[8434]: file ''/tmp/dumps/crash_20240524101428_32.dmp'', upload yes: ''CrashID=bp-a42c3098-1991-4150-9ff7-9d5dc2240524''
/home/matt/.local/share/Steam/steam.sh: line 813:  7999 Aborted                 (core dumped) "$STEAMROOT/$STEAMEXEPATH" "$@"
(EE) failed to read Wayland events: Broken pipe

matte-schwartz avatar May 24 '24 17:05 matte-schwartz

Strange because on my machine is working fine as you can see here: https://github.com/ValveSoftware/gamescope/assets/68701049/396911c4-e359-4805-976b-629a2ccad53f

MrDuartePT avatar May 24 '24 17:05 MrDuartePT

From what I can tell it's my Steam client causing issues and not Gamescope... very confusing. I'm going to see if anything changes if I uninstall steam and install rpmfusion steam instead of the version I've been using, our own RPM package for Nobara 39 (Fedora) even though they should be equivalent.

matte-schwartz avatar May 24 '24 17:05 matte-schwartz

I've been testing this for the past couple days now, particularly embedded gamescope, and for the most part things seem to be working now compared to 545 and earlier. The main issues I still notice particularly with Steam and Gamescope are:

  • https://github.com/ValveSoftware/gamescope/issues/1320#issuecomment-2128243714 this exact same menu corruption that ryzendew noted in both Big Picture Mode and Gamescope-session embedded steam

  • If I enable HDR from gamescope-session using the toggle, the session becomes extremely corrupted and flashes heavily (please note, there are strobing light patterns in this short video showcasing it):

https://github.com/ValveSoftware/gamescope/assets/136293710/49cc57d7-5754-4930-b53f-13e6b45c7731

this same strobing is also present on my 4070 laptop with an internal HDR display, so it does not seem exclusive to external connections. the strobing seems to stop temporarily whenever gamescope stops compositing, like when my cursor was not moving and the menu was static at the very end of the clip.

matte-schwartz avatar May 25 '24 19:05 matte-schwartz

It disappear if you open a game? I notice that some bugs on the Steam big picture don't happen when gaming.

MrDuartePT avatar May 25 '24 22:05 MrDuartePT

No, happens in-game for me too along with swapchain errors: IMG_1440

gamescope-session.log has a lot of xwm: got the same buffer committed twice, ignoring. and also a drmModeAtomicCommit: Operation not permitted. the only time i've seen these xwm errors spam like this and that drmModeAtomicCommit is if I use my display with HDR enabled. I'm going to dig deeper to see if i can figure this out.

matte-schwartz avatar May 25 '24 22:05 matte-schwartz

Well I didn't test HDR maybe is a problem only with that. Because without HDR everthing works fine.

The only problem I have, was the fps in the Steam big picture are a bit low. But in game was fine.

Also the two menus of the ui are a very slow but it kinda usable since in game everthing work ok (20 fps main windows, 10 to 15 in the two submenus)

MrDuartePT avatar May 25 '24 22:05 MrDuartePT