-
Notifications
You must be signed in to change notification settings - Fork 213
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
types/wlr_linux_dmabuf_v1.c:526: feedback_compile: Assertion `table_len > 0' failed. #1218
Comments
I'm getting the same error with polaris card in nested mode, but embedded works fine. |
Haven't tested this (besides making sure it compiles w/o errors), but see if this branch/fork I made works: (clone from my fork, and then do |
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: |
Ok, I know there was another issue related to gamescope wayland backend having problems w/ libdecor |
now testing it with vkcube I'm gettiing the same error as on generic one (I've checked branch and its correct) ./gamescope -- vkcube |
¯_(ツ)_/¯ |
Tried your branch |
Your GPU is too old to support modifiers. I need to add a non-modifier fallback. |
I am having the same issue with the 3.14.3 version and the latest git:
|
Downgrading to 3.14.2 for now. To help people searching to find this issue: 3.14.2:
after 82e3632 :
|
Does latest git work for you? 4ca3986 should hopefully fix it. |
I cloned the project, did the checkout of that commit and built the binary, but I still get this:
|
That commit works for me:
|
I'll attach the entire terminal log, in case I got something wrong during compile or during the switch to that 4ca3986: |
Thanks! Nested works on my old rx560, tried embedded - didn't work |
Installed gamescope from AUR via the package Still getting this with
While running it via TTY bash login shell with
Downgrading back to 3.14.2 works for me without error. |
Funny enough, even eliminating 82e3632 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
|
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. Lines 6 to 14 in 932a7bb
Presumably, also deprecate existing |
Worked for me too, here is the output of `gamescope vkcube' after using your patch on the commit 932a7bb:
|
I made a PR with new CLI option. #1321 |
using --backend=sdl works for me |
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? |
…to` is used. This works around ValveSoftware#1218 by making use of the new backend option added in ValveSoftware#1321, but adds a check to automatically fall back to the SDL backend if the current GPU does not support Vulkan DRM modifiers.
…to` is used. This works around ValveSoftware#1218 by making use of the new backend option added in ValveSoftware#1321, but adds a check to automatically fall back to the SDL backend if the current GPU does not support Vulkan DRM modifiers.
are there plans to get the wayland-backend (or drm) on polaris-gpus (without modifiers and without doing the workaround with the sdl-backend)? |
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 Other than that, it really just needs someone with a Polaris GPU to go and actually debug the issue. |
Sure. What exactly we need to debug? |
Had a look at this and it seems like forcing Seems like This makes this check return from the function, and Running this on kwin if that makes any diffrence. Test log
|
What hardware are you using? And can you send the output of drm_info? |
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. |
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 Hardware infoCPU: amd 3700x I have 3 screens connected and running, and a fourth screen with a forced EDID through kernel parameter which is turned off. drm_info
Backend wayland log
Backend SDL log
|
Mh I'm now having that error, which I didn't before.
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.
damn 🤣 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 |
@awsms @misyltoad |
Issue occurs for me on commit
|
@MaxandreOgeret it's commit ddf0d76. Gamescope is broken since 0110109, read my previous post |
Can confirm, 0110109 works in Wayland on my RX580. SDL backend also works along with this patch. |
Still broken as of 06a6225 BTW |
Of course, because #1548 is still not merged. |
Still an issue on X11 |
see :
|
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.
The text was updated successfully, but these errors were encountered: