godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
91.1k stars 21.18k forks source link

Wayland feels sluggish with Vulkan compared to OpenGL #95566

Open eobet opened 3 months ago

eobet commented 3 months ago

Tested versions

4.3

System information

Godot v4.3.stable - Nobara Linux 40 (GNOME Edition) - Wayland - Vulkan (Mobile) - dedicated NVIDIA GeForce RTX 3050 Ti Laptop GPU - 11th Gen Intel(R) Core(TM) i7-11370H @ 3.30GHz (8 Threads)

Issue description

While Wayland feels fantastic in general for me on Linux, in Godot something has felt "off" ever since I've begun testing it. It's not bad, but it's not as smooth as the rest of my Gnome desktop experience.

Now I have some stats to back that up:

Prefer Wayland Off

eobet@surface:~/Downloads$ ./Godot_v4.3-stable_linux.x86_64 --print-fps flag: godot --print-fps ./shadertest2/project.godot
Godot Engine v4.3.stable.official.77dcf97d8 - https://godotengine.org
Vulkan 1.3.280 - Forward Mobile - Using Device #1: NVIDIA - NVIDIA GeForce RTX 3050 Ti Laptop GPU
Requested V-Sync mode: Enabled - FPS will likely be capped to the monitor refresh rate.
Editor FPS: 145 (6.89 mspf)
Editor FPS: 145 (6.89 mspf)
Editor FPS: 140 (7.14 mspf)
Editor FPS: 145 (6.89 mspf)
Editor FPS: 144 (6.94 mspf)
Editor FPS: 143 (6.99 mspf)
Editor FPS: 127 (7.87 mspf)
Editor FPS: 115 (8.69 mspf)
Editor FPS: 113 (8.84 mspf)
Editor FPS: 142 (7.04 mspf)
Editor FPS: 135 (7.40 mspf)
Editor FPS: 101 (9.90 mspf)
Editor FPS: 104 (9.61 mspf)
Editor FPS: 125 (8.00 mspf)
Editor FPS: 145 (6.89 mspf)
Editor FPS: 145 (6.89 mspf)
Editor FPS: 143 (6.99 mspf)
Editor FPS: 145 (6.89 mspf)
Editor FPS: 140 (7.14 mspf)
Editor FPS: 118 (8.47 mspf)
Editor FPS: 115 (8.69 mspf)
Editor FPS: 134 (7.46 mspf)
Editor FPS: 145 (6.89 mspf)
Editor FPS: 138 (7.24 mspf)
Editor FPS: 142 (7.04 mspf)
Editor FPS: 128 (7.81 mspf)
Editor FPS: 97 (10.30 mspf)
Editor FPS: 105 (9.52 mspf)
Editor FPS: 109 (9.17 mspf)
Editor FPS: 139 (7.19 mspf)
Editor FPS: 145 (6.89 mspf)
Editor FPS: 56 (17.85 mspf)
Editor FPS: 126 (7.93 mspf)
Editor FPS: 145 (6.89 mspf)
Editor FPS: 143 (6.99 mspf)
Editor FPS: 145 (6.89 mspf)
Editor FPS: 145 (6.89 mspf)
Editor FPS: 145 (6.89 mspf)
Editor FPS: 143 (6.99 mspf)

Prefer Wayland On

eobet@surface:~/Downloads$ ./Godot_v4.3-stable_linux.x86_64 --print-fps flag: godot --print-fps ./shadertest2/project.godot
Godot Engine v4.3.stable.official.77dcf97d8 - https://godotengine.org
WARNING: Can't obtain the XDG decoration manager. Libdecor will be used for drawing CSDs, if available.
     at: init (platform/linuxbsd/wayland/wayland_thread.cpp:3713)
Vulkan 1.3.280 - Forward Mobile - Using Device #1: NVIDIA - NVIDIA GeForce RTX 3050 Ti Laptop GPU
Requested V-Sync mode: Enabled - FPS will likely be capped to the monitor refresh rate.
Editor FPS: 46 (21.73 mspf)
Editor FPS: 110 (9.09 mspf)
Editor FPS: 108 (9.25 mspf)
Editor FPS: 35 (28.57 mspf)
Editor FPS: 51 (19.60 mspf)
Editor FPS: 50 (20.00 mspf)
Editor FPS: 62 (16.12 mspf)
Editor FPS: 101 (9.90 mspf)
Editor FPS: 69 (14.49 mspf)
Editor FPS: 39 (25.64 mspf)
Editor FPS: 34 (29.41 mspf)
Editor FPS: 52 (19.23 mspf)
Editor FPS: 94 (10.63 mspf)
Editor FPS: 117 (8.54 mspf)
Editor FPS: 63 (15.87 mspf)
Editor FPS: 10 (100.00 mspf)
Editor FPS: 10 (100.00 mspf)
Editor FPS: 15 (66.66 mspf)
Editor FPS: 101 (9.90 mspf)
Editor FPS: 80 (12.50 mspf)
Editor FPS: 99 (10.10 mspf)
Editor FPS: 110 (9.09 mspf)
Editor FPS: 96 (10.41 mspf)
Editor FPS: 111 (9.00 mspf)
Editor FPS: 83 (12.04 mspf)
Editor FPS: 106 (9.43 mspf)
Editor FPS: 62 (16.12 mspf)
Editor FPS: 83 (12.04 mspf)
Editor FPS: 64 (15.62 mspf)
Editor FPS: 70 (14.28 mspf)
Editor FPS: 69 (14.49 mspf)
Editor FPS: 69 (14.49 mspf)
Editor FPS: 83 (12.04 mspf)
Editor FPS: 102 (9.80 mspf)
Editor FPS: 77 (12.98 mspf)
Editor FPS: 80 (12.50 mspf)
Editor FPS: 75 (13.33 mspf)
Editor FPS: 94 (10.63 mspf)
Editor FPS: 96 (10.41 mspf)
Editor FPS: 100 (10.00 mspf)
Editor FPS: 85 (11.76 mspf)
Editor FPS: 121 (8.26 mspf)
Editor FPS: 97 (10.30 mspf)
Editor FPS: 110 (9.09 mspf)
Editor FPS: 104 (9.61 mspf)
Editor FPS: 90 (11.11 mspf)
Editor FPS: 88 (11.36 mspf)
Editor FPS: 83 (12.04 mspf)
Editor FPS: 102 (9.80 mspf)
Editor FPS: 112 (8.92 mspf)
Editor FPS: 103 (9.70 mspf)
Editor FPS: 98 (10.20 mspf)
Editor FPS: 94 (10.63 mspf)
Editor FPS: 111 (9.00 mspf)
Editor FPS: 98 (10.20 mspf)
Editor FPS: 101 (9.90 mspf)

Also, I thought I had a 120hz screen, so it's weird to see it go higher... it's a Microsoft Surface Studio laptop so it's one of those which switch between an Intel GPU and an Nvidia GPU... (I wouldn't mind keeping the Editor at 60 to save on resources, btw).

Steps to reproduce

Run Godot with the flags from here, and test with "prefer wayland" on and off (with restarts in between).

Minimal reproduction project (MRP)

N/A

Calinou commented 3 months ago

Also, I thought I had a 120hz screen, so it's weird to see it go higher...

The reported FPS can't really be trusted when low-processor mode is enabled, which is the case in the editor unless you enable Update Continuously in the editor settings.

I suggest doing that and reporting back on both XWayland and Wayland. This way, we can know if low-processor mode is the culprit.

(I wouldn't mind keeping the Editor at 60 to save on resources, btw).

This can be done by setting Low Processor Mode Sleep Usec to 66666 in the Editor Settings. It will only be effective when Update Continuously is unchecked.

Riteo commented 3 months ago

The reported FPS can't really be trusted when low-processor mode is enabled, which is the case in the editor unless you enable Update Continuously in the editor settings.

My bad, I proposed measuring FPS and forgot about low consumption mode :sweat_smile:

eobet commented 2 months ago

Ok, so I toggled that "update continuously" setting to ON and measured the following:

eobet@surface:~/Downloads$ ./Godot_v4.3-stable_linux.x86_64 --print-fps flag: godot --print-fps ./shadertest2/project.godot
Godot Engine v4.3.stable.official.77dcf97d8 - https://godotengine.org
WARNING: Can't obtain the XDG decoration manager. Libdecor will be used for drawing CSDs, if available.
     at: init (platform/linuxbsd/wayland/wayland_thread.cpp:3713)
Vulkan 1.3.280 - Forward Mobile - Using Device #1: NVIDIA - NVIDIA GeForce RTX 3050 Ti Laptop GPU
Requested V-Sync mode: Enabled - FPS will likely be capped to the monitor refresh rate.
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)

And yeah, that absolutely tanked the fps... but weirdly it feels smoother? Is because of frame pacing then? I know you both said that the other framerate couldn't be trusted, but the Wayland reading fluctuated wildly, while the off setting seemed more stable...

PS. I've now also changed the sleep setting and that further reduced the framerate to 15? Feels weird...

Riteo commented 2 months ago

Mhh... That's interesting. Your GPU is quite beefy and I can't seem to replicate this with a simple 3d scene on sway, running in debug mode on an AMD iGPU.

I know I'll sound like a broken record, but I really hope it's not nvidia-related once again. I don't remember if we already talked about this, but just in case make sure to have the latest driver version if that's not already the case.

Let's do some quick consistency checks and try narrow it down in the meantime. If you say that everything is quite smooth, I'd try OpenGL (--rendering-driver opengl), since basically every other (non-xwayland) program uses that. Maybe there's something wrong with the Vulkan stack. I remember that nvidia's implementation has always had some weird quirks, even on X11.

Otherwise I'd also test performance with the intel iGPU. The easiest way is probably passing --gpu-index 0 when using Vulkan (the ids start from 0 and your dGPU is marked as number 1).

eobet commented 2 months ago

Haha... it's super smooth using opengl... so yeah, probably Nvidia again then... and unfortunately I just ran all updates too... that open source driver can't be ready soon enough so we can kick their neglected proprietary crap out!

eobet@surface:~/Downloads$ ./Godot_v4.3-stable_linux.x86_64 --rendering-driver opengl --print-fps flag: godot --print-fps ./shadertest2/project.godot
Unknown rendering driver 'opengl', aborting.
Valid options are 'vulkan', 'opengl3', 'opengl3_es', 'vulkan', 'opengl3', 'opengl3_es', 'dummy', .
eobet@surface:~/Downloads$ ./Godot_v4.3-stable_linux.x86_64 --rendering-driver opengl3 --print-fps flag: godot --print-fps ./shadertest2/project.godot
Godot Engine v4.3.stable.official.77dcf97d8 - https://godotengine.org
WARNING: Can't obtain the XDG decoration manager. Libdecor will be used for drawing CSDs, if available.
     at: init (platform/linuxbsd/wayland/wayland_thread.cpp:3713)
Invalid value (0) for DRI_PRIME. Should be > 0
libEGL warning: egl: failed to create dri2 screen
Inconsistent value (2) for DRI_PRIME. Should be < 2 (GPU devices count). Using: 1
libEGL warning: egl: failed to create dri2 screen
Inconsistent value (3) for DRI_PRIME. Should be < 2 (GPU devices count). Using: 1
libEGL warning: egl: failed to create dri2 screen
Requested V-Sync mode: Enabled - FPS will likely be capped to the monitor refresh rate.
OpenGL API 4.6 (Core Profile) Mesa 24.1.5 - Compatibility - Using Device: Intel - Mesa Intel(R) Xe Graphics (TGL GT2)
Editor FPS: 35 (28.57 mspf)
Editor FPS: 103 (9.70 mspf)
Editor FPS: 118 (8.47 mspf)
Editor FPS: 111 (9.00 mspf)
Editor FPS: 75 (13.33 mspf)
Editor FPS: 68 (14.70 mspf)
Editor FPS: 79 (12.65 mspf)
Editor FPS: 79 (12.65 mspf)
Editor FPS: 70 (14.28 mspf)
Editor FPS: 69 (14.49 mspf)
Editor FPS: 70 (14.28 mspf)
Editor FPS: 92 (10.86 mspf)
Editor FPS: 111 (9.00 mspf)
Editor FPS: 115 (8.69 mspf)
Editor FPS: 89 (11.23 mspf)
Editor FPS: 98 (10.20 mspf)
Editor FPS: 75 (13.33 mspf)
Editor FPS: 67 (14.92 mspf)
Editor FPS: 67 (14.92 mspf)
Editor FPS: 79 (12.65 mspf)
Editor FPS: 72 (13.88 mspf)
Editor FPS: 75 (13.33 mspf)
Editor FPS: 94 (10.63 mspf)
Editor FPS: 119 (8.40 mspf)
Editor FPS: 77 (12.98 mspf)
Editor FPS: 82 (12.19 mspf)
Editor FPS: 71 (14.08 mspf)
Editor FPS: 102 (9.80 mspf)
Editor FPS: 113 (8.84 mspf)
Editor FPS: 115 (8.69 mspf)
Editor FPS: 117 (8.54 mspf)
Editor FPS: 118 (8.47 mspf)
Editor FPS: 120 (8.33 mspf)
Editor FPS: 120 (8.33 mspf)
Editor FPS: 120 (8.33 mspf)
Editor FPS: 120 (8.33 mspf)
Editor FPS: 116 (8.62 mspf)
Editor FPS: 114 (8.77 mspf)
Editor FPS: 103 (9.70 mspf)
Editor FPS: 107 (9.34 mspf)
Editor FPS: 95 (10.52 mspf)
Editor FPS: 117 (8.54 mspf)
Editor FPS: 117 (8.54 mspf)
Editor FPS: 116 (8.62 mspf)
Editor FPS: 115 (8.69 mspf)
Editor FPS: 70 (14.28 mspf)
Editor FPS: 58 (17.24 mspf)
Editor FPS: 59 (16.94 mspf)
Editor FPS: 60 (16.66 mspf)
Editor FPS: 60 (16.66 mspf)
Editor FPS: 58 (17.24 mspf)
Editor FPS: 60 (16.66 mspf)
Editor FPS: 60 (16.66 mspf)
Editor FPS: 59 (16.94 mspf)
Editor FPS: 61 (16.39 mspf)
Editor FPS: 60 (16.66 mspf)
Editor FPS: 58 (17.24 mspf)
Editor FPS: 60 (16.66 mspf)
Editor FPS: 59 (16.94 mspf)
Editor FPS: 60 (16.66 mspf)
Editor FPS: 58 (17.24 mspf)
Editor FPS: 60 (16.66 mspf)
Editor FPS: 59 (16.94 mspf)
Editor FPS: 60 (16.66 mspf)
Editor FPS: 60 (16.66 mspf)
Editor FPS: 60 (16.66 mspf)
Editor FPS: 58 (17.24 mspf)

(Btw, I toggle update continuously ON halfway through and this time I see the expected 60fps, but using the default sleep setting, not the suggested 66666 value.)

EDIT: Oh, seems the opengl mode stays on Intel? I don't see (because I also have an extension to check) the Nvidia GPU kicking in...

Riteo commented 2 months ago

Thanks for testing! This is a bit annoying... I'm not sure what we can do here.

EDIT: Btw... seems the opengl mode stays on Intel? I don't see (because I also have an extension to check) the Nvidia GPU kicking in...

Yeah, you're right. Check the log:

OpenGL API 4.6 (Core Profile) Mesa 24.1.5 - Compatibility - Using Device: Intel - Mesa Intel(R) Xe Graphics (TGL GT2)

I'm not sure if the half-broken DRI_PRIME prober port is causing issues here of if it's simply refusing to work. Does the GPU kick in with other applications? You could try setting the DRI_PRIME environment variable to 0 since it's using 1.

DRI_PRIME=0 godot (and so on)

Edit: wait, I'm not even sure it's actually using 1. For all we know it might be defaulting to 1 and then we override to 0, so please try both 0 and 1.

eobet commented 2 months ago

Unreal kicks off the Nvidia GPU immediately, but I'm only on 5.3 and I don't think it has proper Wayland support (same blurry font rendering as if I switch off Wayland in Godot). I tried Exhibit which has Wayland support and that did not activate the Nvidia GPU... 😥

eobet@surface:~/Downloads$ DRI_PRIME=0 ./Godot_v4.3-stable_linux.x86_64 --print-fps flag: godot --print-fps ./shadertest2/project.godot
Godot Engine v4.3.stable.official.77dcf97d8 - https://godotengine.org
WARNING: Can't obtain the XDG decoration manager. Libdecor will be used for drawing CSDs, if available.
     at: init (platform/linuxbsd/wayland/wayland_thread.cpp:3713)
Vulkan 1.3.280 - Forward Mobile - Using Device #1: NVIDIA - NVIDIA GeForce RTX 3050 Ti Laptop GPU
Requested V-Sync mode: Enabled - FPS will likely be capped to the monitor refresh rate.
Editor FPS: 21 (47.61 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 25 (40.00 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 25 (40.00 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 24 (41.66 mspf)
eobet@surface:~/Downloads$ DRI_PRIME=1 ./Godot_v4.3-stable_linux.x86_64 --print-fps flag: godot --print-fps ./shadertest2/project.godot
Godot Engine v4.3.stable.official.77dcf97d8 - https://godotengine.org
WARNING: Can't obtain the XDG decoration manager. Libdecor will be used for drawing CSDs, if available.
     at: init (platform/linuxbsd/wayland/wayland_thread.cpp:3713)
Vulkan 1.3.280 - Forward Mobile - Using Device #0: NVIDIA - NVIDIA GeForce RTX 3050 Ti Laptop GPU
Requested V-Sync mode: Enabled - FPS will likely be capped to the monitor refresh rate.
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 25 (40.00 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)

So weirdly, both of these triggered the Nvidia GPU... and they felt basically the same too... steady frame pacing but not too high frame rate.

Can I force the editor to use OpenGL without resorting to command line arguments?

akien-mga commented 2 months ago

To clarify, DRI_PRIME only affects OpenGL, not Vulkan. And it's not supported by Nvidia AFAIK, this is something used by Mesa and thus only open source drivers (Intel/AMD).

For Vulkan, you can instead use the --gpu-index command offered by Godot. Or set which ICD to use with VK_ICD_FILENAMES.

Can I force the editor to use OpenGL without resorting to command line arguments?

Yes, by making a GL Compatibility project.

eobet commented 2 months ago

Thank you for the information!

Here is what I got using those parameters instead, first index 0 (oh, and with added verbose too which apparently lists my devices):

eobet@surface:~/Downloads$ ./Godot_v4.3-stable_linux.x86_64 --verbose --gpu-index 0 --print-fps flag: godot --print-fps ./shadertest2/project.godot
Godot Engine v4.3.stable.official.77dcf97d8 - https://godotengine.org
TextServer: Added interface "Dummy"
TextServer: Added interface "ICU / HarfBuzz / Graphite (Built-in)"
JoypadLinux: udev enabled and loaded successfully.
WARNING: Can't obtain the XDG decoration manager. Libdecor will be used for drawing CSDs, if available.
     at: init (platform/linuxbsd/wayland/wayland_thread.cpp:3713)
Output 3ee4f5e0 scale 2
Bumping cursor scale to 2
Output 3ee4f5e0 done.
Detected invalid cursor size preference, defaulting to 24.
Loading cursor theme "default" size 48.
Failed loading cursor: crossed_circle
Text-to-Speech: Speech Dispatcher initialized.
Showing window.
Resizing the window from (1152, 648) to (2304, 1296) (fractional scale x2.000000).
libdecor frame on configure rect [P: (0, 0), S: (1152, 648)]
VSYNC: manually throttling frames using MAILBOX.
libdecor frame on commit
Devices:
  #0: Intel Intel(R) Xe Graphics (TGL GT2) - Supported, Integrated
  #1: NVIDIA NVIDIA GeForce RTX 3050 Ti Laptop GPU - Supported, Discrete
  #2: Unknown llvmpipe (LLVM 18.1.6, 256 bits) - Supported, CPU
- Vulkan Variable Rate Shading supported:
  Pipeline fragment shading rate
- Vulkan multiview supported:
  max view count: 16
  max instances: 268435455
- Vulkan subgroup:
  size: 32
  min size: 8
  max size: 32
  stages: STAGE_VERTEX, STAGE_TESSELLATION_CONTROL, STAGE_TESSELLATION_EVALUATION, STAGE_GEOMETRY, STAGE_FRAGMENT, STAGE_COMPUTE
  supported ops: FEATURE_BASIC, FEATURE_VOTE, FEATURE_ARITHMETIC, FEATURE_BALLOT, FEATURE_SHUFFLE, FEATURE_SHUFFLE_RELATIVE, FEATURE_CLUSTERED, FEATURE_QUAD
  quad operations in all stages
Vulkan 1.3.289 - Forward Mobile - Using Device #0: Intel - Intel(R) Xe Graphics (TGL GT2)
Resizing the window from (1200, 731) to (2400, 1462) (fractional scale x2.000000).
libdecor frame on configure rect [P: (0, 0), S: (1200, 731)]
Startup PSO cache (0.0 MiB)
PortalDesktop: DBus 1.14.10 detected.
ScreenSaver: DBus 1.14.10 detected.
Requested V-Sync mode: Enabled - FPS will likely be capped to the monitor refresh rate.
Using "default" pen tablet driver...
Creating VMA small objects pool for memory type index 0
Shader 'CanvasSdfShaderRD' (group 0) SHA256: f65579ae334cdfb6901aee2527afd18ed626d1067a35c91f12fb632b45ce7f21
Shader 'SkeletonShaderRD' (group 0) SHA256: 4964fd59acf4406110ae7bca4b716f23ae52cc19864e21a8a35aee53e141e17e
Shader 'SortShaderRD' (group 0) SHA256: 0b1e36114ab5330dc340cc740b0b946ed2dbf43098119b8d29cfa0222da18b7a
Shader 'ParticlesShaderRD' (group 0) SHA256: 47fcf57848349fdf54197e5c1f64750a69c8d54787d3509ade4781c9faa31654
Shader 'ParticlesCopyShaderRD' (group 0) SHA256: 69566a7b0235d75ec40f504cd5555856aace22b5273899269166fde57287d26e
Shader 'CanvasShaderRD' (group 0) SHA256: 165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148
Shader 'CanvasOcclusionShaderRD' (group 0) SHA256: 42f2245b35206bcace1cda9e39e9282519e9967978ba6d5956472809525b1150
Shader 'SceneForwardMobileShaderRD' (group 0) SHA256: e902df56af9ca9d9d9416d71378d35cb342cbc94502027ef4929feede81891a9
Shader 'SkyShaderRD' (group 0) SHA256: 4bc541bfde1c30032df77bb4c98974909ad0368d22557f44e6cf095b26c0490a
Shader 'BokehDofRasterShaderRD' (group 0) SHA256: f30ffa9b63b7111cdeebc9cfd845e16bce37fb3def0098b0ea4291c5cba4c56c
Shader 'BlurRasterShaderRD' (group 0) SHA256: 1491fde07959e0231c42129c86e0b36750d05d340fa12a234e747a34c291ab85
Shader 'CopyShaderRD' (group 0) SHA256: 4a43f34799f84bc5a387aff816d36330149d91299172af9be2d3ab05cc0c4e9d
Shader 'CopyToFbShaderRD' (group 0) SHA256: 8668028c5ceed89276611359329de4a0f5d40702546caecc31456f63f6f9ffe8
Shader 'CubeToDpShaderRD' (group 0) SHA256: e3db5adc31b15e80112f4d7497dc8563c39b7d64675a53dcce7f9511c5ca9f80
Shader 'CubemapDownsamplerRasterShaderRD' (group 0) SHA256: 7b25ae2b6822705c2714ecbc0e14d2af08ab7d08e88a1c3b7fa0ecc9bb281250
Shader 'CubemapFilterRasterShaderRD' (group 0) SHA256: 41fc5058a6a86412a99e75cfc00cb64be45eb0aa6d46278a0a0355ed01bc5487
Shader 'CubemapRoughnessRasterShaderRD' (group 0) SHA256: 2b317415ef9a47a49583fda31b04795e8751db94b488132f8816daa29362958a
Shader 'SpecularMergeShaderRD' (group 0) SHA256: a119881bb41d0ec2f36a7f060866ec38b88afa6d0e484a431c65b35b5a2e820b
Shader 'ShadowFrustumShaderRD' (group 0) SHA256: c9c1b6421f8f6625effc9ddfa4bb2c09cafda0942b62fb8e1414e90820e18fa0
Shader 'MotionVectorsShaderRD' (group 0) SHA256: cbf3cbdcba0d0a2026c9fbf248556f1acd11beacc38a2e8c5ce7009ee49a1560
Shader 'LuminanceReduceRasterShaderRD' (group 0) SHA256: 3ccd96a23701d47b6b28640ac3624f391cf503bff4453adcf9486ce1f753c572
Shader 'TonemapShaderRD' (group 0) SHA256: 1c4748b3de350503048a1f9eca4f1dc2b308086460692ea0a81bababfd80542a
Shader 'BlitShaderRD' (group 0) SHA256: 09b63e5347ccb6779fd79e54b093cfc915ec80510efa1f613c9ada9ff2e0f70d
PulseAudio 16.1.0 detected.
PulseAudio: context other
PulseAudio: context other
PulseAudio: context other
PulseAudio: context ready
PulseAudio: Detecting channels for device: alsa_output.pci-0000_00_1f.3.analog-stereo
PulseAudio: detected 2 output channels
PulseAudio: audio buffer frames: 512 calculated output latency: 11ms

Using present mode: Mailbox
ERROR: Wayland protocol error 0 on interface wl_surface@43.
   at: _poll_events_thread (platform/linuxbsd/wayland/wayland_thread.cpp:2745)
TextServer: Primary interface set to: "ICU / HarfBuzz / Graphite (Built-in)".

================================================================
handle_crash: Program crashed with signal 4
Engine version: Godot Engine v4.3.stable.official (77dcf97d82cbfe4e4615475fa52ca03da645dbd8)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib64/libc.so.6(+0x40d00) [0x7fa17e177d00] (??:0)
[2] ./Godot_v4.3-stable_linux.x86_64() [0x487d37] (??:0)
[3] ./Godot_v4.3-stable_linux.x86_64() [0x3e474d5] (??:0)
[4] ./Godot_v4.3-stable_linux.x86_64() [0x4ae7b23] (??:0)
[5] /lib64/libc.so.6(+0x976d7) [0x7fa17e1ce6d7] (??:0)
[6] /lib64/libc.so.6(+0x11b60c) [0x7fa17e25260c] (??:0)
-- END OF BACKTRACE --
================================================================
Aborted (core dumped)

And then index 1:

eobet@surface:~/Downloads$ ./Godot_v4.3-stable_linux.x86_64 --verbose --gpu-index 1 --print-fps flag: godot --print-fps ./shadertest2/project.godot
Godot Engine v4.3.stable.official.77dcf97d8 - https://godotengine.org
TextServer: Added interface "Dummy"
TextServer: Added interface "ICU / HarfBuzz / Graphite (Built-in)"
JoypadLinux: udev enabled and loaded successfully.
WARNING: Can't obtain the XDG decoration manager. Libdecor will be used for drawing CSDs, if available.
     at: init (platform/linuxbsd/wayland/wayland_thread.cpp:3713)
Output 7f3a4c000b70 scale 2
Bumping cursor scale to 2
Output 7f3a4c000b70 done.
Detected invalid cursor size preference, defaulting to 24.
Loading cursor theme "default" size 48.
Failed loading cursor: crossed_circle
Text-to-Speech: Speech Dispatcher initialized.
Showing window.
Resizing the window from (1152, 648) to (2304, 1296) (fractional scale x2.000000).
libdecor frame on configure rect [P: (0, 0), S: (1152, 648)]
VSYNC: manually throttling frames using MAILBOX.
libdecor frame on commit
Devices:
  #0: Intel Intel(R) Xe Graphics (TGL GT2) - Supported, Integrated
  #1: NVIDIA NVIDIA GeForce RTX 3050 Ti Laptop GPU - Supported, Discrete
  #2: Unknown llvmpipe (LLVM 18.1.6, 256 bits) - Supported, CPU
- Vulkan Variable Rate Shading supported:
  Pipeline fragment shading rate
  Primitive fragment shading rate
  Attachment fragment shading rate, min texel size: (16, 16), max texel size: (16, 16), max fragment size: (4, 4)
- Vulkan multiview supported:
  max view count: 32
  max instances: 134217727
- Vulkan subgroup:
  size: 32
  min size: 32
  max size: 32
  stages: STAGE_VERTEX, STAGE_TESSELLATION_CONTROL, STAGE_TESSELLATION_EVALUATION, STAGE_GEOMETRY, STAGE_FRAGMENT, STAGE_COMPUTE, STAGE_RAYGEN_KHR, STAGE_ANY_HIT_KHR, STAGE_CLOSEST_HIT_KHR, STAGE_MISS_KHR, STAGE_INTERSECTION_KHR, STAGE_CALLABLE_KHR, STAGE_TASK_NV, STAGE_MESH_NV
  supported ops: FEATURE_BASIC, FEATURE_VOTE, FEATURE_ARITHMETIC, FEATURE_BALLOT, FEATURE_SHUFFLE, FEATURE_SHUFFLE_RELATIVE, FEATURE_CLUSTERED, FEATURE_QUAD, FEATURE_PARTITIONED_NV
  quad operations in all stages
Resizing the window from (1200, 731) to (2400, 1462) (fractional scale x2.000000).
libdecor frame on configure rect [P: (0, 0), S: (1200, 731)]
Vulkan 1.3.280 - Forward Mobile - Using Device #1: NVIDIA - NVIDIA GeForce RTX 3050 Ti Laptop GPU
Startup PSO cache (3.3 MiB)
PortalDesktop: DBus 1.14.10 detected.
ScreenSaver: DBus 1.14.10 detected.
Requested V-Sync mode: Enabled - FPS will likely be capped to the monitor refresh rate.
Using "default" pen tablet driver...
Creating VMA small objects pool for memory type index 1
Shader 'CanvasSdfShaderRD' (group 0) SHA256: f65579ae334cdfb6901aee2527afd18ed626d1067a35c91f12fb632b45ce7f21
Shader 'SkeletonShaderRD' (group 0) SHA256: 4964fd59acf4406110ae7bca4b716f23ae52cc19864e21a8a35aee53e141e17e
Shader 'SortShaderRD' (group 0) SHA256: 0b1e36114ab5330dc340cc740b0b946ed2dbf43098119b8d29cfa0222da18b7a
Shader 'ParticlesShaderRD' (group 0) SHA256: 47fcf57848349fdf54197e5c1f64750a69c8d54787d3509ade4781c9faa31654
Shader 'ParticlesCopyShaderRD' (group 0) SHA256: 69566a7b0235d75ec40f504cd5555856aace22b5273899269166fde57287d26e
Shader 'CanvasShaderRD' (group 0) SHA256: 165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148
Shader 'CanvasOcclusionShaderRD' (group 0) SHA256: 42f2245b35206bcace1cda9e39e9282519e9967978ba6d5956472809525b1150
Shader 'SceneForwardMobileShaderRD' (group 0) SHA256: e902df56af9ca9d9d9416d71378d35cb342cbc94502027ef4929feede81891a9
Shader 'SkyShaderRD' (group 0) SHA256: 4bc541bfde1c30032df77bb4c98974909ad0368d22557f44e6cf095b26c0490a
Shader 'BokehDofRasterShaderRD' (group 0) SHA256: f30ffa9b63b7111cdeebc9cfd845e16bce37fb3def0098b0ea4291c5cba4c56c
Shader 'BlurRasterShaderRD' (group 0) SHA256: 1491fde07959e0231c42129c86e0b36750d05d340fa12a234e747a34c291ab85
Shader 'CopyShaderRD' (group 0) SHA256: 4a43f34799f84bc5a387aff816d36330149d91299172af9be2d3ab05cc0c4e9d
Shader 'CopyToFbShaderRD' (group 0) SHA256: 8668028c5ceed89276611359329de4a0f5d40702546caecc31456f63f6f9ffe8
Shader 'CubeToDpShaderRD' (group 0) SHA256: e3db5adc31b15e80112f4d7497dc8563c39b7d64675a53dcce7f9511c5ca9f80
Shader 'CubemapDownsamplerRasterShaderRD' (group 0) SHA256: 7b25ae2b6822705c2714ecbc0e14d2af08ab7d08e88a1c3b7fa0ecc9bb281250
Shader 'CubemapFilterRasterShaderRD' (group 0) SHA256: 41fc5058a6a86412a99e75cfc00cb64be45eb0aa6d46278a0a0355ed01bc5487
Shader 'CubemapRoughnessRasterShaderRD' (group 0) SHA256: 2b317415ef9a47a49583fda31b04795e8751db94b488132f8816daa29362958a
Shader 'SpecularMergeShaderRD' (group 0) SHA256: a119881bb41d0ec2f36a7f060866ec38b88afa6d0e484a431c65b35b5a2e820b
Shader 'ShadowFrustumShaderRD' (group 0) SHA256: c9c1b6421f8f6625effc9ddfa4bb2c09cafda0942b62fb8e1414e90820e18fa0
Shader 'MotionVectorsShaderRD' (group 0) SHA256: cbf3cbdcba0d0a2026c9fbf248556f1acd11beacc38a2e8c5ce7009ee49a1560
Shader 'LuminanceReduceRasterShaderRD' (group 0) SHA256: 3ccd96a23701d47b6b28640ac3624f391cf503bff4453adcf9486ce1f753c572
Shader 'TonemapShaderRD' (group 0) SHA256: 1c4748b3de350503048a1f9eca4f1dc2b308086460692ea0a81bababfd80542a
Shader 'VrsShaderRD' (group 0) SHA256: def705023965d273a669c1ac6acfd7494138bde25b3e3bde0969c3c7a32c3aae
Shader 'BlitShaderRD' (group 0) SHA256: 09b63e5347ccb6779fd79e54b093cfc915ec80510efa1f613c9ada9ff2e0f70d
PulseAudio 16.1.0 detected.
PulseAudio: context other
PulseAudio: context other
PulseAudio: context other
PulseAudio: context ready
PulseAudio: Detecting channels for device: alsa_output.pci-0000_00_1f.3.analog-stereo
PulseAudio: detected 2 output channels
PulseAudio: audio buffer frames: 512 calculated output latency: 11ms

Using present mode: Mailbox
TextServer: Primary interface set to: "ICU / HarfBuzz / Graphite (Built-in)".
libdecor frame on configure rect [P: (0, 0), S: (1200, 731)]
Window entered output 7f3a4c000b70.

libdecor frame on commit
Pointing window.
CORE API HASH: 966092234
EDITOR API HASH: 444927587
EditorSettings: Load OK!
VSYNC: manually throttling frames using MAILBOX.
window minsize set to (2048, 1200)
EditorTheme: Generating new theme for the config '1718694270'.
EditorTheme: Generating new icons.
EditorTheme: Generating new fonts.
EditorTheme: Generating new styles.
Loaded system CA certificates
window max size set to (32768, 32768)
window minsize set to (2048, 1200)
EditorSettings: Save OK!
window max size set to (32768, 32768)
window minsize set to (2048, 1200)
libdecor frame on commit
libdecor frame on commit
Using present mode: Mailbox
libdecor frame on commit
Generated 'res://node_position.tres' preview in 35 usec
Generated 'res://simplextest.gdshader' preview in 5 usec
Generated 'res://simplextest.tres' preview in 18 usec
Generated 'res://testlevel.gdshader' preview in 4 usec
Generated 'res://VSSimplexNoise3D.gd' preview in 1501 usec
Generated 'ID:-9223370283685972613' preview in 85871 usec
Generated 'ID:-9223370283669195396' preview in 96011 usec
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
libdecor frame on commit
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 25 (40.00 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 18 (55.55 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 21 (47.61 mspf)
Editor FPS: 20 (50.00 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 26 (38.46 mspf)
Editor FPS: 27 (37.03 mspf)
Editor FPS: 26 (38.46 mspf)
Frame timeout.
Window suspended.
window max size set to (32768, 32768)
window minsize set to (2048, 1200)
Editor FPS: 22 (45.45 mspf)
window max size set to (32768, 32768)
window minsize set to (2048, 1200)
libdecor frame on commit
EditorSettings: Save OK!
XR: Clearing primary interface
XR: Removed interface "Native mobile"
XR: Removed interface "OpenXR"
PulseAudio: context terminated
libdecor frame on close
Orphan StringName: Node (static: 5, total: 6)
StringName: 1 unclaimed string names at exit.
Godot Engine v4.3.stable.official.77dcf97d8 - https://godotengine.org
TextServer: Added interface "Dummy"
TextServer: Added interface "ICU / HarfBuzz / Graphite (Built-in)"
JoypadLinux: udev enabled and loaded successfully.
WARNING: Can't obtain the XDG decoration manager. Libdecor will be used for drawing CSDs, if available.
     at: init (platform/linuxbsd/wayland/wayland_thread.cpp:3713)
Output 38907220 scale 2
Bumping cursor scale to 2
Output 38907220 done.
eobet@surface:~/Downloads$ Detected invalid cursor size preference, defaulting to 24.
Loading cursor theme "default" size 48.
Failed loading cursor: crossed_circle
Detecting GPUs, set DRI_PRIME in the environment to override GPU detection logic.
Text-to-Speech: Speech Dispatcher initialized.
Invalid value (0) for DRI_PRIME. Should be > 0
libEGL warning: egl: failed to create dri2 screen
Inconsistent value (2) for DRI_PRIME. Should be < 2 (GPU devices count). Using: 1
libEGL warning: egl: failed to create dri2 screen
Inconsistent value (3) for DRI_PRIME. Should be < 2 (GPU devices count). Using: 1
libEGL warning: egl: failed to create dri2 screen
Found renderers:
Renderer 0: Mesa Intel(R) Xe Graphics (TGL GT2) with priority: 20
Renderer 1: zink Vulkan 1.3(NVIDIA GeForce RTX 3050 Ti Laptop GPU (NVIDIA_PROPRIETARY)) with priority: 0
Renderer 2: zink Vulkan 1.3(NVIDIA GeForce RTX 3050 Ti Laptop GPU (NVIDIA_PROPRIETARY)) with priority: 0
Renderer 3: zink Vulkan 1.3(NVIDIA GeForce RTX 3050 Ti Laptop GPU (NVIDIA_PROPRIETARY)) with priority: 0
Using renderer: Mesa Intel(R) Xe Graphics (TGL GT2)
Loaded EGL 1.5
Showing window.
Resizing the window from (1152, 648) to (2304, 1296) (fractional scale x2.000000).
libdecor frame on configure rect [P: (0, 0), S: (1152, 648)]
VSYNC: manually throttling frames with swap delay 0.
libdecor frame on commit
PortalDesktop: DBus 1.14.10 detected.
ScreenSaver: DBus 1.14.10 detected.
Using "default" pen tablet driver...
Shader 'CanvasSdfShaderGLES3' SHA256: 93175f7d3ee48e639a6cd7df47cc80ce85043298dfd5b6947fdbef347debf83b
Shader 'SkeletonShaderGLES3' SHA256: 708e5f3b7a7613994432d1e77087647aaa383e8c0d4b008b08c6586f5db5184a
Shader 'ParticlesShaderGLES3' SHA256: 01c0783a0ec694e04c29fc81926060d561c1c68c53109aaffa006b7e6d4cdcad
Shader 'ParticlesCopyShaderGLES3' SHA256: 78291bb1cec31f6f31d8508f07671adfdc0b6ff69c8809bd0a0c5e73a6f1e4fb
Shader 'CopyShaderGLES3' SHA256: 9fdf6a1e6770da5bea6eea3cef73fd8353fa81750cd93c02d3bc20ecbe82b0c1
Shader 'CubemapFilterShaderGLES3' SHA256: 4def14a64d1a34df5423056d0af7a94294ba57303af0b781a0e148180f1c0943
Shader 'GlowShaderGLES3' SHA256: 4117702298cef21852afbb4b6c892749ef6e9571b0966a40782976ee6a0e8f3b
Shader 'PostShaderGLES3' SHA256: 2df5d0f1f0b6e827bac3cc4da2a3547c28867eb4713476ed90f359f52f385f3c
Resizing the window from (1200, 731) to (2400, 1462) (fractional scale x2.000000).
libdecor frame on configure rect [P: (0, 0), S: (1200, 731)]
Shader 'CanvasShaderGLES3' SHA256: 9419f17ea75968f18a82320f6dd11f386d64b9aa764e0969846c89ce5a259266
Shader 'CanvasOcclusionShaderGLES3' SHA256: cacde09de8c189b5a9d1076604fc64b72533f76c6ecdd15fde686824a200b9b9
Shader 'SceneShaderGLES3' SHA256: 73c9208afd0be031a5e9ca1f049e87c1e0bca0a1175403a5131694d6bb3b22f7
Shader 'SkyShaderGLES3' SHA256: a2fba601fa1bd7a1b630de5c0f94607a76d1975a97c38cb01b330ee6d1f12da8
OpenGL API 4.6 (Core Profile) Mesa 24.1.5 - Compatibility - Using Device: Intel - Mesa Intel(R) Xe Graphics (TGL GT2)
PulseAudio 16.1.0 detected.
PulseAudio: context other
PulseAudio: context other
PulseAudio: context other
PulseAudio: context ready
PulseAudio: Detecting channels for device: alsa_output.pci-0000_00_1f.3.analog-stereo
PulseAudio: detected 2 output channels
PulseAudio: audio buffer frames: 512 calculated output latency: 11ms

TextServer: Primary interface set to: "ICU / HarfBuzz / Graphite (Built-in)".
libdecor frame on configure rect [P: (0, 0), S: (1200, 731)]
Window entered output 38907220.

libdecor frame on commit
Pointing window.
CORE API HASH: 966092234
EDITOR API HASH: 444927587
EditorSettings: Load OK!
VSYNC: manually throttling frames with swap delay 0.
window minsize set to (2048, 1200)
EditorTheme: Generating new theme for the config '1718694270'.
EditorTheme: Generating new icons.
EditorTheme: Generating new fonts.
EditorTheme: Generating new styles.
Loaded system CA certificates
window max size set to (16384, 16384)
window minsize set to (2048, 1200)
EditorSettings: Save OK!
window max size set to (16384, 16384)
window minsize set to (2048, 1200)
libdecor frame on commit
libdecor frame on commit
libdecor frame on commit
Generated 'res://node_position.tres' preview in 34 usec
Generated 'res://simplextest.gdshader' preview in 4 usec
Generated 'res://simplextest.tres' preview in 16 usec
Generated 'res://testlevel.gdshader' preview in 4 usec
Generated 'res://testlevel.tscn' preview in 5989 usec
Generated 'ID:-9223370347724606163' preview in 4793 usec
Generated 'ID:-9223370347707828946' preview in 7522 usec
libdecor frame on commit
Left window.
libdecor frame on commit
libdecor frame on commit
libdecor frame on commit
libdecor frame on commit
libdecor frame on commit
libdecor frame on close
libdecor frame on commit
Requested attention.
Received activation token and requested window activation.
libdecor frame on commit
Pointing window.
Frame timeout.
Window suspended.
window max size set to (16384, 16384)
window minsize set to (2048, 1200)
window max size set to (16384, 16384)
window minsize set to (2048, 1200)
libdecor frame on commit
Generated 'res://node_position.tres' preview in 47 usec
Generated 'res://simplextest.gdshader' preview in 5 usec
Generated 'res://simplextest.tres' preview in 16 usec
Generated 'res://testlevel.tscn' preview in 4795 usec
EditorSettings: Save OK!
XR: Clearing primary interface
XR: Removed interface "Native mobile"
XR: Removed interface "OpenXR"
PulseAudio: context terminated
libdecor frame on close
Orphan StringName: Node (static: 5, total: 6)
StringName: 1 unclaimed string names at exit.

Now, in the middle of the index 1 test I switched the project from mobile to compability and yeah, it's such a night and day difference in perceived smoothness with OpenGL + Wayland!

Riteo commented 2 months ago

ERROR: Wayland protocol error 0 on interface wl_surface@43. at: _poll_events_thread (platform/linuxbsd/wayland/wayland_thread.cpp:2745)

Uh oh, it crashed. Does this happen constantly? I'm really not sure why it's crashing when using the Xe GPU with Vulkan.

eobet commented 2 months ago

Only in mobile mode (started in compability and then switched to mobile to re-trigger crash):

eobet@surface:~/Downloads$ ./Godot_v4.3-stable_linux.x86_64 --gpu-index 0 --print-fps flag: godot --print-fps ./shadertest2/project.godot
Godot Engine v4.3.stable.official.77dcf97d8 - https://godotengine.org
WARNING: Can't obtain the XDG decoration manager. Libdecor will be used for drawing CSDs, if available.
     at: init (platform/linuxbsd/wayland/wayland_thread.cpp:3713)
Invalid value (0) for DRI_PRIME. Should be > 0
libEGL warning: egl: failed to create dri2 screen
Inconsistent value (2) for DRI_PRIME. Should be < 2 (GPU devices count). Using: 1
libEGL warning: egl: failed to create dri2 screen
Inconsistent value (3) for DRI_PRIME. Should be < 2 (GPU devices count). Using: 1
libEGL warning: egl: failed to create dri2 screen
Requested V-Sync mode: Enabled - FPS will likely be capped to the monitor refresh rate.
OpenGL API 4.6 (Core Profile) Mesa 24.1.5 - Compatibility - Using Device: Intel - Mesa Intel(R) Xe Graphics (TGL GT2)

Editor FPS: 60 (16.66 mspf)
Editor FPS: 59 (16.94 mspf)
Editor FPS: 58 (17.24 mspf)
Editor FPS: 60 (16.66 mspf)
Editor FPS: 60 (16.66 mspf)
Editor FPS: 60 (16.66 mspf)
Editor FPS: 60 (16.66 mspf)
Editor FPS: 68 (14.70 mspf)
Editor FPS: 71 (14.08 mspf)
Editor FPS: 61 (16.39 mspf)
Editor FPS: 62 (16.12 mspf)
Editor FPS: 62 (16.12 mspf)
Editor FPS: 59 (16.94 mspf)
Editor FPS: 65 (15.38 mspf)
Editor FPS: 59 (16.94 mspf)
Editor FPS: 57 (17.54 mspf)
Editor FPS: 66 (15.15 mspf)
Editor FPS: 58 (17.24 mspf)
Editor FPS: 61 (16.39 mspf)
Editor FPS: 60 (16.66 mspf)
Editor FPS: 60 (16.66 mspf)
Editor FPS: 60 (16.66 mspf)
Editor FPS: 60 (16.66 mspf)
Editor FPS: 57 (17.54 mspf)
Editor FPS: 60 (16.66 mspf)
Editor FPS: 60 (16.66 mspf)
Editor FPS: 59 (16.94 mspf)
Editor FPS: 59 (16.94 mspf)
Godot Engine v4.3.stable.official.77dcf97d8 - https://godotengine.org
WARNING: Can't obtain the XDG decoration manager. Libdecor will be used for drawing CSDs, if available.
     at: init (platform/linuxbsd/wayland/wayland_thread.cpp:3713)
eobet@surface:~/Downloads$ Vulkan 1.3.289 - Forward Mobile - Using Device #0: Intel - Intel(R) Xe Graphics (TGL GT2)

ERROR: Wayland protocol error 0 on interface wl_surface@43.
   at: _poll_events_thread (platform/linuxbsd/wayland/wayland_thread.cpp:2745)

================================================================
handle_crash: Program crashed with signal 4
Engine version: Godot Engine v4.3.stable.official (77dcf97d82cbfe4e4615475fa52ca03da645dbd8)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib64/libc.so.6(+0x40d00) [0x7f130b126d00] (??:0)
[2] /home/eobet/Downloads/Godot_v4.3-stable_linux.x86_64() [0x487d37] (??:0)
[3] /home/eobet/Downloads/Godot_v4.3-stable_linux.x86_64() [0x3e474d5] (??:0)
[4] /home/eobet/Downloads/Godot_v4.3-stable_linux.x86_64() [0x4ae7b23] (??:0)
[5] /lib64/libc.so.6(+0x976d7) [0x7f130b17d6d7] (??:0)
[6] /lib64/libc.so.6(+0x11b60c) [0x7f130b20160c] (??:0)
-- END OF BACKTRACE --
================================================================
Riteo commented 2 months ago

@eobet that's quite weird. Could you pass me a wayland debug log while it crashes? If I'm not mistaken it's trying to say that the window's scale is wrong but I can't see why it would happen only on vulkan.

I've heard that the Xe driver is still in development but I'm not sure that's it. Does it crash with vulkan on X11?

On another note, if we can confirm that vulkan Xe is not sluggish on your machine I think that we can assess the actual issue of this thread as an nvidia issue, although I'm trying hard to not come to conclusions.