gamescope icon indicating copy to clipboard operation
gamescope copied to clipboard

Gamescope Crashes with `Failed to create backend` starting from `ce1156a`

Open sonic2kk opened this issue 4 months ago • 9 comments

Information

  • Version: Tested Gamescope built from source from ce1156af053239e662aa021dbfc6a64cb770f64a up to e48bfc87d26dab50c5aad5a6f696c6e21c1ac22b (latest at time of writing) (ce1156a...e48bfc8).
  • OS: Arch Linux + KDE Plasma Wayland 5.27.10
  • GPU: AMD 7900XTX
  • Drivers: Mesa 24.0.2

When trying to run GameScope with any application (i.e. gamescope -- glxgears, or something a bit more exotic like gamescope --expose-wayland -- protonup-qt), it crashes early on with the following output, starting from ce1156af053239e662aa021dbfc6a64cb770f64a:

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.
xdg_backend: Couldn't create Wayland objects.
Failed to create backend.

The rest of this logging is present in working Gamescope versions, so the notable lines I believe are:

xdg_backend: Couldn't create Wayland objects.
Failed to create backend.

This issue does not occur in 14a1db3a57612e5cfbba6d4c19688eafdc6c4043 and below at least a few commits below. I believe before updating I was using ba5f9e8e0c490ebadc1012ff1e6f5a38cb4a00f7 and it was also working.

sonic2kk avatar Mar 05 '24 17:03 sonic2kk

This issue may be specific to Plasma 5, once Plasma 6 makes its way to my distribution in stable repos I'll retry and see if the issue persists.

sonic2kk avatar Mar 05 '24 20:03 sonic2kk

The issue is likely that gamescope started using a new Wayland backend when it detects Wayland. Unfortunately there's no software switch to change backends. Can you try 14a1db3a57612e5cfbba6d4c19688eafdc6c4043? That commit still uses SDL.

Zoarial94 avatar Mar 06 '24 01:03 Zoarial94

Maybe you missed it, sorry, but I mentioned already that I tried that commit and it is the latest working one. I also thought I already mentioned that I suspected the Wayland backend to be the problem.

Is there a technical reason why the new Wayland backend cannot work / is not intended to work, or is this a bug?

sonic2kk avatar Mar 06 '24 12:03 sonic2kk

You're right. I did miss it. I would assume that Plasma 6 brought new features to WKin that Gamescope now relies on. You could try editing main.cpp to use the SDL backend instead of Wayland and see if that resolves your problem. I don't have the time to write it out, sorry.

I'm sure there's someone with deeper knowledge who can chime in. I also think it wouldn't be a bad idea to add a flag to toggle which backend is in use (at least while Wayland is being developed)

Zoarial94 avatar Mar 06 '24 12:03 Zoarial94

I'll make it fall back to the old SDL backend if it can't use the neww one.

Joshua-Ashton avatar Mar 06 '24 14:03 Joshua-Ashton

As of the 3.14.2 update, I have also been getting this error, previously it worked fine

OpenSUSE Tumbleweed Kernel 6.7.7 Plasma 5.27.10

Kizaing avatar Mar 12 '24 02:03 Kizaing

The fallback should be there in master

Joshua-Ashton avatar Mar 14 '24 04:03 Joshua-Ashton

I'm on Plasma 6 now but if someone can test that this works on Plasma 5 I will close this issue.

Thanks!

sonic2kk avatar Mar 19 '24 18:03 sonic2kk

Running Siduction (Debian sid base) with Plasma Wayland 5.27.10, 6900XT, Mesa-git 24.1

Built 9567fb3 just now, chokes with the same error.

$ gamescope
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.
xdg_backend: Couldn't create Wayland objects.
terminate called without an active exception
Aborted

Built 14a1db3 and it works normally. It also complains about wp_presentation/presentation-time.

dpanter avatar Apr 02 '24 14:04 dpanter