Open Weather-OS opened 6 months ago
This is worse than driver 550. Gamescope crashes before it even has a chance at initializing.
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
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
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
~ %
xwm: execvp failed: No such file or directory
this means you don't have vkcube on your system
drmModeAtomicCommit: Operation not permitted
Sounds like https://github.com/NVIDIA/open-gpu-kernel-modules/issues/622
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
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.
another issue when this menu is open the mouse vanishes
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
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
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
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.
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)
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 forlibliftoff
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
@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
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.
@ryzendew, I experienced the same problem with the menu on previous versions of the driver.
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
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, 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.
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
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
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
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.
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.
It disappear if you open a game? I notice that some bugs on the Steam big picture don't happen when gaming.
No, happens in-game for me too along with swapchain errors:
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.
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)
Well I didn't test HDR maybe is a problem only with that. Because without HDR everthing works fine.
Yes I believe it's only HDR with the issue I posted the video of.
The only problem I have, was the fps in the Steam big picture are a bit low. But in game was fine.
Make sure Gamescope is actually using your nvidia.json ICD file, I found mine seemed to be trying to use LLVMpipe or my iGPU even though it was disabled in the BIOS. VK_DRIVER_FILES=/usr/share/vulkan/icd.d/nvidia.json
(or whatever the exact name is) and then the rest of your Gamescope command follows, and see if your menus are any better. Mine render at a stable 175hz, even though they still have the visual corruption I noted.
You might be able to achieve this with a Gamescope launch option but I haven't had the time to check for myself.
after diffing my logs with no HDR and no flashing screen vs logs with HDR enabled and flashing screen like my earlier video.
the main difference seems to be:
drmModeAtomicCommit: Permission denied
is included several times in my bad gamescope log that has HDR enabled, while no such messages appear in my good gamescope log.
I've tested both an internal laptop display (4070 mobile) with gamescope-session and export STEAM_GAMESCOPE_FORCE_HDR_DEFAULT=1
, and I've also tested my desktop NVIDIA rig (4090) with an HDR external monitor and using steam's HDR built-in toggle for external panels. Both have this corruption issue, leading me to believe it's HDR specifically that's an issue.
@cubanismo I'm using gamescope built from master with your IN_FENCE_FD workaround merged. Is it possible this workaround isn't applying properly to HDR colorspace? Or maybe something different triggers this specific instance of drmModeAtomicCommit: Permission denied
that I'm unaware of.
edit: I see now this is ever so slightly different from the drmModeAtomicCommit: Operation not permitted
that started this. so it seems like a separate, but perhaps related, error after all
Make sure Gamescope is actually using your nvidia.json ICD file, I found mine seemed to be trying to use LLVMpipe or my iGPU even though it was disabled in the BIOS.
VK_DRIVER_FILES=/usr/share/vulkan/icd.d/nvidia.json
(or whatever the exact name is) and then the rest of your Gamescope command follows, and see if your menus are any better. Mine render at a stable 175hz, even though they still have the visual corruption I noted.
After digging more I find out the fps is only bad on the laptop screen even when using the VK_DRIVER_FILES
don't know why that happen but it possible to solve if I bump this ChimeraOS patch, (basically make gamescope think my laptop screen is a external one).
Edit: Seems that bazzite have the patches up to date: https://github.com/ublue-os/bazzite/tree/main/spec_files/gamescope
after diffing my logs with no HDR and no flashing screen vs logs with HDR enabled and flashing screen like my earlier video.
the main difference seems to be:
drmModeAtomicCommit: Permission denied
is included several times in my bad gamescope log that has HDR enabled, while no such messages appear in my good gamescope log.
Co-worker and I tried today, and we weren't able to reproduce this. I see both the permission denied errors are at the end, and just after a session paused message. Naive guess: Is it possible you VT-switched away at some point in this session, but didn't in the non-HDR one?
Co-worker and I tried today, and we weren't able to reproduce this. I see both the permission denied errors are at the end, and just after a session paused message. Naive guess: Is it possible you VT-switched away at some point in this session, but didn't in the non-HDR one?
could certainly have been VT switching but it seemed to happen on fresh boots directly into a gamescope-session as well... I'll circle back to more testing in the near future, especially now that I've solved the mystery of the steam client glitching out: https://github.com/ValveSoftware/steam-for-linux/issues/10537#issuecomment-2141092415
Confirming that on nvidia 550 released the other day, a GTX 1080 running gamescope steam with steampal mode directly as a session has the mangled Steam UI and compositing black screen issues, but games seem to run perfectly fine as long as they continuously refresh. Any keyboard or controller interaction outside of a game seems to trigger the black screen refresh problem. Steam UI flickers a lot.
The refresh is probably the key issue for the screen going black; if explicit sync is required for gamescope drm to work correctly here, it's not going to be available until the 555 beta driver (which I guess is delayed). Web render target corruption, maybe a Steam bug?
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)
I had this until I turned on GPU accelerated webviews, which for some reason defaulted to "off". Steam runs at full speed with it on.
Passing --force-composition
to gamescope fixes the screen going black, but does not fix the steam UI corruption and flickering. I suspect that is a Steam client bug and not anything to do with Gamescope, because I see similar issues under Gnome Mutter Wayland.
The --force-composition trick only works if steam is launched only with -gamepadui and not -steampal, -steamos3, or -steamdeck, which I assume at least one does stuff with the gamescope integration to override that.
The refresh is probably the key issue for the screen going black; if explicit sync is required for gamescope drm to work correctly here, it's not going to be available until the 555 beta driver (which I guess is delayed). Web render target corruption, maybe a Steam bug?
The corruption will be fix in the future driver probably 560 when both Vulkan explicit sync protocol and ID_FENCE is implemented, but this is just an assumption, I can be wrong.
About 555 drivers it already release one week ago: https://www.nvidia.com/download/driverResults.aspx/224751/en-us/
https://github.com/NVIDIA/open-gpu-kernel-modules/tree/555.42.02
The corruption will be fix in the future driver probably 560 when both Vulkan explicit sync protocol and ID_FENCE is implemented, but this is just an assumption, I can be wrong.
IN_FENCE_FD support won't affect Gamescope's usage, as of the latest gamescope code. It's very, very unlikely Vulkan explicit sync will affect anything you're running in gamescope either, unless you're using a native Linux Vulkan app with direct Wayland support or you've forced WINE to use its very early Wayland backend. Sync issues for Gamescope purposes should all be resolved in 555 baring bugs.
The corruption will be fix in the future driver probably 560 when both Vulkan explicit sync protocol and ID_FENCE is implemented, but this is just an assumption, I can be wrong.
IN_FENCE_FD support won't affect Gamescope's usage, as of the latest gamescope code. It's very, very unlikely Vulkan explicit sync will affect anything you're running in gamescope either, unless you're using a native Linux Vulkan app with direct Wayland support or you've forced WINE to use its very early Wayland backend. Sync issues for Gamescope purposes should all be resolved in 555 baring bugs.
Well I notice the cs2 crash Steam big picture after open when gamescope is run from tty, since is a Vulkan Linux native game might have some improvement with the protocol (if valve decides to enable Wayland support, for now the cs2.sh force SDL to use X11 if I not wrong, can be edited but might trigger VAC and disable online), let see if get solve after 555 stable. Thanks for correcting me tho.
About 555 drivers it already release one week ago...
I got a chance to test them and did not see any discernible sync behavior changes between 550 with gamescope master and 555, with all the config variations. I'm guessing all my issues are stemming from Steam under Wayland with gamescope integration at this point, not gamescope. So I think
Sync issues for Gamescope purposes should all be resolved in 555 baring bugs.
is correct, assuming gamescope drm is compositing a well-behaving application, which Steam with gamescope integration (-steampal, etc) does not appear to be under NVIDIA. I do not experience any of the crashing that OP mentions.
*All tested on proprietary modules, not the OpenGPU ones. I don't believe Pascal is supported with their open modules.
is correct, assuming gamescope drm is compositing a well-behaving application, which Steam with gamescope integration (-steampal, etc) does not appear to be under NVIDIA. I do not experience any of the crashing that OP mentions.
*All tested on proprietary modules, not the OpenGPU ones. I don't believe Pascal is supported with their open modules.
The only think I notice is low refresh rate (stuck between 15-25fps) in the steam big picture ui itself, but besides that inside games everthink work fine (besides the cs2 crash), but I on the OpenGPU driver.
IN_FENCE_FD support won't affect Gamescope's usage, as of the latest gamescope code. It's very, very unlikely Vulkan explicit sync will affect anything you're running in gamescope either, unless you're using a native Linux Vulkan app with direct Wayland support or you've forced WINE to use its very early Wayland backend. Sync issues for Gamescope purposes should all be resolved in 555 baring bugs.
Interesting, thanks for the additional context here. I've found that right now, if I run nested gamescope (i.e. from my Plasma 6 desktop) with gamescope -e -f -r 144 --hdr-enabled -H 1440 -W 3440 -C 4 --adaptive-sync -- steam -steamdeck -steamos3 -steampal -tenfoot
I get fantastic looking HDR without any of the flickering in my recorded video.
However, if I attempt to use gamescope -e --hdr-enabled -H 1440 -W 3440 -C 4 --adaptive-sync -- steam -steamdeck -steamos3 -steampal -tenfoot
in an embedded gamescope session (i.e. from TTY or with gamescope-session
), it results in the horrible flickering as previously recorded. This happens with both my normal ultrawide monitor w/ HDR connected via Displayport, and it happens with my 4K TV w/ HDR connected via HDMI. I've tested on vanilla Fedora 39/40, Nobara 40 (a gaming distro for Fedora), and Arch Linux and embedded gamescope has the same flickering in all of them. Without --hdr-enabled
, no flickering is present for me in gamescope-session.
I plan on filing this in the NVIDIA dev forum's 555.42.02 feedback thread just in case anyone is running into similar issues specifically with embedded gamescope/HDR.
Edit: actually, if i force 720p in the display resolution settings of gamescope-session/embedded gamescope, HDR works without flickering. I wonder if maybe HDR metadata is "larger" or different than through kwin? not too sure yet.
I am facing an issue, It crashes my Desktop. I am using KDE 6.1 beta.
gamescope -- vkcube
also tried running with
__NV_PRIME_RENDER_OFFLOAD=1 gamescope -- mangohud vkcube;
Jun 04 12:02:27 syntist-pc kernel: [drm:__nv_drm_gem_nvkms_memory_prime_get_sg_table [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Cannot create sg_table for NvKmsKapiMemory 0x00000000258da6f3
Jun 04 12:02:27 syntist-pc kernel: [drm:__nv_drm_gem_nvkms_memory_prime_get_sg_table [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Cannot create sg_table for NvKmsKapiMemory 0x00000000a7cc0528
Jun 04 12:02:27 syntist-pc kernel: [drm:__nv_drm_gem_nvkms_memory_prime_get_sg_table [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Cannot create sg_table for NvKmsKapiMemory 0x00000000258da6f3
Jun 04 12:02:27 syntist-pc kernel: [drm:__nv_drm_gem_nvkms_memory_prime_get_sg_table [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Cannot create sg_table for NvKmsKapiMemory 0x00000000258da6f3
Jun 04 12:02:27 syntist-pc kernel: [drm:__nv_drm_gem_nvkms_memory_prime_get_sg_table [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Cannot create sg_table for NvKmsKapiMemory 0x00000000a7cc0528
Jun 04 12:02:27 syntist-pc kernel: [drm:__nv_drm_gem_nvkms_memory_prime_get_sg_table [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Cannot create sg_table for NvKmsKapiMemory 0x00000000258da6f3
❯ fastfetch
.-------------------------: syntist@syntist-pc
.+=========================. ------------------
:++===++==================- :++- OS: CachyOS Linux x86_64
:*++====+++++=============- .==: Host: Precision 5570
-*+++=====+***++==========: Kernel: Linux 6.9.3-2-cachyos-lto
=*++++========------------: Uptime: 38 mins
=*+++++=====- ... Packages: 1261 (pacman), 28 (flatpak-system), 2 (flatpak-user)
.+*+++++=-===: .=+++=: Shell: zsh 5.9
:++++=====-==: -*****+ Display (SHP1515): 1920x1200 @ 66Hz (as 960x600) [Built-in]
:++========-=. .=+**+. DE: KDE Plasma 6.0.90
.+==========-. . WM: KWin (Wayland)
:+++++++====- .--==-. WM Theme: Breeze
:++==========. :+++++++: Theme: Breeze (Dark) [QT], Breeze-Dark [GTK2], Breeze [GTK3/4]
.-===========. =*****+*+ Icons: breeze-dark [QT], breeze-dark [GTK2/3/4]
.-===========: .+*****+: Font: Noto Sans (10pt) [QT], Noto Sans (10pt) [GTK2/3/4]
-=======++++:::::::::::::::::::::::::-: .---: Cursor: Breeze_Light (24px)
:======++++====+++******************=. Terminal: konsole 24.5.0
:=====+++==========++++++++++++++*- Terminal Font: MesloLGS NF (10pt)
.====++==============++++++++++*- CPU: 12th Gen Intel(R) Core(TM) i7-12800H (20) @ 4.80 GHz
.===+==================+++++++: GPU 1: NVIDIA RTX A1000 Laptop GPU
.-=======================+++: GPU 2: Intel Iris Xe Graphics @ 1.40 GHz [Integrated]
.......................... Memory: 4.38 GiB / 15.30 GiB (29%)
Swap: 0 B / 31.55 GiB (0%)
Disk (/): 209.94 GiB / 237.41 GiB (88%) - xfs
Local IP (wlan0): 10.1.10.170/24 *
Battery: 55% [Discharging]
Locale: en_US.UTF-8
Those errors from the DRM driver shouldn't be fatal. Do you have any info on the actual failure/crash?
I was able to get the output stored into file, so it crashes i still have the log
Gamescope log of crashing desktop: https://paste.cachyos.org/p/2f52da3
and journactl log https://paste.cachyos.org/p/2feddeb
Edited:
When I run with ENABLE_GAMESCOPE_WSI=0 gamescope vkcube
it doesn't crash but The ui is never shown, so it's running in background or something
log: https://paste.cachyos.org/p/9d181c5
Replying to https://github.com/ValveSoftware/gamescope/issues/1320#issuecomment-2146341973
The problem you describe is very close to mine, it seems to me - but in general, all this ends in the fall of the gamescope. also an interesting moment: if I turn on HDR in the steam interface itself, then I see a ugly picture. This picture is all shimmering, does not display some parts of the screen, however, the TV says that the HDR is on and no drop occurs.
I've made progress on my HDR issue. It appears that anything above 2560x1440p@120hz causes the intense flickering I noted in previous clips I posted. It happens across both my ultrawide monitor with DisplayPort and also my HDMI 2.1 port to my 4K TV. Artifacting happens over that resolution/refresh rate for both ports.
At 2560x1440@120hz or less HDR is perfect in Gamescope-session. Should also be noted I'm able to go above that resolution on nested Gamescope in Plasma 6
That's interesting. I'm not a monitor/display expert myself, but I wonder if that is at the limit of some threshhold in bandwidth where things go from single-channel->mutli-channel, switch to some decimated YUV mode, etc.
Hmm, I wish I knew more about this stuff! I've been trying to sift through gamescope code to see if I could find any differentiation between using Plasma 6's HDR with nested gamescope vs using gamescope-session's HDR colorspace and haven't turned anything useful up yet. I'll probably post about this on the Nvidia dev forums as well to see if anyone is experiencing similar issues.
Status: Fully broken
Observed Behavior: Crashes instantly
Expected behavior: launch
Log messages: