GTK 4.16 flickers on Windows
As reported in https://github.com/msys2/MINGW-packages/issues/21959, it seems that GTK 4.16 has introduced persistent flickering on Windows. Pretty much any application (such as the demo app or the GTK inspector) will flicker between different states, e.g. after changing tab in the GTK Inspector one gets flickers of the previous tab.
This issue was not present in GTK 4.14. The issue is not fixed by changing the renderer to the old OpenGL renderer with GSK_RENDERER=gl
. With GSK_RENDERER=cairo
the issue goes away. The Vulkan renderer is disabled in MSYS2 builds so I didn't try it. GSK_DEBUG=full-redraw
seems to reduce the severity somewhat but does not fix the issue.
Versions tested: 4.16.0, 4.16.1.
System: Windows 11 using the mingw-w64-ucrt-x86_64-gtk4
package.
GPU: NVIDIA GeForce RTX 3070 (desktop). I was on driver version 546.17, but upgrading to the latest (561.09 at the time of writing) hasn't fixed it either.
Output of GDK_DEBUG=opengl
on my system:
requesting pixel format...
requested and set pixel format: 14
Creating core WGL context (version:3.2, debug:no, forward:no)
Creating core WGL context (version:3.2, debug:no, forward:no)
Created WGL context[0000000000010001], pixel_format=14
OpenGL version: 4.6 (core)
* GLSL version: 4.60 NVIDIA
* Max texture size: 32768
Enabled features (use GDK_GL_DISABLE env var to disable):
debug: YES
unpack-subimage: YES
half-float: YES
sync: YES
base-instance: YES
buffer-storage: YES
WGL API version 4.6 found
- Vendor: NVIDIA Corporation
- Renderer: NVIDIA GeForce RTX 3070/PCIe/SSE2
- GDI compatibility required: no
- Checked extensions:
* WGL_ARB_pixel_format: yes
* WGL_ARB_create_context: yes
* WGL_EXT_swap_control: yes
* WGL_OML_sync_control: no
* GL_WIN_swap_hint: yes
Using OpenGL backend Windows WGL
requesting pixel format...
requested and set pixel format: 14
Creating core WGL context (version:3.2, debug:no, forward:no)
Created WGL context[0000000000040000], pixel_format=14
OpenGL version: 4.6 (core)
* GLSL version: 4.60 NVIDIA
* Max texture size: 32768
Enabled features (use GDK_GL_DISABLE env var to disable):
debug: YES
unpack-subimage: YES
half-float: YES
sync: YES
base-instance: YES
buffer-storage: YES