firefox-141.0 doesn't start if gtk+ doesn't have wayland support
Categories
(Core :: Widget: Gtk, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr128 | --- | unaffected |
firefox-esr140 | --- | unaffected |
firefox141 | + | fixed |
firefox142 | + | fixed |
firefox143 | --- | fixed |
People
(Reporter: juippis, Assigned: emilio)
References
(Regression)
Details
(Keywords: regression)
Attachments
(2 files)
48 bytes,
text/x-phabricator-request
|
diannaS
:
approval-mozilla-beta+
pascalc
:
approval-mozilla-release+
|
Details | Review |
48 bytes,
text/x-phabricator-request
|
diannaS
:
approval-mozilla-beta+
pascalc
:
approval-mozilla-release+
|
Details | Review |
Steps to reproduce:
Download latest Firefox-141.0 for Linux from https://archive.mozilla.org/pub/firefox/releases/141.0/linux-x86_64/en-US/
extract and run it.
Actual results:
$ ./firefox-bin
XPCOMGlueLoad error for file /home/gui/ff/firefox/libxul.so:
/home/gui/ff/firefox/libxul.so: undefined symbol: gdk_wayland_device_get_wl_seat
Couldn't load XPCOM.
When the system gtk+ package is built without wayland support.
gtk+ still has an option to disable wayland,
https://gitlab.gnome.org/GNOME/gtk/-/blob/main/meson.options?ref_type=heads#L12
option('wayland-backend',
type: 'boolean',
value: true,
description : 'Enable the wayland gdk backend (only when building on Unix except for macOS)')
Expected results:
Firefox should launch using X11 backend instead. The previous versions had no issues with this.
--enable-default-toolkit=cairo-gtk3-x11-wayland
has worked previously just fine even without wayland backend in gtk+?
Comment 1•13 days ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::Widget: Gtk' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Comment 2•13 days ago
|
||
Emilio, do you have any idea?
Looks like that we need a weak symbol here.
Assignee | ||
Updated•13 days ago
|
Assignee | ||
Comment 3•13 days ago
|
||
Updated•13 days ago
|
Comment 5•12 days ago
|
||
bugherder |
Reporter | ||
Comment 6•8 days ago
|
||
Hey,
the patch applies to 141.0 and therefore was easy to test. Unfortunately I still couldn't get the browser to launch with this, when self-built with both X
and wayland
support and moved to a system where gtk+ doesn't have wayland support. 140.0.4 still seems to work fine with the test setup.
Anyway if there are more commits related to this that'll make it work, could these be backported to a .1 release, or at least to upcoming 142?
Assignee | ||
Comment 7•8 days ago
|
||
Unfortunately I still couldn't get the browser to launch with this
What is the error? I can try to somehow get a setup with x11-only GTK3 next week I guess. Thanks
Reporter | ||
Comment 8•8 days ago
|
||
Indeed the error is slightly different now:
$ firefox
XPCOMGlueLoad error for file /usr/lib64/firefox/libxul.so:
/usr/lib64/firefox/libxul.so: undefined symbol: gdk_wayland_window_set_use_custom_surface
Couldn't load XPCOM.
Assignee | ||
Comment 9•8 days ago
|
||
Ok, that's another new function call that I missed. can you confirm this diff fixes it for you? I think it's the last :)
diff --git a/widget/gtk/mozwayland/mozwayland.c b/widget/gtk/mozwayland/mozwayland.c
index 28ddaa29625e..4fdc86f145a9 100644
--- a/widget/gtk/mozwayland/mozwayland.c
+++ b/widget/gtk/mozwayland/mozwayland.c
@@ -226,6 +226,9 @@ MOZ_EXPORT struct wl_surface* gdk_wayland_window_get_wl_surface(
return NULL;
}
+MOZ_EXPORT void gdk_wayland_window_set_use_custom_surface(
+ GdkWaylandWindow* window) {}
+
MOZ_EXPORT struct wl_pointer* gdk_wayland_device_get_wl_pointer(
GdkDevice* device) {
return NULL;
Reporter | ||
Comment 10•7 days ago
|
||
Now it works! :)
Thanks! Could these be backported to the next release?
(also reopening until the commit lands to the source tree and this bug can be referenced)
Updated•7 days ago
|
Assignee | ||
Updated•7 days ago
|
Assignee | ||
Comment 11•7 days ago
|
||
Assignee | ||
Updated•7 days ago
|
Assignee | ||
Comment 12•7 days ago
|
||
Comment on attachment 9503237 [details]
Bug 1978620 - Add gdk_wayland_window_set_use_custom_surface to mozwayland too. r=stransky
Beta/Release Uplift Approval Request
- User impact if declined/Reason for urgency: Fixes startup on some uncommon setups.
- Is this code covered by automated tests?: No
- 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): ~zero risk, defines some symbols that are otherwise replaced for the real ones.
- String changes made/needed: none
- Is Android affected?: No
Assignee | ||
Comment 13•7 days ago
|
||
Comment on attachment 9502291 [details]
Bug 1978620 - Add gdk_wayland_device_get_wl_seat to mozwayland. r=stransky
(See above)
Comment 14•7 days ago
|
||
Set release status flags based on info from the regressing bug 1970372
Comment 15•7 days ago
|
||
Updated•6 days ago
|
Comment 17•6 days ago
|
||
bugherder |
Comment 18•6 days ago
•
|
||
Comment on attachment 9502291 [details]
Bug 1978620 - Add gdk_wayland_device_get_wl_seat to mozwayland. r=stransky
Approved for 142.0b5 and 142.0b6
Updated•6 days ago
|
Comment 19•6 days ago
|
||
uplift |
Updated•6 days ago
|
Assignee | ||
Comment 20•4 days ago
|
||
Dianna, you only merged one of the two patches, right? https://hg.mozilla.org/mozilla-central/rev/03126ea2d55a is also needed
Comment 22•4 days ago
|
||
uplift |
Updated•3 days ago
|
Updated•3 days ago
|
Comment 23•3 days ago
|
||
uplift |
Updated•3 days ago
|
Description
•