ValveSoftware / gamescope

SteamOS session compositing window manager
Other
3.11k stars 208 forks source link

types/wlr_linux_dmabuf_v1.c:526: feedback_compile: Assertion `table_len > 0' failed. #1218

Open demanuPL opened 7 months ago

demanuPL commented 7 months ago

since update to 3.14.2 I'm facing this error every time I running something through gamescope, it crashes immediately. It worked fine with 3.13.16

Here is an example with vkcube:

No CAP_SYS_NICE, falling back to regular-priority compute and threads. Performance will be affected. xdg_backend: Seat name: 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 ATTENTION: default value of option vk_khr_present_wait overridden by environment. ATTENTION: default value of option vk_khr_present_wait overridden by environment. vulkan: selecting physical device 'AMD Radeon RX 570 Series (RADV POLARIS10)': queue family 1 (general queue family 0) vulkan: physical device does not support DRM format modifiers wlserver: [backend/headless/backend.c:67] Creating headless backend vulkan: supported DRM formats for sampling usage: gamescope: types/wlr_linux_dmabuf_v1.c:526: feedback_compile: Assertion `table_len > 0' failed.

denzerdhart commented 7 months ago

I'm getting the same error with polaris card in nested mode, but embedded works fine. Tested 82e3632504bc9252def1a10096942bc032ae544d gamescope: ../gamescope/src/wayland_backend.cpp:1170: virtual void gamescope::CWaylandBackend::GetPreferredOutputFormat(VkFormat, VkFormat) const: Assertion `u8BitFormat != VK_FORMAT_UNDEFINED' failed.

sharkautarch commented 7 months ago

I'm getting the same error with polaris card in nested mode, but embedded works fine. Tested 82e3632 gamescope: ../gamescope/src/wayland_backend.cpp:1170: virtual void gamescope::CWaylandBackend::GetPreferredOutputFormat(VkFormat, VkFormat) const: Assertion `u8BitFormat != VK_FORMAT_UNDEFINED' failed.

Haven't tested this (besides making sure it compiles w/o errors), but see if this branch/fork I made works: https://github.com/sharkautarch/gamescope/tree/format_modifier_issue_fix_attempt

(clone from my fork, and then do git checkout format_modifier_issue_fix_attempt)

demanuPL commented 7 months ago

Replying to https://github.com/ValveSoftware/gamescope/issues/1218#issuecomment-2023243305

I've build it but it has error connecting to wayland:

`No CAP_SYS_NICE, falling back to regular-priority compute and threads.

Performance will be affected.

xdg_backend: libdecor: GTK cannot connect to Wayland compositor`

In DMESG: [ 3454.113709] gamescope[25225]: segfault at 0 ip 00007f66dd383877 sp 00007ffe7231f970 error 4 in libdecor-0.so.0.200.0[7f66dd382000+3000] likely on CPU 5 (core 1, socket 0)

sharkautarch commented 7 months ago

Replying to https://github.com/ValveSoftware/gamescope/issues/1218#issuecomment-2023407169

Ok, I know there was another issue related to gamescope wayland backend having problems w/ libdecor So I rebased my branch to remove all of the libdecor-related stuff So try doing git pull and rebuilding and running gamescope again

demanuPL commented 7 months ago

now testing it with vkcube I'm gettiing the same error as on generic one (I've checked branch and its correct)

./gamescope -- vkcube No CAP_SYS_NICE, falling back to regular-priority compute and threads. Performance will be affected. xdg_backend: Seat name: ATTENTION: default value of option vk_khr_present_wait overridden by environment. ATTENTION: default value of option vk_khr_present_wait overridden by environment. vulkan: selecting physical device 'AMD Radeon RX 570 Series (RADV POLARIS10)': queue family 1 (general queue family 0) vulkan: physical device does not support DRM format modifiers wlserver: [backend/headless/backend.c:67] Creating headless backend vulkan: supported DRM formats for sampling usage: gamescope: types/wlr_linux_dmabuf_v1.c:526: feedback_compile: Assertion `table_len > 0' failed.

sharkautarch commented 7 months ago

Replying to https://github.com/ValveSoftware/gamescope/issues/1218#issuecomment-2024110330

¯_(ツ)_/¯

denzerdhart commented 7 months ago

Replying to #1218 (comment)

¯(ツ)

Tried your branch ./gamescope -- vkcube No CAP_SYS_NICE, falling back to regular-priority compute and threads. Performance will be affected. xdg_backend: Seat name: seat0 ATTENTION: default value of option vk_khr_present_wait overridden by environment. vulkan: selecting physical device 'AMD Radeon RX 560 Series (RADV POLARIS11)': queue family 1 (general queue family 0) vulkan: physical device does not support DRM format modifiers wlserver: [backend/headless/backend.c:67] Creating headless backend 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) gamescope: ../src/wayland_backend.cpp:1021: virtual void gamescope::CWaylandBackend::GetPreferredOutputFormat(VkFormat, VkFormat) const: Assertion `u8BitFormat != VK_FORMAT_UNDEFINED' failed.

misyltoad commented 7 months ago

Your GPU is too old to support modifiers. I need to add a non-modifier fallback.

italoghost commented 6 months ago

I am having the same issue with the 3.14.3 version and the latest git:

gamescope -- glxgears

No CAP_SYS_NICE, falling back to regular-priority compute and threads.
Performance will be affected.
ATTENTION: default value of option vk_khr_present_wait overridden by environment.
vulkan: selecting physical device 'AMD Radeon RX 570 Series (RADV POLARIS10)': queue family 1 (general queue family 0)
vulkan: physical device does not support DRM format modifiers
wlserver: [backend/headless/backend.c:67] Creating headless backend
xdg_backend: Seat name: seat0
vulkan: supported DRM formats for sampling usage:
gamescope: ../gamescope/src/wayland_backend.cpp:1280: virtual void gamescope::CWaylandBackend::GetPreferredOutputFormat(VkFormat*, VkFormat*) const: Assertion `u8BitFormat != VK_FORMAT_UNDEFINED' failed.
Abortado (imagem do núcleo gravada)
ammgws commented 6 months ago

Downgrading to 3.14.2 for now. Bisected to 82e3632504bc9252def1a10096942bc032ae544d

To help people searching to find this issue:

3.14.2:

vulkan: selecting physical device 'AMD Radeon RX 570 Series (RADV POLARIS10)': queue family 1 (general queue family 0)
vulkan: physical device does not support DRM format modifiers
wlserver: [backend/headless/backend.c:67] Creating headless backend
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)

after 82e3632504bc9252def1a10096942bc032ae544d :

vulkan: selecting physical device 'AMD Radeon RX 570 Series (RADV POLARIS10)': queue family 1 (general queue family 0)
vulkan: physical device does not support DRM format modifiers
wlserver: [backend/headless/backend.c:67] Creating headless backend
xdg_backend: Seat name: seat0
vulkan: supported DRM formats for sampling usage:
gamescope: ../gamescope/src/wayland_backend.cpp:1276: virtual void gamescope::CWaylandBackend::GetPreferredOutputFormat(VkFormat*, VkFormat*) const: Assertion `u8BitFormat != VK_FORMAT_UNDEFINED' failed.
fish: Job 1, 'gamescope --nested-width 1920 -…' terminated by signal SIGABRT (Abort)
misyltoad commented 5 months ago

Does latest git work for you?

https://github.com/ValveSoftware/gamescope/commit/4ca3986582d7a45162da9c99e85044a8b9a0fd65 should hopefully fix it.

Martinligabue commented 5 months ago

I cloned the project, did the checkout of that commit and built the binary, but I still get this:

vulkan: selecting physical device 'AMD Radeon RX 480 Graphics (RADV POLARIS10)': queue family 1 (general queuefamily 0)
vulkan: physical device does not support DRM format modifiers
wlserver: [backend/headless/backend.c:67] Creating headless backend
xdg_backend: Seat name:
vulkan: supported DRM formats for sampling usage:
gamescope: types/wlr_linux_dmabuf_v1.c:532: feedback_compile: Assertion `table_len > 0' failed.
fish: Job 1, './build/src/gamescope vkcube' terminated by signal SIGABRT (Abort)
ammgws commented 5 months ago

Does latest git work for you?

4ca3986 should hopefully fix it.

That commit works for me:

>build/src/gamescope vkcube               (4ca39865)|BISECTING|3.9s|22:16:51
No CAP_SYS_NICE, falling back to regular-priority compute and threads.
Performance will be affected.
ATTENTION: default value of option vk_khr_present_wait overridden by environment.
vulkan: selecting physical device 'AMD Radeon RX 570 Series (RADV POLARIS10)': queue family 1 (general queue family 0)
vulkan: physical device does not support DRM format modifiers
wlserver: [backend/headless/backend.c:67] Creating headless backend
xdg_backend: Seat name: seat0
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)
...
Martinligabue commented 5 months ago

I'll attach the entire terminal log, in case I got something wrong during compile or during the switch to that https://github.com/ValveSoftware/gamescope/commit/4ca3986582d7a45162da9c99e85044a8b9a0fd65: gamescope build with branch.txt

denzerdhart commented 5 months ago

Does latest git work for you?

4ca3986 should hopefully fix it.

Thanks! Nested works on my old rx560, tried embedded - didn't work

atamax commented 5 months ago
Archlinux with KDE Plasma Version: 6.0.4
Kernel Version: 6.9.1-2-cachyos (64-bit)
CPU: Intel Xeon E3-1230 V2
Graphics Processor: AMD Radeon RX 470 Graphics

Installed gamescope from AUR via the package gamescope-git which got commit 932a7bb

Still getting this with gamescope vkcube:

vulkan: selecting physical device 'AMD Radeon RX 470 Graphics (RADV POLARIS10)': queue family 1 (general queue family 0)
vulkan: physical device does not support DRM format modifiers
wlserver: [backend/headless/backend.c:67] Creating headless backend
xdg_backend: Seat name: 
vulkan: supported DRM formats for sampling usage:
gamescope: types/wlr_linux_dmabuf_v1.c:532: feedback_compile: Assertion 'table_len > 0' failed.
Aborted (core dumped)

While running it via TTY bash login shell with gamescope vkcube:

vulkan: selecting physical device 'AMD Radeon RX 470 Graphics (RADV POLARIS10)': queue family 1 (general queue family 0)
vulkan: physical device does not support 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 DVI-D-1 -> HWP - HP x20LED
drm: [colorimetry]: EDID with colorimetry detected. Using it
drm: [colorimetry]: r 0.630859 0.348633
drm: [colorimetry]: g 0.340820 0.622070
drm: [colorimetry]: b 0.152344 0.057617
drm: [colorimetry]: w 0.313477 0.329102
drm: Connector DVI-D-1 -> HWP - HP x20LED
drm: [colorimetry]: EDID with colorimetry detected. Using it
drm: [colorimetry]: r 0.630859 0.348633
drm: [colorimetry]: g 0.340820 0.622070
drm: [colorimetry]: b 0.152344 0.057617
drm: [colorimetry]: w 0.313477 0.329102
drm: Connectors:
drm:   DVI-D-1 (connected)
drm:   HDMI-A-2 (disconnected)
drm:   HDMI-A-1 (disconnected)
drm:   DP-2 (disconnected)
drm:   DP-1 (disconnected)
drm: selecting connector DVI-D-1
drm: selecting mode 1600x900@60Hz
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)
drm: drmModeAddFB2 failed: Invalid argument
drm: drmModeAddFB2 failed: Invalid argument
drm: drmModeAddFB2 failed: Invalid argument
drm: drmModeAddFB2 failed: Invalid argument
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 Power Button [0:1]
wlserver: [backend/libinput/events.c:69] Adding TTGK Technology Co.,Ltd CX31993 384Khz HIFI AUDIO Consumer Control [13058:13157]
wlserver: [backend/libinput/events.c:69] Adding USB Gaming Mouse [1241:64607]
wlserver: [backend/libinput/events.c:69] Adding USB Gaming Mouse [1241:64607]
wlserver: [backend/libinput/events.c:69] Adding USB Gaming Mouse Consumer Control [1241:64607]
wlserver: [backend/libinput/events.c:69] Adding SINO WEALTH Keyboard [9610:42]
wlserver: [backend/libinput/events.c:69] Adding SINO WEALTH Keyboard Mouse [9610:42]
wlserver: [backend/libinput/events.c:69] Adding SINO WEALTH Keyboard System Control [9610:42]
wlserver: [backend/libinput/events.c:69] Adding SINO WEALTH Keyboard Consumer Control [9610:42]
wlserver: [backend/libinput/events.c:69] Adding SINO WEALTH Keyboard [9610:42]
wlserver: [backend/libinput/backend.c:127] libinput successfully initialized
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 0x5f721ce1f310 (res 0x5f721d0a4850)
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.
vblank: Using timerfd.
drm: drmModeAddFB2 failed: Invalid argument
drm: drmModeAddFB2 failed: Invalid argument
drm: drmModeAddFB2 failed: Invalid argument
drm: drmModeAddFB2 failed: Invalid argument
pipewire: renegotiating stream params (size: 1600x900)
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.
Selected GPU 0: AMD Radeon RX 470 Graphics (RADV POLARIS10), 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 0x5f721cce8270 (res 0x5f721cfb1570)
wlserver: [types/wlr_compositor.c:771] New wlr_surface 0x5f721cd50410 (res 0x5f721d05bd90)
[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.
drm: drmModeAddFB2 failed: Invalid argument
xwm: got the same buffer committed twice, ignoring.
xwm: We failed our modeset and have no mode to fall back to! (Initial modeset failed?): Invalid argument
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

Downgrading back to 3.14.2 works for me without error.

HanabishiRecca commented 5 months ago

4ca3986582d7a45162da9c99e85044a8b9a0fd65 should hopefully fix it.

Funny enough, even eliminating 82e3632504bc9252def1a10096942bc032ae544d change completely does not fix the issue.

I.e. applying

diff --git a/src/wayland_backend.cpp b/src/wayland_backend.cpp
index c5b33cf..2fcb1ff 100644
--- a/src/wayland_backend.cpp
+++ b/src/wayland_backend.cpp
@@ -1273,22 +1273,8 @@ namespace gamescope

     void CWaylandBackend::GetPreferredOutputFormat( VkFormat *pPrimaryPlaneFormat, VkFormat *pOverlayPlaneFormat ) const
     {
-        VkFormat u8BitFormat = VK_FORMAT_UNDEFINED;
-        if ( SupportsFormat( DRM_FORMAT_ARGB8888 ) )
-            u8BitFormat = VK_FORMAT_B8G8R8A8_UNORM;
-        else if ( SupportsFormat( DRM_FORMAT_ABGR8888 ) )
-            u8BitFormat = VK_FORMAT_R8G8B8A8_UNORM;
-
-        VkFormat u10BitFormat = VK_FORMAT_UNDEFINED;
-        if ( SupportsFormat( DRM_FORMAT_ABGR2101010 ) )
-            u10BitFormat = VK_FORMAT_A2B10G10R10_UNORM_PACK32;
-        else if ( SupportsFormat( DRM_FORMAT_ARGB2101010 ) )
-            u10BitFormat = VK_FORMAT_A2R10G10B10_UNORM_PACK32;
-
-        assert( u8BitFormat != VK_FORMAT_UNDEFINED );
-
-        *pPrimaryPlaneFormat = u10BitFormat != VK_FORMAT_UNDEFINED ? u10BitFormat : u8BitFormat;
-        *pOverlayPlaneFormat = u8BitFormat;
+        *pPrimaryPlaneFormat = VK_FORMAT_A2B10G10R10_UNORM_PACK32;
+        *pOverlayPlaneFormat = VK_FORMAT_B8G8R8A8_UNORM;
     }

     bool CWaylandBackend::ValidPhysicalDevice( VkPhysicalDevice pVkPhysicalDevice ) const

Still produces the same result for me

vulkan: selecting physical device 'AMD Radeon RX 580 Series (RADV POLARIS10)': queue family 1 (general queue family 0)
vulkan: physical device does not support DRM format modifiers
wlserver: [backend/headless/backend.c:67] Creating headless backend
xdg_backend: Seat name: 
vulkan: supported DRM formats for sampling usage:
gamescope: types/wlr_linux_dmabuf_v1.c:532: feedback_compile: Assertion `table_len > 0' failed.
HanabishiRecca commented 5 months ago

Well, ditching the Wayland backed and switching back to SDL backend (as it was in 3.14.2) works for me.

diff --git a/src/main.cpp b/src/main.cpp
index 88c4c7c..972b2ab 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -762,7 +762,7 @@ int main(int argc, char **argv)
    if ( eCurrentBackend == gamescope::GamescopeBackend::Auto )
    {
        if ( g_pOriginalWaylandDisplay != NULL )
-           eCurrentBackend = gamescope::GamescopeBackend::Wayland;
+           eCurrentBackend = gamescope::GamescopeBackend::SDL;
        else if ( g_pOriginalDisplay != NULL )
            eCurrentBackend = gamescope::GamescopeBackend::SDL;
        else

Although, it's a dirty solution. Users should not need to patch the source to do that. We need a CLI option to explicitly set the backend. Something like --backend=auto|drm|sdl|openvr|headless|wayland to represent the enum

https://github.com/ValveSoftware/gamescope/blob/932a7bbae5d6f45259e2306ea56f30b4e78e508c/src/backends.h#L6-L14

Presumably, also deprecate existing --headless and --openvr.

atamax commented 5 months ago

Well, ditching the Wayland backed and switching back to SDL backend (as it was in 3.14.2) works for me.

Worked for me too, here is the output of `gamescope vkcube' after using your patch on the commit 932a7bb:

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.
vulkan: selecting physical device 'AMD Radeon RX 470 Graphics (RADV POLARIS10)': queue family 1 (general queue family 0)
vulkan: physical device does not support DRM format modifiers
wlserver: [backend/headless/backend.c:67] Creating headless backend
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: Using explicit sync when available
wlserver: Running compositor on wayland display 'gamescope-0'
wlserver: [backend/headless/backend.c:17] Starting headless backend
xkbcommon: ERROR: Unrecognized RMLVO variant "qwerty" was ignored
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 0x58c766a11100 (res 0x58c7669ecb90)
wlserver: [xwayland/server.c:272] Xserver is ready
pipewire: stream state changed: connecting
pipewire: stream state changed: paused
pipewire: stream available on node ID: 79
vblank: Using timerfd.
vulkan: Creating Gamescope nested swapchain with format 64 and colorspace 0
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.
ATTENTION: default value of option vk_khr_present_wait overridden by environment.
Selected GPU 0: AMD Radeon RX 470 Graphics (RADV POLARIS10), 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 0x58c7669c4c00 (res 0x58c7669ed640)
[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 0x58c7669c22f0 (res 0x58c7669ed760)
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
[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: 16.67ms
vulkan: Creating Gamescope nested swapchain with format 64 and colorspace 0
pipewire: renegotiating stream params (size: 1600x900)
vulkan: Creating Gamescope nested swapchain with format 64 and colorspace 0
pipewire: renegotiating stream params (size: 1280x720)
gamescope: Received Terminated signal, forwarding to child!
gamescope: Received Terminated signal, attempting shutdown!
gamescope: children shut down!
HanabishiRecca commented 5 months ago

I made a PR with new CLI option. #1321 It makes possible to select the backend on the fly, e.g. set --backend=sdl as a workaround in our case.

demanuPL commented 5 months ago

using --backend=sdl works for me

Martinligabue commented 4 months ago

this is fixed for me too when explicitly setting sdl, it would be nice if backend=auto would detect the card and set it automatically to sdl with these cards

b- commented 4 months ago

this is fixed for me too when explicitly setting sdl, it would be nice if backend=auto would detect the card and set it automatically to sdl with these cards

Something like this, and/or maybe also detecting such an issue and falling back to SDL instead of throwing a segfault. Is that possible?

slynobody commented 1 month ago

are there plans to get the wayland-backend (or drm) on polaris-gpus (without modifiers and without doing the workaround with the sdl-backend)?

misyltoad commented 1 month ago

I do not have a polaris GPU to look into this with. I have tested on other devices without modifiers and forced them off and it seems to work fine, so I don't know what the issue is.

The only thing I can think is that UsesModifiers is returning true when it should not. It might be worth trying to force that off and seeing what changes.

Other than that, it really just needs someone with a Polaris GPU to go and actually debug the issue.

HanabishiRecca commented 1 month ago

it really just needs someone with a Polaris GPU to go and actually debug the issue.

Sure. What exactly we need to debug?

txt231 commented 1 month ago

Had a look at this and it seems like forcing UsesModifiers to return false fixes it.

Seems like CWaylandBackend::Wayland_Modifier gets called 2 times for each format, one with ulModifier as 0xffffffffffffff (DRM_FORMAT_MOD_INVALID) and one as 0. Where the 0 one gets added to m_FormatModifiers and makes UsesModifiers return true.

This makes this check return from the function, and sampledDRMFormats in turn becomes empty.

Running this on kwin if that makes any diffrence.

Test log ``` [gamescope] [Info] console: gamescope version 3.15.9-1-gcc28cd7 (gcc 14.1.1) No CAP_SYS_NICE, falling back to regular-priority compute and threads. Performance will be affected. [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: NV16 (0x3631564E) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: NV16 (0x3631564E) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YU24 (0x34325559) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YU24 (0x34325559) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YVU9 (0x39555659) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YVU9 (0x39555659) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: XB30 (0x30334258) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: XB30 (0x30334258) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: XB24 (0x34324258) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: XB24 (0x34324258) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: Y410 (0x30313459) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: Y410 (0x30313459) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YU11 (0x31315559) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YU11 (0x31315559) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: AR15 (0x35315241) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: AR15 (0x35315241) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: Y416 (0x36313459) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: Y416 (0x36313459) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: UYVY (0x59565955) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: UYVY (0x59565955) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: GR32 (0x32335247) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: GR32 (0x32335247) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YUYV (0x56595559) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YUYV (0x56595559) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: Y212 (0x32313259) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: Y212 (0x32313259) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: R8 (0x20203852) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: R8 (0x20203852) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: AR30 (0x30335241) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: AR30 (0x30335241) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: AB12 (0x32314241) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: AB12 (0x32314241) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YV16 (0x36315659) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YV16 (0x36315659) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YU12 (0x32315559) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YU12 (0x32315559) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: VYUY (0x59555956) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: VYUY (0x59555956) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: NV21 (0x3132564E) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: NV21 (0x3132564E) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: GR88 (0x38385247) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: GR88 (0x38385247) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: XR30 (0x30335258) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: XR30 (0x30335258) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: AR12 (0x32315241) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: AR12 (0x32315241) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YV12 (0x32315659) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YV12 (0x32315659) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: Y412 (0x32313459) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: Y412 (0x32313459) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: NV12 (0x3231564E) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: AB48 (0x38344241) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: AB48 (0x38344241) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: AR24 (0x34325241) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: AR24 (0x34325241) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YVYU (0x55595659) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YVYU (0x55595659) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: P030 (0x30333050) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: P030 (0x30333050) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: AB4H (0x48344241) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: AB4H (0x48344241) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: P010 (0x30313050) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: P010 (0x30313050) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YU16 (0x36315559) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YU16 (0x36315559) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: Y216 (0x36313259) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: Y216 (0x36313259) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: R16 (0x20363152) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: R16 (0x20363152) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: XB4H (0x48344258) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: XB4H (0x48344258) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: XYUV (0x56555958) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: XYUV (0x56555958) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: XB48 (0x38344258) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: XB48 (0x38344258) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YUV9 (0x39565559) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YUV9 (0x39565559) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: AYUV (0x56555941) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: AYUV (0x56555941) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: XR24 (0x34325258) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: XR24 (0x34325258) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YV24 (0x34325659) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YV24 (0x34325659) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: AB15 (0x35314241) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: AB15 (0x35314241) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YV11 (0x31315659) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: YV11 (0x31315659) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: AB24 (0x34324241) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: AB24 (0x34324241) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: P016 (0x36313050) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: P016 (0x36313050) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: AB30 (0x30334241) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: AB30 (0x30334241) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: Y210 (0x30313259) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: Y210 (0x30313259) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: P012 (0x32313050) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: P012 (0x32313050) 0 [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: RG16 (0x36314752) ffffffffffffff [gamescope] [Info] xdg_backend: WaylandBackend::Wayland_Modifier: RG16 (0x36314752) 0 ATTENTION: default value of option vk_khr_present_wait overridden by environment. [gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 480 Graphics (RADV POLARIS10)': queue family 1 (general queue family 0) [gamescope] [Info] vulkan: physical device does not support DRM format modifiers [gamescope] [Info] wlserver: [backend/headless/backend.c:67] Creating headless backend [gamescope] [Info] xdg_backend: Seat name: [gamescope] [Info] vulkan: supported DRM modifiers for drmFormat (0x34325241) does not contain DRM_FORMAT_MOD_INVALID: [gamescope] [Info] vulkan: 0x0 [gamescope] [Info] vulkan: supported DRM modifiers for drmFormat (0x34325241) does not contain DRM_FORMAT_MOD_INVALID: [gamescope] [Info] vulkan: 0x0 [gamescope] [Info] vulkan: supported DRM modifiers for drmFormat (0x34325258) does not contain DRM_FORMAT_MOD_INVALID: [gamescope] [Info] vulkan: 0x0 [gamescope] [Info] vulkan: supported DRM modifiers for drmFormat (0x34325258) does not contain DRM_FORMAT_MOD_INVALID: [gamescope] [Info] vulkan: 0x0 [gamescope] [Info] vulkan: supported DRM modifiers for drmFormat (0x34324241) does not contain DRM_FORMAT_MOD_INVALID: [gamescope] [Info] vulkan: 0x0 [gamescope] [Info] vulkan: supported DRM modifiers for drmFormat (0x34324241) does not contain DRM_FORMAT_MOD_INVALID: [gamescope] [Info] vulkan: 0x0 [gamescope] [Info] vulkan: supported DRM modifiers for drmFormat (0x34324258) does not contain DRM_FORMAT_MOD_INVALID: [gamescope] [Info] vulkan: 0x0 [gamescope] [Info] vulkan: supported DRM modifiers for drmFormat (0x34324258) does not contain DRM_FORMAT_MOD_INVALID: [gamescope] [Info] vulkan: 0x0 [gamescope] [Info] vulkan: supported DRM modifiers for drmFormat (0x36314752) does not contain DRM_FORMAT_MOD_INVALID: [gamescope] [Info] vulkan: 0x0 [gamescope] [Info] vulkan: supported DRM modifiers for drmFormat (0x3231564e) does not contain DRM_FORMAT_MOD_INVALID: [gamescope] [Info] vulkan: 0x0 [gamescope] [Info] vulkan: supported DRM modifiers for drmFormat (0x48344241) does not contain DRM_FORMAT_MOD_INVALID: [gamescope] [Info] vulkan: 0x0 [gamescope] [Info] vulkan: supported DRM modifiers for drmFormat (0x48344258) does not contain DRM_FORMAT_MOD_INVALID: [gamescope] [Info] vulkan: 0x0 [gamescope] [Info] vulkan: supported DRM modifiers for drmFormat (0x38344241) does not contain DRM_FORMAT_MOD_INVALID: [gamescope] [Info] vulkan: 0x0 [gamescope] [Info] vulkan: supported DRM modifiers for drmFormat (0x38344258) does not contain DRM_FORMAT_MOD_INVALID: [gamescope] [Info] vulkan: 0x0 [gamescope] [Info] vulkan: supported DRM modifiers for drmFormat (0x30334241) does not contain DRM_FORMAT_MOD_INVALID: [gamescope] [Info] vulkan: 0x0 [gamescope] [Info] vulkan: supported DRM modifiers for drmFormat (0x30334258) does not contain DRM_FORMAT_MOD_INVALID: [gamescope] [Info] vulkan: 0x0 [gamescope] [Info] vulkan: supported DRM modifiers for drmFormat (0x30335241) does not contain DRM_FORMAT_MOD_INVALID: [gamescope] [Info] vulkan: 0x0 [gamescope] [Info] vulkan: supported DRM modifiers for drmFormat (0x30335258) does not contain DRM_FORMAT_MOD_INVALID: [gamescope] [Info] vulkan: 0x0 [gamescope] [Info] vulkan: supported DRM formats for sampling usage (0): gamescope: types/wlr_linux_dmabuf_v1.c:532: feedback_compile: Assertion `table_len > 0' failed. [1] 271151 IOT instruction (core dumped) ./build/src/gamescope -- vkcube ```
misyltoad commented 1 month ago

What hardware are you using? And can you send the output of drm_info?

misyltoad commented 1 month ago

I pushed some stuff to master that might help, can you give it a try?

HanabishiRecca commented 1 month ago

I pushed some stuff to master that might help, can you give it a try?

Wayland backend works now! But SDL backend crashes instead lol.

txt231 commented 1 month ago

Tried the changes, and seems to work pefectly for Wayland backend.

As mentioned above it doesnt seem to work for sdl. I believe the reason for this is other backends return an empty span for supported modifiers while the new changes in backend.h checks if it contains invalid, without a check for UsesModifiers? Making backends like SDL return a span with DRM_FORMAT_MOD_INVALID for GetSupportedModifiers seems to work, but unsure of other implications. Changing this line to if ( GetBackend()->UsesModifiers() && !GetBackend()->SupportsFormat( drmFormat ) ) also seems to fix it.

Hardware info **CPU**: amd 3700x **GPU**: Radeon RX 480 **Kernel**: 6.9.10-zen1-1-zen **Kwin**: 6.1.3-1 **Plasma**: 6.1.3-1 I have 3 screens connected and running, and a fourth screen with a forced EDID through kernel parameter which is turned off. **Connector 0**: DP to VGA | forced edid **Connector 1**: DP to DVI | vertical monitor **Connector 2**: DP to DVI **Connector 3**: HDMI
drm_info ``` Node: /dev/dri/card1 ├───Driver: amdgpu (AMD GPU) version 3.57.0 (20150101) │ ├───DRM_CLIENT_CAP_STEREO_3D supported │ ├───DRM_CLIENT_CAP_UNIVERSAL_PLANES supported │ ├───DRM_CLIENT_CAP_ATOMIC supported │ ├───DRM_CLIENT_CAP_ASPECT_RATIO supported │ ├───DRM_CLIENT_CAP_WRITEBACK_CONNECTORS supported │ ├───DRM_CAP_DUMB_BUFFER = 1 │ ├───DRM_CAP_VBLANK_HIGH_CRTC = 1 │ ├───DRM_CAP_DUMB_PREFERRED_DEPTH = 24 │ ├───DRM_CAP_DUMB_PREFER_SHADOW = 1 │ ├───DRM_CAP_PRIME = 3 │ ├───DRM_CAP_TIMESTAMP_MONOTONIC = 1 │ ├───DRM_CAP_ASYNC_PAGE_FLIP = 1 │ ├───DRM_CAP_CURSOR_WIDTH = 128 │ ├───DRM_CAP_CURSOR_HEIGHT = 128 │ ├───DRM_CAP_ADDFB2_MODIFIERS = 0 │ ├───DRM_CAP_PAGE_FLIP_TARGET = 0 │ ├───DRM_CAP_CRTC_IN_VBLANK_EVENT = 1 │ ├───DRM_CAP_SYNCOBJ = 1 │ └───DRM_CAP_SYNCOBJ_TIMELINE = 1 ├───Device: PCI 1002:67df Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] │ └───Available nodes: primary, render ├───Framebuffer size │ ├───Width: [0, 16384] │ └───Height: [0, 16384] ├───Connectors │ ├───Connector 0 │ │ ├───Object ID: 76 │ │ ├───Type: DisplayPort │ │ ├───Status: connected │ │ ├───Physical size: 380x290 mm │ │ ├───Subpixel: unknown │ │ ├───Encoders: {0} │ │ ├───Modes │ │ │ ├───1600x1200@75.00 driver phsync pvsync │ │ │ ├───1280x1024@75.03 driver phsync pvsync │ │ │ ├───1280x960@85.00 driver phsync pvsync │ │ │ ├───1152x864@75.00 driver phsync pvsync │ │ │ ├───1024x768@85.00 driver phsync pvsync │ │ │ ├───1024x768@75.03 driver phsync pvsync │ │ │ ├───1024x768@70.07 driver nhsync nvsync │ │ │ ├───1024x768@60.00 driver nhsync nvsync │ │ │ ├───832x624@74.55 driver nhsync nvsync │ │ │ ├───800x600@85.06 driver phsync pvsync │ │ │ ├───800x600@75.00 driver phsync pvsync │ │ │ ├───800x600@72.19 driver phsync pvsync │ │ │ ├───800x600@60.32 driver phsync pvsync │ │ │ ├───800x600@56.25 driver phsync pvsync │ │ │ ├───640x480@85.01 driver phsync pvsync │ │ │ ├───640x480@75.00 driver nhsync nvsync │ │ │ ├───640x480@72.81 driver nhsync nvsync │ │ │ ├───640x480@66.67 driver nhsync nvsync │ │ │ └───640x480@59.94 driver nhsync nvsync │ │ └───Properties │ │ ├───"EDID" (immutable): blob = 82 │ │ ├───"DPMS": enum {On, Standby, Suspend, Off} = On │ │ ├───"link-status": enum {Good, Bad} = Good │ │ ├───"non-desktop" (immutable): range [0, 1] = 0 │ │ ├───"TILE" (immutable): blob = 0 │ │ ├───"CRTC_ID" (atomic): object CRTC = 59 │ │ ├───"scaling mode": enum {None, Full, Center, Full aspect} = None │ │ ├───"underscan": enum {off, on, auto} = off │ │ ├───"underscan hborder": range [0, 128] = 0 │ │ ├───"underscan vborder": range [0, 128] = 0 │ │ ├───"max bpc": range [8, 16] = 16 │ │ ├───"Colorspace": enum {Default, BT709_YCC, opRGB, BT2020_RGB, BT2020_YCC} = Default │ │ ├───"HDR_OUTPUT_METADATA": blob = 0 │ │ ├───"vrr_capable" (immutable): range [0, 1] = 0 │ │ └───"subconnector" (immutable): enum {Unknown, VGA, DVI-D, HDMI, DP, Wireless, Native} = VGA │ ├───Connector 1 │ │ ├───Object ID: 83 │ │ ├───Type: DisplayPort │ │ ├───Status: connected │ │ ├───Physical size: 520x330 mm │ │ ├───Subpixel: unknown │ │ ├───Encoders: {1} │ │ ├───Modes │ │ │ ├───1920x1200@59.95 preferred driver phsync nvsync │ │ │ ├───1920x1080@59.95 driver phsync nvsync │ │ │ ├───1600x1200@60.00 driver phsync pvsync │ │ │ ├───1680x1050@59.88 driver phsync nvsync │ │ │ ├───1280x1024@60.02 driver phsync pvsync │ │ │ ├───1440x900@59.95 driver phsync nvsync │ │ │ ├───1280x960@60.00 driver phsync pvsync │ │ │ ├───1280x800@59.95 driver phsync nvsync │ │ │ ├───1280x720@59.95 driver phsync nvsync │ │ │ ├───1024x768@60.00 driver nhsync nvsync │ │ │ ├───800x600@60.32 driver phsync pvsync │ │ │ ├───640x480@59.94 driver nhsync nvsync │ │ │ └───720x400@70.08 driver nhsync pvsync │ │ └───Properties │ │ ├───"EDID" (immutable): blob = 88 │ │ ├───"DPMS": enum {On, Standby, Suspend, Off} = On │ │ ├───"link-status": enum {Good, Bad} = Good │ │ ├───"non-desktop" (immutable): range [0, 1] = 0 │ │ ├───"TILE" (immutable): blob = 0 │ │ ├───"CRTC_ID" (atomic): object CRTC = 62 │ │ ├───"scaling mode": enum {None, Full, Center, Full aspect} = None │ │ ├───"underscan": enum {off, on, auto} = off │ │ ├───"underscan hborder": range [0, 128] = 0 │ │ ├───"underscan vborder": range [0, 128] = 0 │ │ ├───"max bpc": range [8, 16] = 16 │ │ ├───"Colorspace": enum {Default, BT709_YCC, opRGB, BT2020_RGB, BT2020_YCC} = Default │ │ ├───"HDR_OUTPUT_METADATA": blob = 0 │ │ ├───"vrr_capable" (immutable): range [0, 1] = 0 │ │ └───"subconnector" (immutable): enum {Unknown, VGA, DVI-D, HDMI, DP, Wireless, Native} = HDMI │ ├───Connector 2 │ │ ├───Object ID: 89 │ │ ├───Type: DisplayPort │ │ ├───Status: connected │ │ ├───Physical size: 550x340 mm │ │ ├───Subpixel: unknown │ │ ├───Encoders: {2} │ │ ├───Modes │ │ │ ├───1920x1200@59.95 preferred driver phsync nvsync │ │ │ ├───1920x1080@59.95 driver phsync nvsync │ │ │ ├───1600x1200@60.00 driver phsync pvsync │ │ │ ├───1680x1050@59.88 driver phsync nvsync │ │ │ ├───1400x1050@59.95 driver phsync nvsync │ │ │ ├───1280x1024@75.03 driver phsync pvsync │ │ │ ├───1280x1024@60.02 driver phsync pvsync │ │ │ ├───1440x900@59.90 driver phsync nvsync │ │ │ ├───1366x768@59.95 nhsync pvsync │ │ │ ├───1280x800@59.95 driver phsync nvsync │ │ │ ├───1152x864@75.00 driver phsync pvsync │ │ │ ├───1280x720@60.00 driver phsync pvsync │ │ │ ├───1024x768@75.03 driver phsync pvsync │ │ │ ├───1024x768@70.07 driver nhsync nvsync │ │ │ ├───1024x768@60.00 driver nhsync nvsync │ │ │ ├───832x624@74.55 driver nhsync nvsync │ │ │ ├───800x600@75.00 driver phsync pvsync │ │ │ ├───800x600@72.19 driver phsync pvsync │ │ │ ├───800x600@60.32 driver phsync pvsync │ │ │ ├───800x600@56.25 driver phsync pvsync │ │ │ ├───640x480@75.00 driver nhsync nvsync │ │ │ ├───640x480@72.81 driver nhsync nvsync │ │ │ ├───640x480@66.67 driver nhsync nvsync │ │ │ ├───640x480@59.94 driver nhsync nvsync │ │ │ └───720x400@70.08 driver nhsync pvsync │ │ └───Properties │ │ ├───"EDID" (immutable): blob = 94 │ │ ├───"DPMS": enum {On, Standby, Suspend, Off} = On │ │ ├───"link-status": enum {Good, Bad} = Good │ │ ├───"non-desktop" (immutable): range [0, 1] = 0 │ │ ├───"TILE" (immutable): blob = 0 │ │ ├───"CRTC_ID" (atomic): object CRTC = 65 │ │ ├───"scaling mode": enum {None, Full, Center, Full aspect} = None │ │ ├───"underscan": enum {off, on, auto} = off │ │ ├───"underscan hborder": range [0, 128] = 0 │ │ ├───"underscan vborder": range [0, 128] = 0 │ │ ├───"max bpc": range [8, 16] = 16 │ │ ├───"Colorspace": enum {Default, BT709_YCC, opRGB, BT2020_RGB, BT2020_YCC} = Default │ │ ├───"HDR_OUTPUT_METADATA": blob = 0 │ │ ├───"vrr_capable" (immutable): range [0, 1] = 0 │ │ └───"subconnector" (immutable): enum {Unknown, VGA, DVI-D, HDMI, DP, Wireless, Native} = HDMI │ └───Connector 3 │ ├───Object ID: 95 │ ├───Type: HDMI-A │ ├───Status: connected │ ├───Physical size: 600x340 mm │ ├───Subpixel: unknown │ ├───Encoders: {3} │ ├───Modes │ │ ├───1920x1080@60.00 preferred driver phsync pvsync │ │ ├───1920x1080@60.00 driver phsync pvsync 16:9 │ │ ├───1920x1080@59.94 driver phsync pvsync 16:9 │ │ ├───1920x1080@50.00 driver phsync pvsync 16:9 │ │ ├───1680x1050@59.88 driver phsync nvsync │ │ ├───1400x1050@59.95 driver phsync nvsync │ │ ├───1600x900@60.00 driver phsync pvsync │ │ ├───1280x1024@60.02 driver phsync pvsync │ │ ├───1440x900@59.90 driver phsync nvsync │ │ ├───1280x800@59.91 driver phsync nvsync │ │ ├───1152x864@59.97 nhsync pvsync │ │ ├───1280x720@60.00 driver phsync pvsync │ │ ├───1280x720@60.00 driver phsync pvsync 16:9 │ │ ├───1280x720@59.94 driver phsync pvsync 16:9 │ │ ├───1280x720@50.00 driver phsync pvsync 16:9 │ │ ├───1024x768@60.00 driver nhsync nvsync │ │ ├───800x600@60.32 driver phsync pvsync │ │ ├───720x576@50.00 driver nhsync nvsync 16:9 │ │ ├───720x480@60.00 driver nhsync nvsync 4:3 │ │ ├───720x480@60.00 driver nhsync nvsync 16:9 │ │ ├───720x480@59.94 driver nhsync nvsync │ │ ├───720x480@59.94 driver nhsync nvsync 16:9 │ │ ├───640x480@60.00 driver nhsync nvsync 4:3 │ │ ├───640x480@59.94 driver nhsync nvsync │ │ └───640x480@59.94 driver nhsync nvsync 4:3 │ └───Properties │ ├───"EDID" (immutable): blob = 101 │ ├───"DPMS": enum {On, Standby, Suspend, Off} = On │ ├───"link-status": enum {Good, Bad} = Good │ ├───"non-desktop" (immutable): range [0, 1] = 0 │ ├───"TILE" (immutable): blob = 0 │ ├───"CRTC_ID" (atomic): object CRTC = 68 │ ├───"scaling mode": enum {None, Full, Center, Full aspect} = None │ ├───"underscan": enum {off, on, auto} = off │ ├───"underscan hborder": range [0, 128] = 0 │ ├───"underscan vborder": range [0, 128] = 0 │ ├───"max bpc": range [8, 16] = 16 │ ├───"content type": enum {No Data, Graphics, Photo, Cinema, Game} = Graphics │ ├───"Colorspace": enum {Default, BT709_YCC, opRGB, BT2020_RGB, BT2020_YCC} = Default │ ├───"HDR_OUTPUT_METADATA": blob = 0 │ └───"vrr_capable" (immutable): range [0, 1] = 0 ├───Encoders │ ├───Encoder 0 │ │ ├───Object ID: 75 │ │ ├───Type: TMDS │ │ ├───CRTCS: {0, 1, 2, 3, 4, 5} │ │ └───Clones: {0} │ ├───Encoder 1 │ │ ├───Object ID: 81 │ │ ├───Type: TMDS │ │ ├───CRTCS: {0, 1, 2, 3, 4, 5} │ │ └───Clones: {1} │ ├───Encoder 2 │ │ ├───Object ID: 87 │ │ ├───Type: TMDS │ │ ├───CRTCS: {0, 1, 2, 3, 4, 5} │ │ └───Clones: {2} │ ├───Encoder 3 │ │ ├───Object ID: 93 │ │ ├───Type: TMDS │ │ ├───CRTCS: {0, 1, 2, 3, 4, 5} │ │ └───Clones: {3} │ ├───Encoder 4 │ │ ├───Object ID: 100 │ │ ├───Type: DP MST │ │ ├───CRTCS: {0, 1, 2, 3, 4, 5} │ │ └───Clones: {4} │ ├───Encoder 5 │ │ ├───Object ID: 102 │ │ ├───Type: DP MST │ │ ├───CRTCS: {0, 1, 2, 3, 4, 5} │ │ └───Clones: {5} │ ├───Encoder 6 │ │ ├───Object ID: 103 │ │ ├───Type: DP MST │ │ ├───CRTCS: {0, 1, 2, 3, 4, 5} │ │ └───Clones: {6} │ ├───Encoder 7 │ │ ├───Object ID: 104 │ │ ├───Type: DP MST │ │ ├───CRTCS: {0, 1, 2, 3, 4, 5} │ │ └───Clones: {7} │ ├───Encoder 8 │ │ ├───Object ID: 105 │ │ ├───Type: DP MST │ │ ├───CRTCS: {0, 1, 2, 3, 4, 5} │ │ └───Clones: {8} │ └───Encoder 9 │ ├───Object ID: 106 │ ├───Type: DP MST │ ├───CRTCS: {0, 1, 2, 3, 4, 5} │ └───Clones: {9} ├───CRTCs │ ├───CRTC 0 │ │ ├───Object ID: 59 │ │ ├───Legacy info │ │ │ ├───Mode: 1600x1200@75.00 driver phsync pvsync │ │ │ └───Gamma size: 256 │ │ └───Properties │ │ ├───"ACTIVE" (atomic): range [0, 1] = 1 │ │ ├───"MODE_ID" (atomic): blob = 109 │ │ │ └───1600x1200@75.00 driver phsync pvsync │ │ ├───"OUT_FENCE_PTR" (atomic): range [0, UINT64_MAX] = 0 │ │ ├───"VRR_ENABLED": range [0, 1] = 0 │ │ ├───"CTM": blob = 0 │ │ ├───"GAMMA_LUT": blob = 112 │ │ └───"GAMMA_LUT_SIZE" (immutable): range [0, UINT32_MAX] = 4096 │ ├───CRTC 1 │ │ ├───Object ID: 62 │ │ ├───Legacy info │ │ │ ├───Mode: 1920x1200@59.95 preferred driver phsync nvsync │ │ │ └───Gamma size: 256 │ │ └───Properties │ │ ├───"ACTIVE" (atomic): range [0, 1] = 1 │ │ ├───"MODE_ID" (atomic): blob = 111 │ │ │ └───1920x1200@59.95 preferred driver phsync nvsync │ │ ├───"OUT_FENCE_PTR" (atomic): range [0, UINT64_MAX] = 0 │ │ ├───"VRR_ENABLED": range [0, 1] = 0 │ │ ├───"CTM": blob = 0 │ │ ├───"GAMMA_LUT": blob = 114 │ │ └───"GAMMA_LUT_SIZE" (immutable): range [0, UINT32_MAX] = 4096 │ ├───CRTC 2 │ │ ├───Object ID: 65 │ │ ├───Legacy info │ │ │ ├───Mode: 1920x1200@59.95 preferred driver phsync nvsync │ │ │ └───Gamma size: 256 │ │ └───Properties │ │ ├───"ACTIVE" (atomic): range [0, 1] = 1 │ │ ├───"MODE_ID" (atomic): blob = 119 │ │ │ └───1920x1200@59.95 preferred driver phsync nvsync │ │ ├───"OUT_FENCE_PTR" (atomic): range [0, UINT64_MAX] = 0 │ │ ├───"VRR_ENABLED": range [0, 1] = 0 │ │ ├───"CTM": blob = 0 │ │ ├───"GAMMA_LUT": blob = 122 │ │ └───"GAMMA_LUT_SIZE" (immutable): range [0, UINT32_MAX] = 4096 │ ├───CRTC 3 │ │ ├───Object ID: 68 │ │ ├───Legacy info │ │ │ ├───Mode: 1920x1080@60.00 preferred driver phsync pvsync │ │ │ └───Gamma size: 256 │ │ └───Properties │ │ ├───"ACTIVE" (atomic): range [0, 1] = 1 │ │ ├───"MODE_ID" (atomic): blob = 121 │ │ │ └───1920x1080@60.00 preferred driver phsync pvsync │ │ ├───"OUT_FENCE_PTR" (atomic): range [0, UINT64_MAX] = 0 │ │ ├───"VRR_ENABLED": range [0, 1] = 0 │ │ ├───"CTM": blob = 0 │ │ ├───"GAMMA_LUT": blob = 116 │ │ └───"GAMMA_LUT_SIZE" (immutable): range [0, UINT32_MAX] = 4096 │ ├───CRTC 4 │ │ ├───Object ID: 71 │ │ ├───Legacy info │ │ │ └───Gamma size: 256 │ │ └───Properties │ │ ├───"ACTIVE" (atomic): range [0, 1] = 0 │ │ ├───"MODE_ID" (atomic): blob = 0 │ │ ├───"OUT_FENCE_PTR" (atomic): range [0, UINT64_MAX] = 0 │ │ ├───"VRR_ENABLED": range [0, 1] = 0 │ │ ├───"CTM": blob = 0 │ │ ├───"GAMMA_LUT": blob = 113 │ │ └───"GAMMA_LUT_SIZE" (immutable): range [0, UINT32_MAX] = 4096 │ └───CRTC 5 │ ├───Object ID: 74 │ ├───Legacy info │ │ └───Gamma size: 256 │ └───Properties │ ├───"ACTIVE" (atomic): range [0, 1] = 0 │ ├───"MODE_ID" (atomic): blob = 0 │ ├───"OUT_FENCE_PTR" (atomic): range [0, UINT64_MAX] = 0 │ ├───"VRR_ENABLED": range [0, 1] = 0 │ ├───"CTM": blob = 0 │ ├───"GAMMA_LUT": blob = 117 │ └───"GAMMA_LUT_SIZE" (immutable): range [0, UINT32_MAX] = 4096 └───Planes ├───Plane 0 │ ├───Object ID: 39 │ ├───CRTCs: {5} │ ├───Legacy info │ │ ├───FB ID: 0 │ │ └───Formats: │ │ ├───XRGB8888 (0x34325258) │ │ ├───ARGB8888 (0x34325241) │ │ ├───RGBA8888 (0x34324152) │ │ ├───XRGB2101010 (0x30335258) │ │ ├───XBGR2101010 (0x30334258) │ │ ├───ARGB2101010 (0x30335241) │ │ ├───ABGR2101010 (0x30334241) │ │ ├───XRGB16161616 (0x38345258) │ │ ├───XBGR16161616 (0x38344258) │ │ ├───ARGB16161616 (0x38345241) │ │ ├───ABGR16161616 (0x38344241) │ │ ├───XBGR8888 (0x34324258) │ │ ├───ABGR8888 (0x34324241) │ │ ├───RGB565 (0x36314752) │ │ ├───XRGB16161616F (0x48345258) │ │ ├───ARGB16161616F (0x48345241) │ │ ├───XBGR16161616F (0x48344258) │ │ └───ABGR16161616F (0x48344241) │ └───Properties │ ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Primary │ ├───"FB_ID" (atomic): object framebuffer = 0 │ ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1 │ ├───"CRTC_ID" (atomic): object CRTC = 0 │ ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0 │ ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0 │ ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 0 │ ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 0 │ ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 0 │ ├───"zpos" (immutable): range [0, 0] = 0 │ └───"rotation": bitmask {rotate-0, rotate-90, rotate-180, rotate-270} = (rotate-0) ├───Plane 1 │ ├───Object ID: 42 │ ├───CRTCs: {4} │ ├───Legacy info │ │ ├───FB ID: 0 │ │ └───Formats: │ │ ├───XRGB8888 (0x34325258) │ │ ├───ARGB8888 (0x34325241) │ │ ├───RGBA8888 (0x34324152) │ │ ├───XRGB2101010 (0x30335258) │ │ ├───XBGR2101010 (0x30334258) │ │ ├───ARGB2101010 (0x30335241) │ │ ├───ABGR2101010 (0x30334241) │ │ ├───XRGB16161616 (0x38345258) │ │ ├───XBGR16161616 (0x38344258) │ │ ├───ARGB16161616 (0x38345241) │ │ ├───ABGR16161616 (0x38344241) │ │ ├───XBGR8888 (0x34324258) │ │ ├───ABGR8888 (0x34324241) │ │ ├───RGB565 (0x36314752) │ │ ├───XRGB16161616F (0x48345258) │ │ ├───ARGB16161616F (0x48345241) │ │ ├───XBGR16161616F (0x48344258) │ │ └───ABGR16161616F (0x48344241) │ └───Properties │ ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Primary │ ├───"FB_ID" (atomic): object framebuffer = 0 │ ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1 │ ├───"CRTC_ID" (atomic): object CRTC = 0 │ ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0 │ ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0 │ ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 0 │ ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 0 │ ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 0 │ ├───"zpos" (immutable): range [0, 0] = 0 │ └───"rotation": bitmask {rotate-0, rotate-90, rotate-180, rotate-270} = (rotate-0) ├───Plane 2 │ ├───Object ID: 45 │ ├───CRTCs: {3} │ ├───Legacy info │ │ ├───FB ID: 120 │ │ │ ├───Object ID: 120 │ │ │ ├───Size: 1920x1080 │ │ │ ├───Format: XRGB8888 (0x34325258) │ │ │ └───Planes: │ │ │ └───Plane 0: offset = 0, pitch = 8192 bytes │ │ └───Formats: │ │ ├───XRGB8888 (0x34325258) │ │ ├───ARGB8888 (0x34325241) │ │ ├───RGBA8888 (0x34324152) │ │ ├───XRGB2101010 (0x30335258) │ │ ├───XBGR2101010 (0x30334258) │ │ ├───ARGB2101010 (0x30335241) │ │ ├───ABGR2101010 (0x30334241) │ │ ├───XRGB16161616 (0x38345258) │ │ ├───XBGR16161616 (0x38344258) │ │ ├───ARGB16161616 (0x38345241) │ │ ├───ABGR16161616 (0x38344241) │ │ ├───XBGR8888 (0x34324258) │ │ ├───ABGR8888 (0x34324241) │ │ ├───RGB565 (0x36314752) │ │ ├───XRGB16161616F (0x48345258) │ │ ├───ARGB16161616F (0x48345241) │ │ ├───XBGR16161616F (0x48344258) │ │ └───ABGR16161616F (0x48344241) │ └───Properties │ ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Primary │ ├───"FB_ID" (atomic): object framebuffer = 120 │ │ ├───Object ID: 120 │ │ ├───Size: 1920x1080 │ │ ├───Format: XRGB8888 (0x34325258) │ │ └───Planes: │ │ └───Plane 0: offset = 0, pitch = 8192 bytes │ ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1 │ ├───"CRTC_ID" (atomic): object CRTC = 68 │ ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0 │ ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0 │ ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 1920 │ ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 1080 │ ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 1920 │ ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 1080 │ ├───"zpos" (immutable): range [0, 0] = 0 │ └───"rotation": bitmask {rotate-0, rotate-90, rotate-180, rotate-270} = (rotate-0) ├───Plane 3 │ ├───Object ID: 48 │ ├───CRTCs: {2} │ ├───Legacy info │ │ ├───FB ID: 126 │ │ │ ├───Object ID: 126 │ │ │ ├───Size: 1920x1200 │ │ │ ├───Format: XRGB8888 (0x34325258) │ │ │ └───Planes: │ │ │ └───Plane 0: offset = 0, pitch = 8192 bytes │ │ └───Formats: │ │ ├───XRGB8888 (0x34325258) │ │ ├───ARGB8888 (0x34325241) │ │ ├───RGBA8888 (0x34324152) │ │ ├───XRGB2101010 (0x30335258) │ │ ├───XBGR2101010 (0x30334258) │ │ ├───ARGB2101010 (0x30335241) │ │ ├───ABGR2101010 (0x30334241) │ │ ├───XRGB16161616 (0x38345258) │ │ ├───XBGR16161616 (0x38344258) │ │ ├───ARGB16161616 (0x38345241) │ │ ├───ABGR16161616 (0x38344241) │ │ ├───XBGR8888 (0x34324258) │ │ ├───ABGR8888 (0x34324241) │ │ ├───RGB565 (0x36314752) │ │ ├───XRGB16161616F (0x48345258) │ │ ├───ARGB16161616F (0x48345241) │ │ ├───XBGR16161616F (0x48344258) │ │ └───ABGR16161616F (0x48344241) │ └───Properties │ ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Primary │ ├───"FB_ID" (atomic): object framebuffer = 126 │ │ ├───Object ID: 126 │ │ ├───Size: 1920x1200 │ │ ├───Format: XRGB8888 (0x34325258) │ │ └───Planes: │ │ └───Plane 0: offset = 0, pitch = 8192 bytes │ ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1 │ ├───"CRTC_ID" (atomic): object CRTC = 65 │ ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0 │ ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0 │ ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 1920 │ ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 1200 │ ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 1920 │ ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 1200 │ ├───"zpos" (immutable): range [0, 0] = 0 │ └───"rotation": bitmask {rotate-0, rotate-90, rotate-180, rotate-270} = (rotate-0) ├───Plane 4 │ ├───Object ID: 51 │ ├───CRTCs: {1} │ ├───Legacy info │ │ ├───FB ID: 115 │ │ │ ├───Object ID: 115 │ │ │ ├───Size: 1920x1200 │ │ │ ├───Format: XRGB8888 (0x34325258) │ │ │ └───Planes: │ │ │ └───Plane 0: offset = 0, pitch = 8192 bytes │ │ └───Formats: │ │ ├───XRGB8888 (0x34325258) │ │ ├───ARGB8888 (0x34325241) │ │ ├───RGBA8888 (0x34324152) │ │ ├───XRGB2101010 (0x30335258) │ │ ├───XBGR2101010 (0x30334258) │ │ ├───ARGB2101010 (0x30335241) │ │ ├───ABGR2101010 (0x30334241) │ │ ├───XRGB16161616 (0x38345258) │ │ ├───XBGR16161616 (0x38344258) │ │ ├───ARGB16161616 (0x38345241) │ │ ├───ABGR16161616 (0x38344241) │ │ ├───XBGR8888 (0x34324258) │ │ ├───ABGR8888 (0x34324241) │ │ ├───RGB565 (0x36314752) │ │ ├───XRGB16161616F (0x48345258) │ │ ├───ARGB16161616F (0x48345241) │ │ ├───XBGR16161616F (0x48344258) │ │ └───ABGR16161616F (0x48344241) │ └───Properties │ ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Primary │ ├───"FB_ID" (atomic): object framebuffer = 115 │ │ ├───Object ID: 115 │ │ ├───Size: 1920x1200 │ │ ├───Format: XRGB8888 (0x34325258) │ │ └───Planes: │ │ └───Plane 0: offset = 0, pitch = 8192 bytes │ ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1 │ ├───"CRTC_ID" (atomic): object CRTC = 62 │ ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0 │ ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0 │ ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 1920 │ ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 1200 │ ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 1920 │ ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 1200 │ ├───"zpos" (immutable): range [0, 0] = 0 │ └───"rotation": bitmask {rotate-0, rotate-90, rotate-180, rotate-270} = (rotate-0) ├───Plane 5 │ ├───Object ID: 54 │ ├───CRTCs: {0} │ ├───Legacy info │ │ ├───FB ID: 110 │ │ │ ├───Object ID: 110 │ │ │ ├───Size: 1600x1200 │ │ │ ├───Format: XRGB8888 (0x34325258) │ │ │ └───Planes: │ │ │ └───Plane 0: offset = 0, pitch = 7168 bytes │ │ └───Formats: │ │ ├───XRGB8888 (0x34325258) │ │ ├───ARGB8888 (0x34325241) │ │ ├───RGBA8888 (0x34324152) │ │ ├───XRGB2101010 (0x30335258) │ │ ├───XBGR2101010 (0x30334258) │ │ ├───ARGB2101010 (0x30335241) │ │ ├───ABGR2101010 (0x30334241) │ │ ├───XRGB16161616 (0x38345258) │ │ ├───XBGR16161616 (0x38344258) │ │ ├───ARGB16161616 (0x38345241) │ │ ├───ABGR16161616 (0x38344241) │ │ ├───XBGR8888 (0x34324258) │ │ ├───ABGR8888 (0x34324241) │ │ ├───RGB565 (0x36314752) │ │ ├───XRGB16161616F (0x48345258) │ │ ├───ARGB16161616F (0x48345241) │ │ ├───XBGR16161616F (0x48344258) │ │ └───ABGR16161616F (0x48344241) │ └───Properties │ ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Primary │ ├───"FB_ID" (atomic): object framebuffer = 110 │ │ ├───Object ID: 110 │ │ ├───Size: 1600x1200 │ │ ├───Format: XRGB8888 (0x34325258) │ │ └───Planes: │ │ └───Plane 0: offset = 0, pitch = 7168 bytes │ ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1 │ ├───"CRTC_ID" (atomic): object CRTC = 59 │ ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0 │ ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0 │ ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 1600 │ ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 1200 │ ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 1600 │ ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 1200 │ ├───"zpos" (immutable): range [0, 0] = 0 │ └───"rotation": bitmask {rotate-0, rotate-90, rotate-180, rotate-270} = (rotate-0) ├───Plane 6 │ ├───Object ID: 57 │ ├───CRTCs: {0} │ ├───Legacy info │ │ ├───FB ID: 0 │ │ └───Formats: │ │ └───ARGB8888 (0x34325241) │ └───Properties │ ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Cursor │ ├───"FB_ID" (atomic): object framebuffer = 0 │ ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1 │ ├───"CRTC_ID" (atomic): object CRTC = 0 │ ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0 │ ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0 │ ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 0 │ ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 0 │ ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 0 │ └───"zpos" (immutable): range [UINT8_MAX, UINT8_MAX] = 255 ├───Plane 7 │ ├───Object ID: 60 │ ├───CRTCs: {1} │ ├───Legacy info │ │ ├───FB ID: 0 │ │ └───Formats: │ │ └───ARGB8888 (0x34325241) │ └───Properties │ ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Cursor │ ├───"FB_ID" (atomic): object framebuffer = 0 │ ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1 │ ├───"CRTC_ID" (atomic): object CRTC = 0 │ ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0 │ ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0 │ ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 0 │ ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 0 │ ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 0 │ └───"zpos" (immutable): range [UINT8_MAX, UINT8_MAX] = 255 ├───Plane 8 │ ├───Object ID: 63 │ ├───CRTCs: {2} │ ├───Legacy info │ │ ├───FB ID: 0 │ │ └───Formats: │ │ └───ARGB8888 (0x34325241) │ └───Properties │ ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Cursor │ ├───"FB_ID" (atomic): object framebuffer = 0 │ ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1 │ ├───"CRTC_ID" (atomic): object CRTC = 0 │ ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0 │ ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0 │ ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 0 │ ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 0 │ ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 0 │ └───"zpos" (immutable): range [UINT8_MAX, UINT8_MAX] = 255 ├───Plane 9 │ ├───Object ID: 66 │ ├───CRTCs: {3} │ ├───Legacy info │ │ ├───FB ID: 0 │ │ └───Formats: │ │ └───ARGB8888 (0x34325241) │ └───Properties │ ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Cursor │ ├───"FB_ID" (atomic): object framebuffer = 0 │ ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1 │ ├───"CRTC_ID" (atomic): object CRTC = 0 │ ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0 │ ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0 │ ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 0 │ ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 0 │ ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 0 │ └───"zpos" (immutable): range [UINT8_MAX, UINT8_MAX] = 255 ├───Plane 10 │ ├───Object ID: 69 │ ├───CRTCs: {4} │ ├───Legacy info │ │ ├───FB ID: 0 │ │ └───Formats: │ │ └───ARGB8888 (0x34325241) │ └───Properties │ ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Cursor │ ├───"FB_ID" (atomic): object framebuffer = 0 │ ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1 │ ├───"CRTC_ID" (atomic): object CRTC = 0 │ ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0 │ ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0 │ ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 0 │ ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 0 │ ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 0 │ ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 0 │ └───"zpos" (immutable): range [UINT8_MAX, UINT8_MAX] = 255 └───Plane 11 ├───Object ID: 72 ├───CRTCs: {5} ├───Legacy info │ ├───FB ID: 0 │ └───Formats: │ └───ARGB8888 (0x34325241) └───Properties ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Cursor ├───"FB_ID" (atomic): object framebuffer = 0 ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1 ├───"CRTC_ID" (atomic): object CRTC = 0 ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0 ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0 ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 0 ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 0 ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0 ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0 ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 0 ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 0 └───"zpos" (immutable): range [UINT8_MAX, UINT8_MAX] = 255 ```
Backend wayland log ``` [gamescope] [Info] console: gamescope version 3.15.9-1-gcc28cd7 (gcc 14.1.1) No CAP_SYS_NICE, falling back to regular-priority compute and threads. Performance will be affected. [gamescope] [Info] xdg_backend: Modifier: XR30 (0x30335258) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: XR30 (0x30335258) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: YU24 (0x34325559) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: YU24 (0x34325559) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: AR30 (0x30335241) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: AR30 (0x30335241) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: R16 (0x20363152) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: R16 (0x20363152) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: YV16 (0x36315659) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: YV16 (0x36315659) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: P010 (0x30313050) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: P010 (0x30313050) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: NV16 (0x3631564E) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: NV16 (0x3631564E) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: Y410 (0x30313459) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: Y410 (0x30313459) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: Y212 (0x32313259) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: Y212 (0x32313259) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: YV24 (0x34325659) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: YV24 (0x34325659) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: AB4H (0x48344241) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: AB4H (0x48344241) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: XB4H (0x48344258) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: XB4H (0x48344258) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: YVU9 (0x39555659) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: YVU9 (0x39555659) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: AR12 (0x32315241) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: AR12 (0x32315241) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: YUYV (0x56595559) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: YUYV (0x56595559) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: Y210 (0x30313259) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: Y210 (0x30313259) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: YUV9 (0x39565559) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: YUV9 (0x39565559) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: AB24 (0x34324241) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: AB24 (0x34324241) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: XYUV (0x56555958) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: XYUV (0x56555958) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: P030 (0x30333050) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: P030 (0x30333050) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: YVYU (0x55595659) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: YVYU (0x55595659) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: YU16 (0x36315559) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: YU16 (0x36315559) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: YV11 (0x31315659) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: YV11 (0x31315659) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: YV12 (0x32315659) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: YV12 (0x32315659) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: AR24 (0x34325241) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: AR24 (0x34325241) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: XB24 (0x34324258) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: XB24 (0x34324258) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: XB48 (0x38344258) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: XB48 (0x38344258) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: UYVY (0x59565955) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: UYVY (0x59565955) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: AYUV (0x56555941) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: AYUV (0x56555941) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: Y216 (0x36313259) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: Y216 (0x36313259) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: AB15 (0x35314241) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: AB15 (0x35314241) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: Y412 (0x32313459) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: Y412 (0x32313459) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: XR24 (0x34325258) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: XR24 (0x34325258) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: GR88 (0x38385247) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: GR88 (0x38385247) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: NV12 (0x3231564E) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: GR32 (0x32335247) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: GR32 (0x32335247) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: YU11 (0x31315559) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: YU11 (0x31315559) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: R8 (0x20203852) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: R8 (0x20203852) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: AB30 (0x30334241) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: AB30 (0x30334241) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: AB48 (0x38344241) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: AB48 (0x38344241) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: RG16 (0x36314752) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: RG16 (0x36314752) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: NV21 (0x3132564E) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: NV21 (0x3132564E) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: P012 (0x32313050) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: P012 (0x32313050) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: XB30 (0x30334258) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: XB30 (0x30334258) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: Y416 (0x36313459) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: Y416 (0x36313459) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: YU12 (0x32315559) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: YU12 (0x32315559) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: AB12 (0x32314241) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: AB12 (0x32314241) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: P016 (0x36313050) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: P016 (0x36313050) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: AR15 (0x35315241) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: AR15 (0x35315241) 0 (Invalid) [gamescope] [Info] xdg_backend: Modifier: VYUY (0x59555956) ffffffffffffff (Invalid) [gamescope] [Info] xdg_backend: Modifier: VYUY (0x59555956) 0 (Invalid) ATTENTION: default value of option vk_khr_present_wait overridden by environment. [gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 480 Graphics (RADV POLARIS10)': queue family 1 (general queue family 0) [gamescope] [Info] vulkan: physical device does not support DRM format modifiers [gamescope] [Info] wlserver: [backend/headless/backend.c:67] Creating headless backend [gamescope] [Info] xdg_backend: Seat name: [gamescope] [Info] vulkan: supported DRM formats for sampling usage: [gamescope] [Info] vulkan: AR24 (0x34325241) [gamescope] [Info] vulkan: XR24 (0x34325258) [gamescope] [Info] vulkan: AB24 (0x34324241) [gamescope] [Info] vulkan: XB24 (0x34324258) [gamescope] [Info] vulkan: RG16 (0x36314752) [gamescope] [Info] vulkan: AB4H (0x48344241) [gamescope] [Info] vulkan: XB4H (0x48344258) [gamescope] [Info] vulkan: AB48 (0x38344241) [gamescope] [Info] vulkan: XB48 (0x38344258) [gamescope] [Info] vulkan: AB30 (0x30334241) [gamescope] [Info] vulkan: XB30 (0x30334258) [gamescope] [Info] vulkan: AR30 (0x30335241) [gamescope] [Info] vulkan: XR30 (0x30335258) [gamescope] [Info] wlserver: Using explicit sync when available [gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' [gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend [gamescope] [Info] wlserver: Successfully initialized libei for input emulation! [gamescope] [Error] wlserver: [xwayland/sockets.c:64] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use [gamescope] [Info] wlserver: [xwayland/server.c:107] Starting Xwayland on :2 [gamescope] [Info] pipewire: stream state changed: connecting [gamescope] [Info] pipewire: stream state changed: paused [gamescope] [Info] pipewire: stream available on node ID: 93 [gamescope] [Info] xwm: Embedded, no cursor set. Using left_ptr by default. [gamescope] [Info] vblank: Using timerfd. [gamescope] [Info] 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: 200 nits, Min Luminance: 0 nits, Max Full Frame Luminance: 200 nits [gamescope] [Info] edid: Patching res 800x1280 -> 1280x720 ATTENTION: default value of option vk_khr_present_wait overridden by environment. ATTENTION: default value of option vk_xwayland_wait_ready overridden by environment. Selected GPU 0: AMD Radeon RX 480 Graphics (RADV POLARIS10), type: DiscreteGpu [Gamescope WSI] Creating Gamescope surface: xid: 0x400000 [Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. [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. [gamescope] [Warn] 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 [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] [Info] xdg_backend: Changed refresh to: 59.950hz [Gamescope WSI] Swapchain recieved new refresh cycle: 16.67ms [Gamescope WSI] Swapchain recieved new refresh cycle: 16.68ms ^C[gamescopereaper] [Info] reaper: Parent of gamescopereaper was killed. Killing children. [gamescope] [Info] launch: Primary child shut down! ```
Backend SDL log ``` [gamescope] [Info] console: gamescope version 3.15.9-1-gcc28cd7 (gcc 14.1.1) No CAP_SYS_NICE, falling back to regular-priority compute and threads. Performance will be affected. ATTENTION: default value of option vk_khr_present_wait overridden by environment. [gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 480 Graphics (RADV POLARIS10)': queue family 1 (general queue family 0) [gamescope] [Info] vulkan: physical device does not support DRM format modifiers [gamescope] [Info] wlserver: [backend/headless/backend.c:67] Creating headless backend [gamescope] [Info] vulkan: supported DRM formats for sampling usage: [gamescope] [Info] vulkan: Creating Gamescope nested swapchain with format 64 and colorspace 0 gamescope: types/wlr_linux_dmabuf_v1.c:532: feedback_compile: Assertion `table_len > 0' failed. [1] 5706 IOT instruction (core dumped) ./build/src/gamescope --backend=sdl -- vkcube ```
awsms commented 1 month ago

Mh I'm now having that error, which I didn't before. strace:

write(2, "gamescope: types/wlr_linux_dmabu"..., 96gamescope: types/wlr_linux_dmabuf_v1.c:532: feedback_compile: Assertion `table_len > 0' failed.
) = 96
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x79d286a01000
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
gettid()                                = 1352856
getpid()                                = 1352856
tgkill(1352856, 1352856, SIGABRT)       = 0
--- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=1352856, si_uid=1000} ---
+++ killed by SIGABRT (core dumped) +++
fish: Job 1, 'strace gamescope' terminated by signal SIGABRT (Abort)

I've installed gamescope with the gamescope-git AUR package (current version is from the latest commit to this date, d87f6d9). I'm not on Wayland.

I pushed some stuff to master that might help, can you give it a try?

Wayland backend works now! But SDL backend crashes instead lol.

damn :rofl:

edit: the 3 recent commits didn't change a thing

you can build from 7a27374, last commit that works on X, which broke with 0110109

sharkautarch commented 1 month ago

@awsms @misyltoad I can confirm myself that commit https://github.com/ValveSoftware/gamescope/commit/01101093445af20ea25ad386fd872d5f92266c2c is causing this assert fail for me too, and reverting it fixes it I think that somehow that commit is causing this loop starting here: https://github.com/sharkautarch/gamescope/commit/01101093445af20ea25ad386fd872d5f92266c2c#diff-0ca179f8adb820354aba0b6a063350f9e32689950ead39e8bbeca021fa8ba0e0R2777 to not process modifiers correctly, which then latter triggers the assert in wlserver_init() Also, seems like the modifiers listed w/ vulkan: supported DRM formats for sampling usage: is empty on nested X11 due to that commit...

MaxandreOgeret commented 1 month ago

Issue occurs for me on commit gddf0d76, with and without --backend=sdl and with both AMD Radeon 780M and AMD Radeon RX 7700S GPUs.

$ DRI_PRIME=1 gamescope vkcube              
[gamescope] [Info]  console: gamescope version 3.15.9-8-gddf0d76 (gcc 14.2.0)
No CAP_SYS_NICE, falling back to regular-priority compute and threads.
Performance will be affected.
Your Wayland compositor does NOT support wp_presentation/presentation-time which is required for VK_KHR_present_wait and VK_KHR_present_id.
Please complain to your compositor vendor for support. Falling back to X11 window with less accurate present wait.
[gamescope] [Error] xdg_backend: Couldn't create Wayland objects.
[gamescope] [Info]  vulkan: selecting physical device 'AMD Radeon RX 7700S (RADV NAVI33)': queue family 1 (general queue family 0)
[gamescope] [Info]  vulkan: physical device supports DRM format modifiers
[gamescope] [Info]  wlserver: [backend/headless/backend.c:67] Creating headless backend
[gamescope] [Info]  vulkan: supported DRM formats for sampling usage:
[gamescope] [Info]  vulkan: Creating Gamescope nested swapchain with format 44 and colorspace 0
gamescope: types/wlr_linux_dmabuf_v1.c:532: feedback_compile: Assertion `table_len > 0' failed.
[1]    163677 IOT instruction (core dumped)  DRI_PRIME=1 gamescope vkcube
$ DRI_PRIME=1 gamescope --backend=sdl vkcube
[gamescope] [Info]  console: gamescope version 3.15.9-8-gddf0d76 (gcc 14.2.0)
No CAP_SYS_NICE, falling back to regular-priority compute and threads.
Performance will be affected.
Your Wayland compositor does NOT support wp_presentation/presentation-time which is required for VK_KHR_present_wait and VK_KHR_present_id.
Please complain to your compositor vendor for support. Falling back to X11 window with less accurate present wait.
[gamescope] [Info]  vulkan: selecting physical device 'AMD Radeon RX 7700S (RADV NAVI33)': queue family 1 (general queue family 0)
[gamescope] [Info]  vulkan: physical device supports DRM format modifiers
[gamescope] [Info]  wlserver: [backend/headless/backend.c:67] Creating headless backend
[gamescope] [Info]  vulkan: supported DRM formats for sampling usage:
[gamescope] [Info]  vulkan: Creating Gamescope nested swapchain with format 44 and colorspace 0
gamescope: types/wlr_linux_dmabuf_v1.c:532: feedback_compile: Assertion `table_len > 0' failed.
[1]    163836 IOT instruction (core dumped)  DRI_PRIME=1 gamescope --backend=sdl vkcube
awsms commented 1 month ago

@MaxandreOgeret it's commit ddf0d76. Gamescope is broken since 0110109, read my previous post

korewaChino commented 4 weeks ago

Can confirm, https://github.com/ValveSoftware/gamescope/commit/01101093445af20ea25ad386fd872d5f92266c2c works in Wayland on my RX580. SDL backend also works along with this patch.

awsms commented 2 weeks ago

Still broken as of 06a6225 BTW

HanabishiRecca commented 2 weeks ago

Of course, because #1548 is still not merged.