-
-
Notifications
You must be signed in to change notification settings - Fork 21.4k
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
Pop-up windows instantly minimize on Fedora Linux 38 GNOME (DisplayServer regression) #77333
Comments
Try using the |
I have the same thing on Fedora Silverblue 38. It's intermittent but when I select an inputfield in the main editor or popup that window will minimise. Trying to bring it back up will minimise it again instantly. I have to in a split second mash escape to stop focus on the inputfield. Edit: Fedora.38.Gnome.Minimise.Issue.mp4In the video I open up the Create > Resource popup. Click on a node and then the input field and causing it to minimise. Trying to bring it back up causes it to instantly minimise again. Edit 2: As far as I can tell --single-window does prevent the issue from occurring. |
I confirm the issue on Fedora Linux 38 GNOME (Wayland), but I confirm too that it happened to me on:
|
I have tested this with Godot v4.1.beta (824c139) - Debian 12 - X11 - Xfce - Vulkan and I am unable to replicate this issue. |
The Wayland reports could be related to some weird XWayland related issue/quirk so it doesn't surprise me as much but the X11 reports surprise me a lot. @adamscott could you elaborate on your setup? i3 doesn't support minimizing AFAIK, what do you mean that you could reproduce this issue on it? Have you also tried a clean live ISO? |
Good idea. I'll do that. |
|
@hunterloftis Are you on a X11 or Wayland session? Use |
@Calinou I'm on wayland (this is a close-to-stock Fedora 38 Thinkpad) |
This bug is present on Gentoo (Gnome/Wayland) as well, in every version I've tried from 4.0-stable to HEAD (6588a4a). I'll try a couple more older stable releases to see if there is a version where it doesn't occur. |
This bug doesn't occur in 3.x to my knowledge, as it's related to the DisplayServer refactoring which landed in 4.0. so I'd recommend trying 4.0 alphas/betas/RCs first. |
Reflects my experience so far. I just tried 3.5.1 and it seems to be working fine. I can attempt a bisect (git bisect tells me the merge base is 3.2-stable, so the bisect would run from 3.2 to 4.0). Forgive me if this is obvious, but is there a place I can look up which commits were tagged as release candidates? I only see tags for the stable releases. |
We don't tag prereleases on GitHub by design, but you can use the script mentioned in Bisecting regressions to get the commit hash of a given prerelease. |
First attempt at a bisect is... inconclusive. Git indicates d543ddf was the first bad commit, but looking at the diff, there is no way this is possible. I presume the bug failed to materialize at some point, and I flagged a bad commit as good. I can't categorize the behavior of the bug exactly, but after testing at least 18 builds, I have developed certain paranoias. I think it may behave differently when the editor window is maximized. I performed all my tests with the editor window in a floating state. I also notice on some builds, the bug seems to trigger instantly and consistently, while on others the probability is apparently lower. I treated all builds where any whiff of the bug exhibited itself as a failure. Here is my bisect log
I'll give it another shot. At least, we know the bug was introduced before d543ddf. |
Alright folks. I think I found it. 0f5b448 Broken behavior is evident before and after this commit, but the current behavior starts here. My testing strategy has been rougly, create a new project, un-maximize the editor window,3D scene, add 5 nodes, add a script, open the project settings dialog, add five more nodes, save the scene, and quit. Each time a dialog opens, it has a chance of triggering the current bug. I noticed, before this commit (I can't say how far back it goes), the current bug doesn't occur, but saving the scene causes the editor window to be maximized for no reason. This stops and is replaced by the current behavior at 0f5b448 Bisect log for completeness:
|
Thanks @PorkrollPosadist for spelunking. Hopefully pointing at the likely commit helps this to be resolved soon - this bug makes using Godot a huge chore on Fedora these days. I didn't realize how many pop-up dialogs the app had until every one of them was minimized by default! |
NOT making any promises, but I finally have a debugging setup where I can set arbitrary breakpoints and inspect the stack. It is time for bed now, but if no one cracks this, I will continue fiddling around with it for a bit. |
A partial workaround that I've been successful with, for the most egregious case (F5 -> instantly backgrounded game window), is to set edit: not perfect. Seems to help? |
When the bug occurrs, it looks like things have gone wrong by the time For some reason, by the time You can catch Godot in the act by setting a breakpoint on
Some of the logic involved with creating Windows and doing other X11 stuff seems inherently racey. The inconsistency of this bug also implies this. Whatever is happening here is likely being caused by some sort of race condition. A call to XFlush or XSync in the right or wrong place might make all the difference. I will continue debugging. |
I'll try to build locally the editor with a Wayland check to not execute 0f5b448. |
Currently experimenting with an implementation of Potentially, it can fall back to the current implementation if it is not able to detect the _NET_WM_STATE or _NET_WM_STATE_HIDDEN atoms. On the other hand, EWMH appears to be assumed in other parts of the code and there may be no loss of backwards compatibility to be worried about. The EWMH spec dates to 2005, while ICCCM was published in 1994! I guess if anyone else wants to try it, it's here: https://github.com/PorkrollPosadist/godot/tree/fix-wayland-window-behavior. I'd like to make sure this is working on a variety of platforms before I make a PR. |
@PorkrollPosadist I'd suggest you create a PR. When pushing a PR, the CI/CD setup builds artifacts that make it possible to test the PR without having to build it yourself. |
I'm going to test this on at least one X11 system first to make sure I don't faceplant out of the gate, but expect it within a few hours. |
The bug is still available in the new release 4.2 dev 3. i'm on Ubuntu 23.04 |
Can confirm this....I hope it will be fixed in the near future...is quite annoying |
This has been fixed, but it isn't in dev3 (as you can see the comment was before the issue was closed), you will have to wait for dev4 or build yourself from source |
thanks for the info...great to hear that it should be available in dev4 😀 |
It will also be available in a future 4.1 patch |
Godot v4.1.1.stable (bd6af8e) - Freedesktop SDK 22.08 (Flatpak runtime) - Vulkan (Forward+) - dedicated AMD Radeon RX 6600M (RADV NAVI23) () - AMD Ryzen 7 5800H with Radeon Graphics (16 Threads) I have the same issue as well. I can open the window for "Create a New Resource" just fine--though it starts minimized. But, the window for "Save Resource As" cannot be opened at all as described in the .mp4 above. I also cannot interact with the main Godot window while the Save Resource As window is unable to be opened, until I force-close said window. Hopefully this gets fixed very soon! |
It has been fixed, will hopefully be in 4.1.2 see above |
Fix is not in 4.1.2, but is in 4.2 beta 1. |
Bugsquad note: This issue has been confirmed several times already. No need to confirm it further.
Godot version
4.0.3
System information
Fedora 38
Issue description
In the Godot editor, choosing to add a node to a (2D or 3D) scene will open the pop-up window, only to instantly minimize it. This seems to persist with every other dialogue/pop-up box throughout the editor. Other desktops I've tried (Cinnamon, KDE) do not encounter this issue.
Steps to reproduce
Open a project in the Godot 4 Editor.
Click the "+" button to add a node.
The pop-up will open, but instantly minimize.
Minimal reproduction project
project.zip
The text was updated successfully, but these errors were encountered: