godot: GUI unresponsive on Godot 4 (regression from the NVIDIA Linux 450.66 driver and later)
Bugsquad edit: This issue has been confirmed several times already. No need to confirm it further.
Workaround: Enable Single Window Mode in the Editor Settings, or use the
--single-windowcommand line argument and open a project directly by specifying the path to itsproject.godotfile.If you can’t get to the checkbox, open
$HOME/.config/godot/editor_settings-4.tresand add this line:interface/editor/single_window_mode = true
Godot version: v4.0 Git commit f10c3810bb0abfa18b1a579ee927f460bf191b6d
OS: Archlinux latest (NVIDIA GTX 1060, 64 GB RAM, Intel Core i7)
Issue description: When initialize godot UI modals remains unresponsive
Steps to reproduce:
- Compile godot
- Open godot
- Create a new project
- Specify directory
- UI remains unresponsive

Bugsquad edit (keywords for easier searching): crash, crashing, freeze, freezing Windows counterpart of this issue: https://github.com/godotengine/godot/issues/45325
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Reactions: 7
- Comments: 71 (53 by maintainers)
@mrezai
Well, we already know that it’s a synchronization issue of some sort, since the UI gets stuck on some Vulkan function binded to some related semaphore(see https://github.com/godotengine/godot/issues/41574#issuecomment-683549656). It’s interesting though that by having a slower framerate it doesn’t freeze, and I can confirm that by putting a big enough delay right before all drawing code indeed avoids all the freezes. AFAICT since the editor doesn’t do any frame limiting, it uses the GPU’s frame synchronization fully, and for whatever reason(never used Vulkan, but to me it feels like the fence is never actually updated, and the X server eventually times out or something) the end of a frame draw is never signaled.
EDIT: Welp, looks like i was close, as right after I replicated this bug I came to read my X log and guess what I found:
[ 3553.500] (WW) NVIDIA: Wait for channel idle timed out.EDIT2: It was actually a semaphore, and not a fence.
After discussing with @AndreaCatania in his Godex Discord server, we found a workaround. This is what Andrea gave me and it works for me:
I’ve been having the same problem with my GTX 1070, driver is
450.66-0ubuntu0.20.04.1.Workaround because nobody has mentioned it yet: Enable “Single window mode” and it seems to work fine. If you can’t get to the checkbox, open
editor_settings-4.tresand add this line:I can confirm that
vkcubeindeed freezes momentarily, by simply moving the mouse in and out of the program window (not using PRIME, screen is directly hooked to NVIDIA card).This seems to still be an issue on the latest 460.23.03 nvidia driver on Ubuntu 20.04LTS. It still crashes without
interface/editor/single_window_mode = true.The default environment hasn’t been readded yet, that’s why everything is black by default.
Issue persists in the current release 455.23.04
Indeed! The problem disappears when editing a project directly with -e (and --single-window)!
This is indeed an issue related to multiple windows.
@pouleyKetchoupp Yes. It’s 100% reproducible with this build and these steps on the first attempt. Btw I also have Ryzen 5 2600
Oh sorry @pouleyKetchoupp I completely forgot to answer! Like @insomniacUNDERSCORElemon I haven’t got any iGPU since I run a ryzen 2600 and I can replicate this on the latest arch linux version too running version 465.31 of the drivers. Is that nightly build any special from a fresh compilation of HEAD? I can confirm though that it happens in a consistent way by doing things like scrolling or in general updating very quickly a sub-window. I don’t know if the freeze depends on a continuous fast update or just a very well timed out one though. If you’re contacting nvidia I collected some detailed data using their debug tool some time ago, that may be useful to them. Also I found out some time later that the X server timed out after the freeze and I can confirm that it still happens, maybe they could use it as a starting point for finding out the cause of the issue.
@pouleyKetchoupp
From what I’m seeing it is instant and consistent, at least triggered this way and from color/text boxes. I’ve tested it quite a few times, but I can’t exactly test too much as it freezes my system for a second time when killing the process (xkill leaves them behind, taking up resources).
Thought I might as well chime in with what I found so far, since everything in this issue happened to me. This seems to be an issue for me with everything that uses vulkan on my system, including Retroarch, Dolphin Emulator, etc. @TCROC 's fix does work for me, so big thanks for that, but I’ve also noticed that this freezing only tends to happen when invoking certain animations; such as highlighting text, and scrolling with the scrollbar too fast.
My System: Linux 5.12.9-arch1-1, Arch Linux + KDE Plasma 5.21.5 GPU: NVidia GTX 1080 w/ NVidia 465.31-7 Drivers
@TCROC I’m not sure. This issue actually started in #41574, where
--single-windowand it’s repercussions in the project manager were discussed, but then branched here.It sometimes happens on Windows 10 too (and when Single Window Mode is disabled).
I can reproduce the issue when moving the window, but I don’t think it’s so critical for now. You generally don’t move windows around all the time, especially game windows 🙂
I’m also still experiencing this in 59b30e1d23d096f5faa36d2faaa07792eba4fd81: Arch Linux, running nVidia 455.45.01 on GTX 1660 Ti
Single window mode resolved the issue for me.
Thanks both of you! I’ve updated the ticket upstream.
Ok, done. What I did and what happened:
-logverbose 6@pouleyKetchoupp I too tought about making a ticket, but didn’t because I thought that without a minimal Vulkan repo project we wouldn’t get that far. I’ll run that script as soon as I downgrade to 450.66! I tried to run the latest 455.23 beta and the issue persists, though there might be some fix that might be useful to you, since it mentions PRIME synchronization. Here’s the changelog just for reference:
Edit: Made the comment a little bit clearer on what I was talking about.
@pouleyKetchoupp in my case, after rolling back to 450.57 vkcube still freezes briefly after focusing and unfocusing its window, but Godot 4.0 doesn’t freeze the X11 server.
Thanks @seadra, that confirms a general issue with the nvidia drivers and not just in godot. In your case it might work better by switching the drivers version to 450.57 (apart from the workaround with --single-window).