Open Bug 1502519 Opened 6 years ago Updated 4 months ago

CSD regression: (Un)maximizing/snapping a window can break window content on KDE and Gnome

Categories

(Core :: Widget: Gtk, defect, P3)

x86_64
Linux
defect

Tracking

()

REOPENED
Tracking Status
firefox-esr60 --- wontfix
firefox-esr68 --- wontfix
firefox-esr78 --- fix-optional
firefox63 --- wontfix
firefox64 --- wontfix
firefox65 --- wontfix
firefox66 --- wontfix
firefox67 --- wontfix
firefox68 --- wontfix
firefox69 --- wontfix
firefox70 --- wontfix
firefox72 --- wontfix
firefox73 --- wontfix
firefox74 --- wontfix
firefox78 --- wontfix
firefox79 --- wontfix
firefox80 --- wontfix
firefox81 --- wontfix
firefox82 --- fix-optional

People

(Reporter: jan, Unassigned)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: nightly-community, regression)

Attachments

(4 files)

Not reproducible with Gnome on Debian Testing.
Okay, adding to the titlebar tracker.
Blocks: gtktitlebar
Flags: needinfo?(stransky)
See Also: → 1458860
See Also: → 1508594
Attached video 2019-05-04_14-53-33.mp4

Debian Testing, X11, Macbook Pro

STR for KDE:

  1. run mozregression --launch 2019-05-01 --pref layers.acceleration.force-enabled:true -a about:blank
  2. Open Help > About Nightly, maximize it, unmaximize it, etc.

(Regression range is the same as in comment 0.)

Fine:
MOZ_GTK_TITLEBAR_DECORATION=none mozregression --launch 2019-05-01 --pref layers.acceleration.force-enabled:true -a about:blank
MOZ_GTK_TITLEBAR_DECORATION=system mozregression --launch 2019-05-01 --pref layers.acceleration.force-enabled:true -a about:blank

Broken (as without env var):
MOZ_GTK_TITLEBAR_DECORATION=client mozregression --launch 2019-05-01 --pref layers.acceleration.force-enabled:true -a about:blank

Summary: regression: Maximized library window becomes transparent/empty (Linux/KDE + GPU Process) → CSD regression: (Un)maximizing a window can break its content on KDE
See Also: 1502516
No longer blocks: 1417933
Regressed by: 1417933
Blocks: 1518796

WebRender's picture caching makes this bug more likely/visible.

Martin, could you prioritize/triage this one?

Flags: needinfo?(stransky)
Flags: needinfo?(stransky)
Priority: -- → P3
See Also: → 1521175
See Also: → 1489463
See Also: → 1569745
Summary: CSD regression: (Un)maximizing a window can break its content on KDE → CSD regression: (Un)maximizing/snapping a window can break its content on KDE/XFCE/Gnome

There are several images of examples when changing workspaces on XFCE attached to bug 1547964.
(I see this dozens of times a day.)

Summary: CSD regression: (Un)maximizing/snapping a window can break its content on KDE/XFCE/Gnome → CSD regression: (Un)maximizing/snapping a window/shifting workspaces can break window content on KDE/XFCE/Gnome
Summary: CSD regression: (Un)maximizing/snapping a window/shifting workspaces can break window content on KDE/XFCE/Gnome → CSD regression: (Un)maximizing/snapping a window can break window content on KDE/XFCE/Gnome

Jan, is this bug for accelerated (web render / GL compositor) or non-accelerated Firefox? Because it may be a different bug in all those cases.

Flags: needinfo?(jan)

OpenGL + WebRender.
Changing workspaces is WebRender-only bug 1514148 though.

Flags: needinfo?(jan)

bug 1569745 is an OpenGL+WebRender bug like this one, too. Both were caused by enabling CSD / ARGB visual.

An observation: In comment 3 (attachment 9062697 [details]) you see that "About Firefox Nightly" is not correctly sized right after opening it. I would not be surprised if it was related to bug 1489463.

Happy to take a patch for 70 or beyond.
Since we are getting close to the end of the 69 beta cycle and this is set to P3, I'm marking it fix-optional for 69 and 70 to remove it from weekly triage.

Jan, is that X11 only or it's broken on both X11 and Wayland? Thanks.

Flags: needinfo?(jan)

Should be fixed by bug 1489463.

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → DUPLICATE
Attached video 2020-01-14_15-25-56.mp4

Sorry: Attached screencast is WebRender/KDE/X11/Debian Testing/Macbook Pro.

Flags: needinfo?(jan)
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Summary: CSD regression: (Un)maximizing/snapping a window can break window content on KDE/XFCE/Gnome → CSD regression: (Un)maximizing/snapping a window can break window content on KDE (maybe on XFCE/Gnome, too?)

(And if you noticed that menu entries are highlighted with a delay - the paint happens only when the next entry is hovered -, that's bug 1567791: WebRender uses Basic Compositor for small widgets. The problem only happens with Basic widgets inside GPU process when using a non-compositing window manager. It would also occur when directly using Basic compositing + gpu process + layers.gpu-process.allow-software;true)

It's not clear to me if that bug is still valid, is that a duplicate of bug 1489463 ?

Flags: needinfo?(jan)

bug 1489463 was about a broken main window on startup (screencast: bug 1489463 comment 62) and was fixed.
This bug is about broken painting when maximizing a window other than the main window, e.g. Library, Downloads, About.

Flags: needinfo?(jan)

Please test it under Plasma 5.18 - it should support some Gtk+ specific hacks.

Flags: needinfo?(jan)
Attached video Ubuntu 20.04 KDE.mp4

The bug is still present with Plasma 5.18.3/Ubuntu 20.04 (Radeon RX480) and Plasma 5.17.5/Debian Testing (Macbook Pro: Intel Iris 6100 Broadwell GT3).

Flags: needinfo?(jan)

I can't reproduce this bug with GDK_BACKEND=wayland because Firefox is freezing: bug 1609115 (bug 1593478 == bug 1584845)

KDE/X11: Software WebRender (bug 1601053) is affected by this as well.

See Also: → 1652310
See Also: → 1656211

Also reproducible with Gnome XWayland, Debian Testing, 2560x1440@60Hz, Intel HD Graphics 630 (KBL GT2).
mozregression --launch 2020-07-30 --pref gfx.webrender.all:true layers.gpu-process.enabled:false -a https://keithclark.co.uk/labs/css-fps/nojs/
» About Firefox with Minecraft glass effect «

Summary: CSD regression: (Un)maximizing/snapping a window can break window content on KDE (maybe on XFCE/Gnome, too?) → CSD regression: (Un)maximizing/snapping a window can break window content on KDE and Gnome
Severity: normal → S3
See Also: → 1708943

With my own small EGL/X11 demo app I encountered a bug that looked exactly the same as the one in comment 3, comment 15 and comment 21.
I could fix it with:

// If not set, some GL frames are just empty on Gnome Xwayland+X11/Mesa.
// https://docs.gtk.org/gtk3/method.Widget.set_double_buffered.html
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
gtk_widget_set_double_buffered(GTK_WIDGET(window_widget_ptr), FALSE);
G_GNUC_END_IGNORE_DEPRECATIONS

Firefox has gotten a similar code line:
https://searchfox.org/mozilla-central/rev/cdfdd9704d53b1dd03b991ab508fe5cffa461609/widget/gtk/nsWindow.cpp#5739

I need to retest this bug on KDE/X11.

Flags: needinfo?(jan)
See Also: → 1743255
See Also: → 1743254
Has Regression Range: --- → yes

Clear a needinfo that is pending on an inactive user.

Inactive users most likely will not respond; if the missing information is essential and cannot be collected another way, the bug maybe should be closed as INCOMPLETE.

For more information, please visit BugBot documentation.

Flags: needinfo?(jan)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: