-
-
Notifications
You must be signed in to change notification settings - Fork 14.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Evolution, epiphany: Webkitgtk bubblewrapper crashes when LD_LIBRARY path points into /run/current-system/** (the case on a pipewire system with jack emulation) #110468
Comments
Epiphany is also broken. |
I think this is from not being able to find the libwpe-fdo plugin. You shouldn't need it on X11, I think, but on wayland it needs to find the plugin somewhere. The situation is annoying (WebPlatformForEmbedded/libwpe#59), but for now we can just hardcode it to avoid the issue (albeit breaking the ability to add more plugin). Should have a fix available soon. |
I've opened #110738 to revert. Can't quite figure out what needs to change - WPE_RENDERER is enabled on other distros without issue, so there's got to be some way to get it working. |
It appears that the plugin loader in its current state could not work on nixos, as most plugin system unfortunately. So this requires creating a |
... realizes these aren't executable |
So this would then require 😁 changing the loader so that diff --git a/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp b/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
index a380a25fa4b..d96d23bce2e 100644
--- a/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
+++ b/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
@@ -114,7 +114,7 @@ void WebProcessPool::platformInitializeWebProcess(const WebProcessProxy& process
#if PLATFORM(WAYLAND)
if (WebCore::PlatformDisplay::sharedDisplay().type() == WebCore::PlatformDisplay::Type::Wayland) {
#if USE(WPE_RENDERER)
- wpe_loader_init("libWPEBackend-fdo-1.0.so");
+ wpe_loader_init("@[email protected]");
if (wpe_fdo_initialize_for_egl_display(WebCore::PlatformDisplay::sharedDisplay().eglDisplay())) {
parameters.hostClientFileDescriptor = wpe_renderer_host_create_client();
parameters.implementationLibraryName = FileSystem::fileSystemRepresentation(wpe_loader_get_loaded_implementation_library_name()); diff --git a/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp b/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
index a380a25fa4b..d96d23bce2e 100644
--- a/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
+++ b/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
@@ -114,7 +114,7 @@ void WebProcessPool::platformInitializeWebProcess(const WebProcessProxy& process
#if PLATFORM(WAYLAND)
if (WebCore::PlatformDisplay::sharedDisplay().type() == WebCore::PlatformDisplay::Type::Wayland) {
#if USE(WPE_RENDERER)
- wpe_loader_init("libWPEBackend-fdo-1.0.so");
+ wpe_loader_init("/nix/store/dp94mlfkz0yxj53yk4bhcdxkcbax764q-wpebackend-fdo-1.7.1/lib/libWPEBackend-fdo-1.0.so");
if (wpe_fdo_initialize_for_egl_display(WebCore::PlatformDisplay::sharedDisplay().eglDisplay())) {
parameters.hostClientFileDescriptor = wpe_renderer_host_create_client();
parameters.implementationLibraryName = FileSystem::fileSystemRepresentation(wpe_loader_get_loaded_implementation_library_name()); |
Reasonably, I think wpe could support loading a plugin relatively and absolutely. It shouldn't be a very intrusive change, although we have to do this madness to actually use it. |
I have now switched to |
This is due to me using
when starting epiphany or evolution. |
The nixos pipewire module sets |
Run into the same issue, nixos-unstable
When running evolution (or epiphany) from the terminal
Doing exactly as it suggests fixes evolution. If anyone has any idea how to debug that, feel free to provide instructions |
Just updated from nixos-20.09 to nixos-21.05 with |
This issue has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/headphone-volume-resets-itself-to-100/13866/2 |
From looking at what @Emantor posted, it seems like bubblewrap has some issues with bind mounting symlinks. WebKitGTK should probably try to canonicalize source paths before bind mounting them on a destination. In the meantime, a workaround for people that want to use PipeWire+JACK and WebKitGTK at the same time is to set the { config, pkgs, lib, ... }:
{
environment.sessionVariables.LD_LIBRARY_PATH = lib.mkForce "${config.services.pipewire.package.jack}/lib";
services.pipewire = {
enable = true;
# ...
jack.enable = true;
# ...
};
} |
I have a problem caused by the same issue with pipewire, where I can't add some accounts to Gnome, including Google, Facebook, Microsoft. |
Using @Artturin's patch fixed the account login screen not appearing and epiphany instantly crashing. However, now I have another issue. Starting either epiphany/Gnome account login works fine but the window is blank. Oddly enough, https://html.duckduckgo.com works This is a relevant issue I found, but it's from 2 years ago https://gitlab.gnome.org/GNOME/epiphany/-/issues/570 EDIT: prepending |
This issue has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/sound-only-works-while-pavucontrol-is-open/15280/2 |
This being done does that mean that we no longer need to use the workaround? |
The workaround from #110468 (comment) was applied to the NixOS module in #136475. But we should not need it since we no longer have webkitgtk use fdo backend either. |
Describe the bug
Mails are not displayed within evolution. I'm running sway, so evolution is run under the wayland backend. It's also broken when forcing evolution to use X11.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Being able to read the mail instead of the error message.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
The only change touching webkitgtk was #96140.
Notify maintainers
@NixOS/gnome
Metadata
Please run
nix-shell -p nix-info --run "nix-info -m"
and paste the result.Maintainer information:
The text was updated successfully, but these errors were encountered: