That’s a good point. In that case we would have two separate bugs with similar behavior (I keep forgetting that my emulated system uses the software renderer). Certainly on my machine I’m certain that it’s due to _NET_WM_FRAME_DRAWN, I added debugging code to gdk and verified it. And the logs I got with xtrace match up.
On my system pixels are being uploaded to Glass and then passed to cairo to be painted (WindowContextBase::paint). If that’s not happening on your system then you’ve got a different bug. Or perhaps the same bug; the synchronization mechanism could be failing somewhere in the X11 stack in a way that affects both OpenGL and the sync messages. We’re also failing to get _NET_WM_FRAME_TIMINGS. On my system gdk_x11_window_set_frame_sync_enabled doesn’t seem to do anything either. I didn’t dig into the code to figure out why. Even if this doesn’t explain the loss of graphics when using OpenGL there’s still a problem if _NET_WM_FRAME_DRAWN doesn’t arrive. While the frame lock is frozen mouse move events don’t work. Gdk seems to be using the frame synch mechanism to consolidate move events before posting them. Martin > On Aug 18, 2026, at 11:10 AM, Thiago Milczarek Sayão <[email protected]> > wrote: > > Hi, > > I'm not saying that it isn't related to _NET_WM_FRAME_DRAWN, but I don't > think it should be for the following reasons: > > I would expect it to affect only software rendering, since with ES2 the > rendering is handled by OpenGL and does not rely on GDK/GTK for rendering. > Disabling frame synchronization with gdk_x11_window_set_frame_sync_enabled() > does not change the behavior. > Popups are override-redirect windows, so theoretically the window > manager/compositor should not manage or otherwise interfere with them. > -- Thiago > > Em ter., 18 de ago. de 2026 às 13:57, Martin Fox <[email protected] > <mailto:[email protected]>> escreveu: >> I was able to reproduce this bug while using xtrace and confirmed that the >> _NET_WM_FRAME_DRAWN message is not being sent. BTW it takes a lot longer to >> reproduce this with xtrace. >> >> I’ve written a standalone GTK 3.0 application that demonstrates the problem. >> I’ll attach it to the JBS ticket. >> >> So far I’ve only been able to reproduce this on Ubuntu 24 LTS with Xorg as >> the backend. When I run Ubuntu 24 under Wayland I can’t get it to reproduce. >> In Ubuntu 26 Wayland is the only option so I can’t reproduce the bug there, >> either. >> >> The frame lock freezing and thawing is internal to GDK and looking at the >> sources I don’t see any way to thaw it externally. >> >> Martin >> >> > On Aug 16, 2026, at 3:19 PM, Thiago Milczarek Sayão >> > <[email protected] <mailto:[email protected]>> wrote: >> > >> > The issue cannot be reproduced when running with GDK_SYNCHRONIZE=1 (not >> > recommended; used for testing purposes only). >> > >> > I've tried a few workarounds, but so far, none of them have been >> > successful. >> > >> > >> > >> > Em dom., 16 de ago. de 2026 às 02:41, Christopher Schnick < >> > [email protected] <mailto:[email protected]>> escreveu: >> > >> >> Would there be any way to guard against the bug from the JavaFX-side so >> >> that an invisible popup won't be shown when it happens? Doesn't have to >> >> be pretty, just to avoid the most glaring issue >> >> >> >> On 16/08/2026 02:56, Thiago Milczarek Sayão wrote: >> >>> Hi, >> >>> >> >>> It seems that this is a bug in Mutter. >> >>> >> >>> I tried disabling frame synchronization using >> >>> gdk_x11_window_set_frame_sync_enabled(), but the issue still occurs. >> >>> >> >>> I also tried forcing an Expose event after the popup was mapped, but that >> >>> did not solve the problem either. >> >>> >> >>> The popup window is mapped correctly, but occasionally it is not rendered >> >>> on screen. >> >>> >> >>> >> >>> See (the video shows one run, but i did many with the same result): >> >>> >> >>> youtube.com/watch?v=1LB2OLrYex8&feature=youtu.be >> >>> <http://youtube.com/watch?v=1LB2OLrYex8&feature=youtu.be> >> >>> >> >>> Xephyr :100 >> >>> >> >>> DISPLAY=:100 java @/home/tsayao/jfx/build/run.args AutoPopupTest.java >> >>> >> >>> Test 1: >> >>> No window manager - bug does not happen >> >>> >> >>> Test 2: >> >>> kwin - bug does not happen >> >>> DISPLAY=:100 dbus-run-session kwin_x11 --replace >> >>> >> >>> Test 3: >> >>> mutter - bug happens >> >>> DISPLAY=:100 dbus-run-session -- mutter --x11 >> >>> >> >>> -- Thiago. >> >>> >> >>> >> >>> >> >>> Em ter., 11 de ago. de 2026 às 20:18, Martin Fox <[email protected] >> >>> <mailto:[email protected]> >> >>> >> >>> escreveu: >> >>> >> >>>> For those of you who haven’t looked at the bug report, it has to do with >> >>>> GDK expecting the windowing system to send it a _NET_WM_FRAME_DRAWN >> >> message >> >>>> but the message never arrives. If this is something you have any >> >> experience >> >>>> with feel free to jump in and investigate (because I’m at a loss). >> >>>> >> >>>> It looks like we’re not the only one seeing this. I ran across a thread >> >>>> detailing how GVim sometimes freezes (vim/vim repository on GitHub, >> >> issue >> >>>> #12671) and they also concluded it was due to GDK not receiving this >> >>>> message. The Discourse discussion contains more information (link in the >> >>>> JBS ticket). They were not able to resolve the problem. >> >>>> >> >>>> Martin >> >>>> >> >>>>> On Aug 10, 2026, at 11:59 AM, Andy Goryachev < >> >> [email protected] <mailto:[email protected]>> >> >>>> wrote: >> >>>>> I think this scenario warrants bumping the issue to P3. >> >>>>> >> >>>>> -andy >> >>>>> >> >>>>> >> >>>>> From: PavelTurk <[email protected] >> >>>>> <mailto:[email protected]>> >> >>>>> Date: Sunday, August 9, 2026 at 23:55 >> >>>>> To: [email protected] <mailto:[email protected]> >> >>>>> <[email protected] <mailto:[email protected]>> >> >>>>> Subject: [External] : Using JavaFX on Linux can be dangerous >> >>>>> >> >>>>> Hi everyone, >> >>>>> >> >>>>> I would like to warn everyone and provide some feedback regarding the >> >>>>> use of JavaFX on Linux. We developed a small application and gave it to >> >>>>> a small number of the customer’s employees for testing. The application >> >>>>> was tested on both Linux and Windows. >> >>>>> >> >>>>> We encountered serious problems on Linux. Due to bug JDK-8371781, popup >> >>>>> windows are not displayed to the user, but they are still present in >> >> the >> >>>>> scene. As a result, a user can click on elements in these popups >> >> without >> >>>>> being able to see them, potentially triggering actions that they >> >>>>> absolutely should not be able to perform. >> >>>>> >> >>>>> Therefore, I decided to bring this issue to the attention of the JavaFX >> >>>>> developers and warn others about the potential safety implications of >> >>>>> using JavaFX on Linux. >> >>>>> >> >>>>> Best regards, Pavel >> >>>> >> >> >>
