Closed Bug 1600261 Opened 3 years ago Closed 3 years ago

[Wayland][WebRender] Windows become unresponsive if some are hidden (minimized or on different workspaces)

Categories

(Core :: Widget: Gtk, defect)

72 Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla73
Tracking Status
firefox-esr68 --- unaffected
firefox70 --- unaffected
firefox71 --- unaffected
firefox72 - fixed
firefox73 --- fixed

People

(Reporter: ke5trel, Assigned: sotaro)

References

(Blocks 2 open bugs, Regression)

Details

(Keywords: regression)

Attachments

(1 file)

STR:

  1. Start with MOZ_ENABLE_WAYLAND=true and gfx.webrender.all = true on Ubuntu 19.10.
  2. Create a second window and minimize it.

The first window becomes unresponsive until the second window is restored. This does not happen for all windows, for example minimizing the first window does not stop the second window from responding.

Similar to what happened with Bug 1515448.

Regression range:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=b7d60a096dae76f95dbad3b1f845ceb26e3e3d1b&tochange=f8aefd7e35e230dda972a06d2dca628dcd5513de

Regressed by Bug 1597619.

I see this on Gnome / Wayland, but I don't even need to minimize the second window. If I go back to the first one (with e.g. Alt-`), it's already stuck. I think it gets unstuck after 30 seconds or so.

For some reason I couldn't reproduce it with mozregression, but I'm pretty sure it's the same bug.

Does widget.wayland_vsync.enabled help? Might need a restart.

(In reply to Jan Alexander Steffens [:heftig] from comment #2)

Does widget.wayland_vsync.enabled help? Might need a restart.

It doesn't help in my case, but it makes the window invisible on startup (I need to minimize and restore it).

For anyone else who wants to try, you'll need a recent Nightly -- the pref was added on Nov 27.

Assignee: nobody → sotaro.ikeda.g

Bug 1597619 removed necessary handling of Bug 1548499.

MakeCurrent() needs to be called before eglSwapInterval.

Attachment #9112532 - Attachment description: Bug 1600261 - Call MakeCurrent() before we call eglSwapInterval → Bug 1600261 - Call MakeCurrent() before calling eglSwapInterval
Pushed by sikeda.birchill@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/174d605b02b0
Call MakeCurrent() before calling eglSwapInterval r=stransky
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla73
Duplicate of this bug: 1600622

Both wayland and webrender default to off, updating status for 72.

[Tracking Requested - why for this release]:

Distros are already supporting wayland, fedora and gentoo are just two if them. Would be nice not to have to patch the regression at the distro level.

Comment on attachment 9112532 [details]
Bug 1600261 - Call MakeCurrent() before calling eglSwapInterval

Beta/Release Uplift Approval Request

  • User impact if declined: Windows become unresponsive if some are hidden
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: none
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): The patch just added MakeCurrent() call.
  • String changes made/needed: None
Attachment #9112532 - Flags: approval-mozilla-beta?

(In reply to Jory A. Pratt [:anarchy] from comment #11)

Distros are already supporting wayland, fedora and gentoo are just two if them. Would be nice not to have to patch the regression at the distro level.

  1. they get to keep the pieces
  2. we're still not enabling webrender on linux in 72 afaik

Comment on attachment 9112532 [details]
Bug 1600261 - Call MakeCurrent() before calling eglSwapInterval

fix a webrender regression on wayland, approved for 72.0b5

Attachment #9112532 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.