examples icon indicating copy to clipboard operation
examples copied to clipboard

Graphical corruption on Wayland

Open nyanpasu64 opened this issue 4 years ago • 2 comments

Are Wayland bugs in-scope or not?

I copied the binary from my desktop to my laptop, which works better with Wayland:

  • OS: Garuda Linux (an Arch derivative with a nice installer and questionable software in addition to official Arch repos)
  • GPU: Mesa Intel® HD Graphics 520 (SKL GT2)
  • Kernel: 5.12.12-169-tkg-bmq

On KWin Wayland, IIRC I get the usual bugs. On GNOME Wayland (Mutter 40.2.1), I get spectacular graphical corruption (similar to what I saw on my Nvidia desktop):

Startup: startup

Note that the title bar is transparent. As soon as you try opening a "Menu & MenuBar" menu, the title bar glitches and moving the window instead results in a "hall of mirrors effect" where the past window contents leave a trail in the title bar, flickering between 2 pages (on Intel) or 3 pages (on Nvidia) of differently-corrupted textures.

Resize: image

Hovering the UI to make it redraw: image

GTK3 file dialog: image

Also menu text is invisible as before.

Note that native GTK3 apps have normal-looking title bars and file dialogs (though text lacks antialiasing due to some fontconfig mixup).


Upstream:

  • https://github.com/flutter/flutter/issues/75948 says they got flickering on X, not Wayland. But I'm getting more issues (both title bar and app corruption) on Wayland.

nyanpasu64 avatar Jun 24 '21 00:06 nyanpasu64

I'm getting corruption and flicker on https://github.com/flutter/samples/tree/master/experimental/desktop_photo_search (which isn't nativeshell) on KWin Wayland, I should probably report it upstream, but installing Flutter on my laptop for further testing will be a headache.

nyanpasu64 avatar Jun 24 '21 01:06 nyanpasu64

This really looks like a bug outside of flutter / nativeshell. The difference between regular Gtk+ applications and nativeshell is that nativeshell draws the content through OpenGL, while native Gtk (3.0) applications don't. That might explain different behavior.

knopp avatar Jun 24 '21 09:06 knopp