Cannot use Drag and Drop in gnome-shell 42 (Wayland session)

Bug #1964541 reported by Matthew Ruffell
116
This bug affects 22 people
Affects Status Importance Assigned to Milestone
Mozilla Firefox
Fix Released
Unknown
Mutter
New
Unknown
firefox (Ubuntu)
Invalid
Medium
Unassigned
gtk+3.0 (Ubuntu)
Fix Released
Undecided
Unassigned
gtk4 (Ubuntu)
Fix Released
Undecided
Unassigned
mutter (Ubuntu)
Fix Released
High
Marco Trevisan (Treviño)

Bug Description

Since 42~beta-1ubuntu1, and still present in 42~beta-1ubuntu2, attempting to re-arrange tabs in Firefox fails. Click and drag the tab and release, nothing changes. The next click to the tab is ignored.

syslog has the following:

Mar 11 13:06:47 desktop firefox[2192]: Attempting to add a widget with type GtkWindow to a container of type GtkWindow, but the widget is already inside a container of type GtkWindow, please remove the widget from its existing container first.
Mar 11 13:06:48 desktop firefox[2192]: Attempting to add a widget with type GtkWindow to a container of type GtkWindow, but the widget is already inside a container of type GtkWindow, please remove the widget from its existing container first.
Mar 11 13:06:50 desktop firefox[2192]: Attempting to add a widget with type GtkWindow to a container of type GtkWindow, but the widget is already inside a container of type GtkWindow, please remove the widget from its existing container first.
Mar 11 13:06:51 desktop firefox[2192]: Attempting to add a widget with type GtkWindow to a container of type GtkWindow, but the widget is already inside a container of type GtkWindow, please remove the widget from its existing container first.

gnome-shell 42~beta-1ubuntu2
Firefox Snap 98.0-3 (1073)

A similar behavior can also be observed in gedit, nautilus and other GNOME applications whether they are confined or not (while snapped ones seems to underline the issue more)

tags: added: jammy
no longer affects: gnome-shell (Ubuntu)
no longer affects: gnome-shell (Ubuntu Jammy)
Revision history for this message
Sebastien Bacher (seb128) wrote :

Daniel, could you check on this one?

Changed in firefox (Ubuntu Jammy):
assignee: nobody → Daniel van Vugt (vanvugt)
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in firefox (Ubuntu):
status: New → Confirmed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Confirmed tabs can't be dragged in FF 98 on Wayland. But FF 97 (deb) in the same Wayland session works fine. Seems like a regression that's new in FF 98 although it might relate to an older issue: https://bugzilla.mozilla.org/show_bug.cgi?id=1700591

summary: - 42beta: Cannot re-arrange Firefox browser tabs
+ Cannot re-arrange Firefox 98 browser tabs
no longer affects: firefox (Ubuntu Jammy)
no longer affects: firefox
Revision history for this message
Daniel van Vugt (vanvugt) wrote (last edit ): Re: Cannot re-arrange Firefox 98 browser tabs

The tarball of the same release works just fine:

https://download-installer.cdn.mozilla.net/pub/firefox/releases/98.0.1/linux-x86_64/en-US/firefox-98.0.1.tar.bz2

So this seems to be a snap-only (confinement?) bug.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Maybe it's simpler than that.

When it's working, about:support reports:

  Window Protocol = xwayland

and when it's failing you see:

  Window Protocol = wayland

summary: - Cannot re-arrange Firefox 98 browser tabs
+ Cannot rearrange Firefox 98 browser tabs in Wayland sessions
tags: added: wayland wayland-session
Revision history for this message
Daniel van Vugt (vanvugt) wrote (last edit ): Re: Cannot rearrange Firefox 98 browser tabs in Wayland sessions

Firefox 97.0.1 (deb) reports it is using "wayland" in about:support, and tabs can be dragged just fine.

Firefox 98.0.1 (tar) when run with MOZ_ENABLE_WAYLAND=1, reports it is using "wayland" in about:support and tabs can be dragged just fine.

So it only fails in Firefox snaps that use native Wayland.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Same bug in the 91.7.1esr-2 snap.

Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: Cannot rearrange Firefox (snap) browser tabs in Wayland sessions
summary: - Cannot rearrange Firefox 98 browser tabs in Wayland sessions
+ Cannot rearrange Firefox (snap) browser tabs in Wayland sessions
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Weird. No bug in Weston with the same firefox 98.0.1-2 snap that fails in GNOME.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Is it perhaps related to the fix for bug 1959596?

Revision history for this message
Daniel van Vugt (vanvugt) wrote (last edit ):

The same Firefox snap doesn't start at all in Xorg sessions. Seems Firefox lost the ability to connect to X11 display :0 when all other X11 apps still can. --> bug 1965113

Changed in firefox (Ubuntu):
importance: Undecided → Medium
Revision history for this message
In , Jeremie Tamburini (jeremie2) wrote :

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:98.0) Gecko/20100101 Firefox/98.0

Steps to reproduce:

Fresh installed Ubuntu 22.04 (still development version) with Firefox snap version 98.0.1
(Also tried version 99 and 100 available on https://snapcraft.io/firefox same behavior).

1. Right click on toolbar
2. Select "Customise Toolbar"
3. Tried to remove items from the toolbar and add items on it via "drag and drop".

Actual results:

Nothing happens. It looks like drag and drop doesn't work.
While trying to move items, they simply disappear.
You can see a short video: https://www.youtube.com/watch?v=vsnr8O5EgFk

(Also tried to run Firefox from the terminal, but I didn't receive any warning while trying to customize the toolbar).

Expected results:

What should have happened is that every items should be moved between the toolbar and the list of items as shown in the official documentation:
https://support.mozilla.org/en-US/kb/customize-firefox-controls-buttons-and-toolbars

Revision history for this message
In , Release-mgmt-account-bot (release-mgmt-account-bot) wrote :

The [Bugbug](https://github.com/mozilla/bugbug/) bot thinks this bug should belong to the 'Firefox::Toolbars and Customization' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Revision history for this message
In , Jeremie Tamburini (jeremie2) wrote :

I've realized 2 new things:
1. this problem is related to the **Wayland** session
2. drag and drop doesn't work also with tabs

No problem at all selecting the xorg session at login, and this actually works as workaround.
I have seen other bug report mentioning similar problems. So my bug report could be a duplicated of [1739981](https://bugzilla.mozilla.org/show_bug.cgi?id=1739981) and [1739970](https://bugzilla.mozilla.org/show_bug.cgi?id=1739970)

I'm going to update the first post.

Revision history for this message
Olivier Tilloy (osomon) wrote :

This appears to be a snap-specific problem, indeed.

Revision history for this message
Joe Barnett (thejoe) wrote :

I do occasionally get crashes when attempting to rearrange tabs as well. The crashes happen both in .deb & snap versions of firefox though?

Revision history for this message
In , Stransky (stransky) wrote :
Revision history for this message
In , Jeremie Tamburini (jeremie2) wrote :

Thanks @Martin Stránský

I've run the test with Firefox *nightly* using the `MOZ_ENABLE_WAYLAND=1 ./firefox -ProfileManager -no-remote` parameters and everything works as expected.

The problem seems to be confined to **snap** version of Firefox in **Wayland** session (snap nightly version included). The snap package works fine with the old X11 session.

Revision history for this message
Jeremie Tamburini (jeremie2) wrote :

It looks like any kind of drag and drop doesn't work in the snap version of Firefox under Wayland session.
First I've noticed that I couldn't personalize the toolbar, therefore I've open this bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=1760449
Then I realized also tabs couldn't be moved.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Presumably drag-and-drop involves some IPC so that would be what is getting blocked in the snap version.

Revision history for this message
Olivier Tilloy (osomon) wrote :
Download full text (13.1 KiB)

When running with MOZ_LOG=WidgetDrag:5 in jammy, this is what I'm seeing when I drag a tab:

[Parent 82683: Main Thread]: D/WidgetDrag nsDragService::InvokeDragSession
[Parent 82683: Main Thread]: D/WidgetDrag adding target application/x-moz-tabbrowser-tab
[Parent 82683: Main Thread]: D/WidgetDrag adding target text/x-moz-text-internal
[Parent 82683: Main Thread]: D/WidgetDrag invisibleSourceDragBegin
[Parent 82683: Main Thread]: D/WidgetDrag nsDragService::SetDragIcon()
[Parent 82683: Main Thread]: D/WidgetDrag set drag popup [7fe9ee004000]
[Parent 82683: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 82683: Main Thread]: D/WidgetDrag nsDragService::EndDragSession 0

The same action with the same version of the snap in impish is successful, and has a lot more logs:

[Parent 2923: Main Thread]: D/WidgetDrag nsDragService::InvokeDragSession
[Parent 2923: Main Thread]: D/WidgetDrag adding target application/x-moz-tabbrowser-tab
[Parent 2923: Main Thread]: D/WidgetDrag adding target text/x-moz-text-internal
[Parent 2923: Main Thread]: D/WidgetDrag invisibleSourceDragBegin
[Parent 2923: Main Thread]: D/WidgetDrag nsDragService::SetDragIcon()
[Parent 2923: Main Thread]: D/WidgetDrag set drag popup [7f944ac8dc00]
[Parent 2923: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 2923: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 7f9467fd3400 coords [74, 11]
[Parent 2923: Main Thread]: D/WidgetDrag nsDragService::Schedule() task eDragTaskMotion window 7f9467fd3400
[Parent 2923: Main Thread]: D/WidgetDrag nsDragService::RunScheduledTask() task eDragTaskMotion mTargetWindow 0 mPendingWindow 7f9467fd3400
[Parent 2923: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 2923: Main Thread]: D/WidgetDrag start drag session mTargetWindow 7f9467fd3400 mTargetWidget 7f946abd2760
[Parent 2923: Main Thread]: D/WidgetDrag process motion event
[Parent 2923: Main Thread]: D/WidgetDrag nsDragService::UpdateDragAction()
[Parent 2923: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 2923: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion can drop 1
[Parent 2923: Main Thread]: D/WidgetDrag gdk_drag_status() action 4
[Parent 2923: Main Thread]: D/WidgetDrag clear mTargetWindow mTargetWidget and other data
[Parent 2923: Main Thread]: D/WidgetDrag remove task source
[Parent 2923: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 7f9467fd3400 coords [55, 11]
[Parent 2923: Main Thread]: D/WidgetDrag nsDragService::Schedule() task eDragTaskMotion window 7f9467fd3400
[Parent 2923: Main Thread]: D/WidgetDrag nsDragService::RunScheduledTask() task eDragTaskMotion mTargetWindow 7f9467fd3400 mPendingWindow 7f9467fd3400
[Parent 2923: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 2923: Main Thread]: D/WidgetDrag start drag session mTargetWindow 7f9467fd3400 mTargetWidget 7f946abd2760
[Parent 2923: Main Thread]: D/WidgetDrag process motion event
[Parent 2923: Main Thread]: D/WidgetDrag nsDragService::UpdateDragAction()
[Parent 2923: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 2923: Main Thread]: D/WidgetDrag nsDragService::Repl...

Changed in firefox:
status: Unknown → New
Paul White (paulw2u)
summary: - Cannot rearrange Firefox (snap) browser tabs in Wayland sessions
+ Cannot rearrange Firefox (snap) browser tabs/bookmarks in Wayland
+ sessions
tags: added: snap
Revision history for this message
Olivier Tilloy (osomon) wrote : Re: Cannot rearrange Firefox (snap) browser tabs/bookmarks in Wayland sessions

Some notes on what I have tested so far:

 - the firefox flatpak isn't affected

 - running directly the firefox binary from the snap, unconfined (without snapd mediation) doesn't exhibit the problem

 - I incrementally upgraded components in an impish VM (where the problem isn't observed), getting them from jammy:
   - wayland 1.20.0, still works
   - mutter 41.3-1ubuntu1 (along with libglib2.0 2.70.0, gnome-keyring 40.0, libgcrypt20 1.9.4), still works
   - mutter 42~beta (along with libc6 2.35, pipewire 0.3.38, libinput 1.19.3, libwacom 2.0.0), still works
   - gnome-shell 41.3 (along with gjs 1.71.1, mozjs91 91.7.0, icu 70.1, gsettings-desktop-schemas 41.0), still works
   - gnome-shell 42~beta (along with libadwaita 1.1.0, gsettings-desktop-schemas 42.0, gtk4 4.6.2, pango1.0 1.50.4, yaru-theme 22.04.3), breaks

So the regression seems to be evidenced when upgrading gnome-shell from 41.3 to 42~beta. I took a look at the diff, but it's quite large and I couldn't spot anything obvious.
On a hunch, I reverted the new screenshot UI in gnome-shell 42 (rebuilt packages locally), but it didn't make a difference.

summary: - Cannot rearrange Firefox (snap) browser tabs/bookmarks in Wayland
- sessions
+ Cannot rearrange Firefox (snap) browser tabs/bookmarks in gnome-shell 42
+ (Wayland session)
Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote : Re: Cannot rearrange Firefox (snap) browser tabs/bookmarks in gnome-shell 42 (Wayland session)

Take in mind that upgrading the shell you're also using libmutter-10 instead of libmutter-9, so the problem may be anywhere in both (more likely in mutter).

So the only way to find out what may have changed this is using git bisect over the various mutter versions (might be annoying, because you need to keep shell in sync with that).

If the unconfined snap isn't affected, could be that mutter is now using something that is blocked by the confinement?

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I attempted to bisect mutter for this but could not get the firefox snap binaries to run at all in my development builds. Missing some environment created by a proper login I guess, so what environment is required for snaps?

Revision history for this message
Ubuntu QA Website (ubuntuqa) wrote :

This bug has been reported on the Ubuntu ISO testing tracker.

A list of all reports related to this bug can be found here:
http://iso.qa.ubuntu.com/qatracker/reports/bugs/1964541

tags: added: iso-testing
Revision history for this message
Olivier Tilloy (osomon) wrote :

From https://forum.snapcraft.io/t/firefox-pinch-to-zoom-not-working-on-22-04/29391, another symptom is pinch-to-zoom not working in the firefox snap under wayland in jammy. Which suggests the problem is more general than just drag-and-drop.

Revision history for this message
Olivier Tilloy (osomon) wrote :

It's not just firefox: I just tested the gedit snap on impish and jammy. While dragging tabs to re-order them seems to work in both releases, dragging a selected chunk of text to move it around in the editor works in impish but not in jammy.

Revision history for this message
corrado venturini (corradoventu) wrote :
Revision history for this message
In , Olivier Tilloy (osomon) wrote :

*** Bug 1763090 has been marked as a duplicate of this bug. ***

Revision history for this message
Olivier Tilloy (osomon) wrote :

I rebuilt and installed mutter and gnome-shell 41.5 in jammy, and drag and drop works there, so it really is a regression in the 42 branch.

Revision history for this message
Olivier Tilloy (osomon) wrote : Re: Cannot rearrange Firefox (snap) browser tabs/bookmarks in gnome-shell 42 (Wayland session)

I bisected mutter and gnome-shell until I identified the revision in mutter that caused the regression: https://gitlab.gnome.org/GNOME/mutter/-/commit/26676a829e74859488154cd8c45de1d0b629f3ca.

More specifically, the changes to src/core/events.c. Indeed I rebuilt mutter in jammy with the following patch, and the issue with the firefox snap was gone:

    --- a/src/core/events.c
    +++ b/src/core/events.c
    @@ -523,10 +523,6 @@ meta_display_handle_event (MetaDisplay
     #ifdef HAVE_WAYLAND
       if (wayland_compositor && !bypass_wayland)
         {
    - if (window && event->type == CLUTTER_MOTION &&
    - event->any.time != CLUTTER_CURRENT_TIME)
    - meta_window_check_alive_on_event (window, event->any.time);
    -
           if (meta_wayland_compositor_handle_event (wayland_compositor, event))
             bypass_clutter = TRUE;
         }

Revision history for this message
In , 5ontact (5ontact) wrote :

*** Bug 1763162 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Olivier Tilloy (osomon) wrote :

Update from the launchpad bug:

I bisected mutter and gnome-shell until I identified the revision in mutter that caused the regression: https://gitlab.gnome.org/GNOME/mutter/-/commit/26676a829e74859488154cd8c45de1d0b629f3ca.

More specifically, the changes to src/core/events.c. Indeed I rebuilt mutter in jammy with the following patch, and the issue with the firefox snap was gone:

    --- a/src/core/events.c
    +++ b/src/core/events.c
    @@ -523,10 +523,6 @@ meta_display_handle_event (MetaDisplay
     #ifdef HAVE_WAYLAND
       if (wayland_compositor && !bypass_wayland)
         {
    - if (window && event->type == CLUTTER_MOTION &&
    - event->any.time != CLUTTER_CURRENT_TIME)
    - meta_window_check_alive_on_event (window, event->any.time);
    -
           if (meta_wayland_compositor_handle_event (wayland_compositor, event))
             bypass_clutter = TRUE;
         }

Changed in firefox (Ubuntu):
status: Confirmed → Won't Fix
Changed in mutter (Ubuntu):
status: New → Fix Committed
status: Fix Committed → In Progress
importance: Undecided → High
assignee: nobody → Marco Trevisan (Treviño) (3v1n0)
tags: added: rls-jj-incoming
summary: - Cannot rearrange Firefox (snap) browser tabs/bookmarks in gnome-shell 42
- (Wayland session)
+ Cannot use Drag and Drop in gnome-shell 42 (Wayland session)
description: updated
Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :
Revision history for this message
In , Jaz-zimms (jaz-zimms) wrote :

(In reply to Olivier Tilloy from comment #7)
> Update from the launchpad bug:
>
> I bisected mutter and gnome-shell until I identified the revision in mutter that caused the regression: https://gitlab.gnome.org/GNOME/mutter/-/commit/26676a829e74859488154cd8c45de1d0b629f3ca.
>
> More specifically, the changes to src/core/events.c. Indeed I rebuilt mutter in jammy with the following patch, and the issue with the firefox snap was gone:
>
> --- a/src/core/events.c
> +++ b/src/core/events.c
> @@ -523,10 +523,6 @@ meta_display_handle_event (MetaDisplay
> #ifdef HAVE_WAYLAND
> if (wayland_compositor && !bypass_wayland)
> {
> - if (window && event->type == CLUTTER_MOTION &&
> - event->any.time != CLUTTER_CURRENT_TIME)
> - meta_window_check_alive_on_event (window, event->any.time);
> -
> if (meta_wayland_compositor_handle_event (wayland_compositor, event))
> bypass_clutter = TRUE;
> }

Do you have more context on this fix? I could use some assistance on how to implement it.

Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

So... Per sé the issue only affect apps that are bundled / static linked with old Gdk version, while there may be many around in snaps and flatpaks, I think it's better to workaround the issue at mutter level too, so we'll handle both there and in the platform snap.

Revision history for this message
In , Stransky (stransky) wrote :

*** Bug 1760330 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Stransky (stransky) wrote :

*** Bug 1739970 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Olivier Tilloy (osomon) wrote :

(In reply to jaz.zimms from comment #8)
> Do you have more context on this fix? I could use some assistance on how to implement it.

There is nothing to implement: the issue is in gtk/mutter, and will be worked around/fixed there. See https://gitlab.gnome.org/GNOME/mutter/-/issues/2216 for details.

Revision history for this message
corrado venturini (corradoventu) wrote :

Problem solved with firefox 99.0.1-1 1232

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

No I don't think so...

FAIL: 99.0-2 (1188)
FAIL: 100.0b5-1 (1236)

Doesn't matter though, because a proper fix is coming in mutter.

Changed in firefox (Ubuntu):
status: Won't Fix → Invalid
assignee: Daniel van Vugt (vanvugt) → nobody
Revision history for this message
Olivier Tilloy (osomon) wrote :

Corrado is right, but that's a side effect of disabling native wayland support in the firefox snap, thus having it use xwayland, rather than an actual fix to the root cause of the problem. But as Daniel is pointing out, a proper fix is coming.

Note that only the stable channel has been reverted to xwayland, the firefox snap in beta and edge will still do wayland natively.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I hope we get back to Firefox with Wayland enabled soon because the performance difference was noticeable last time I checked.

Revision history for this message
Olivier Tilloy (osomon) wrote :

Yes, that's definitely the intention. Mozilla was concerned that they didn't have automated testing in place to catch bugs and regressions in a timely manner, hence the temporary revert. See https://bugzilla.mozilla.org/show_bug.cgi?id=1725245 for more details.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mutter - 42.0-3ubuntu1

---------------
mutter (42.0-3ubuntu1) jammy; urgency=medium

  [ Marco Trevisan (Treviño) ]
  * debian/patches: Cherry-pick various upstream commits for 42.1:
    + onscreen/native: Fall back if COPY_MODE_SECONDARY_GPU fails to init
      (LP: #1964037, #1959888)
  * debian/patches: Allow any drag timestamp as drag start serial (LP: #1964541)
  * debian/patches: Move x11-fractional scaling under ubuntu namespace
  * debian/patches: Account ClutterStage grabs on Wayland key focus sync
    (LP: #1964442)
  * debian/libmutter-10-0.symbols: Update including new internal symbols
  * debian/patches: Avoid memory errors when comparing gamma values
  * debian/patches: Fix privacy-screen and connectors updates with
    triple-buffering (LP: #1966178)
  * debian/patches: Ensure privacy screen settings are applied on startup
    (LP: #1966178)

  [ Jeremy Bicha ]
  * Merge from Debian unstable. Remaining changes:
    - debian/patches/x11-Add-support-for-fractional-scaling-using-Randr.patch:
      + X11: Add support for fractional scaling using Randr
    - Add triple-buffering patch
    - debian/libmutter-10-0.symbols: Add symbols for triple buffering patch
    - ubuntu/wayland-data-device-Allow-any-drag-timestamp-as-drag-star.patch:
      + handle DnD for old (snapped) gtk apps that used wrong wayland serials

mutter (42.0-3) unstable; urgency=medium

  [ Marco Trevisan (Treviño) ]
  * debian/patches: Cherry-pick upstream fixes targeting 42.1
  * debian/patches: Ensure repick happens on actors visibility changed
    (LP: #1964545)

  [ Jeremy Bicha ]
  * Release to unstable

 -- Marco Trevisan (Treviño) <email address hidden> Wed, 13 Apr 2022 03:30:39 +0200

Changed in mutter (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Ivan Sagalaev (isagalaev) wrote :

> I hope we get back to Firefox with Wayland enabled soon because the performance difference was noticeable last time I checked.

Plus, rendering of the entire Firefox window got blurry with fractional scaling. (Just to add one more reason :-) )

Revision history for this message
Joe Barnett (thejoe) wrote :

is there a way for users to re-enable wayland / override the DISABLE_WAYLAND=1 setting recently set in the snap?

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

The bug is now fixed in mutter, so to get back full performance of Firefox-on-Wayland you can do this:

  sudo snap remove firefox
  sudo snap install --beta firefox

Just a temporary workaround until the stable channel returns to native Wayland.

Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

I think the stable channel will stay on Xwayland for a while, as mozilla wants to fully test what they ship as default and they're not doing it in wayland right now.

So, maybe Olivier, could you maybe move `DISABLE_WAYLAND` thingy in the firefox launcher so that if `MOZ_ENABLE_WAYLAND` is set then `DISABLE_WAYLAND` is not?

It would allow users to use the stable channel with wayland backend in case they explicitly requested it.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Sounds like Mozilla is doing the right thing, just the timing is inconvenient for jammy.

It doesn't hurt live sessions because those are Xorg anyway. But after you install, if Firefox is still using Xwayland for Wayland sessions then you will see Firefox has:

  * Slower frame rates
  * More laggy touchpad input
  * Blurry fractional scaling

Changed in mutter:
status: Unknown → New
Revision history for this message
In , Lissyx+mozillians (lissyx+mozillians) wrote :

After testing locally, it looks like on a 22.04, nightly 103 snap (thus running wayland) I cannot repro. The upstream issue is still open, but maybe a workaround was landed in the distro. Do you still hit the issue ?

Revision history for this message
In , Lissyx+mozillians (lissyx+mozillians) wrote :

Also wondering if you still hit it, since your comment suggest you did?

Revision history for this message
In , Lissyx+mozillians (lissyx+mozillians) wrote :

Olivier, was a workaround landed and we could mark this as resolved?

Revision history for this message
In , corrado venturini (corradoventu) wrote :

On my Ubuntu 22.10 problem is resolved for bot FF 101.0.1 snap and firefox-trunk: Installed: 103.0~a1~hg20220615r620926-0ubuntu0.22.10.1~umd1

Revision history for this message
In , Olivier Tilloy (osomon) wrote :

Yes, a workaround was distro-patched into mutter 42.0-3ubuntu1 in Ubuntu 22.04 (see https://launchpad.net/bugs/1964541 for details).
So I think it is safe to mark this resolved.

Changed in firefox:
status: New → Fix Released
Revision history for this message
Francesco Abeni (francescoabeni) wrote :

I currently have the bug with Firefox 103.0b9 and mutter 42.2-0ubuntu1. It went away for a while then it came back; I was not able to determine the exact version which determined the (possible) regression. I am available for tests and any additional information if it can help. Thank you in advance for your time.

Revision history for this message
Daniel van Vugt (vanvugt) wrote (last edit ):

This bug is closed. To help us fully understand the remaining issue, please open a new bug.

I recall that drag and drop was known to be broken in Firefox on Wayland recently, which was one of the reasons it was reverted to use X11 instead (Xwayland).

tags: added: dnd
Changed in gtk+3.0 (Ubuntu):
status: New → Fix Released
Changed in gtk4 (Ubuntu):
status: New → Fix Released
Revision history for this message
Daniel van Vugt (vanvugt) wrote (last edit ):

AFAICT upstream preferred to fix this in GTK, and we already ship the GTK fix:

https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4122

The fix is also in the gnome-3-38-2004 snap.

tags: added: fixed-in-gtk-3.24.31 fixed-in-gtk-4.5.1 fixed-upstream
removed: rls-jj-incoming
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.