Skip to content
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

Bridge graphical glitch on Fedora KDE wayland #493

Open
marcdus opened this issue Sep 18, 2024 · 10 comments
Open

Bridge graphical glitch on Fedora KDE wayland #493

marcdus opened this issue Sep 18, 2024 · 10 comments

Comments

@marcdus
Copy link

marcdus commented Sep 18, 2024

Expected Behavior

Seeing the bridge client correctly.

Current Behavior

It launches, including a working window and status bar icon, but with a graphical glitch.
image
(note that the displayed content is whatever was displayed before launching the app. In this case it's the KDE startup logo)

The CLI interface works as expected and I can send/receive Mails with Thunderbird.

Launching the GUI via command line gives the following output (redacted for anonymity):

(base) my_user@fedora:~$ protonmail-bridge 
Failed to initialize sentry
INFO[Sep 18 12:56:40.395] bridge-gui starting
INFO[Sep 18 12:56:40.395] Using Qt 6.4.3
INFO[Sep 18 12:56:40.397] lock file created /home/my_user/.cache/protonmail/bridge-v3/bridge-v3-gui.lock
INFO[Sep 18 12:56:40.397] bridge-gui executable: /usr/lib/protonmail/bridge/bridge-gui
INFO[Sep 18 12:56:40.397] Command-line invocation: --session-id XXXXXXXX_XXXXXXXXX --launcher /usr/lib/protonmail/bridge/proton-bridge
INFO[Sep 18 12:56:40.397] New Sentry reporter - id: wrkiXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/XXXXXXXX=.
DEBU[Sep 18 12:56:40.399] Bridge executable path: /usr/lib/protonmail/bridge/bridge
INFO[Sep 18 12:56:40.399] Launching bridge process with command "/usr/lib/protonmail/bridge/bridge" --grpc --parent-pid 9956 --launcher /usr/lib/protonmail/bridge/proton-bridge --session-id XXXXXXXX_XXXXXXXXX
INFO[Sep 18 12:56:40.399] Retrieving gRPC service configuration from '/home/my_user/.config/protonmail/bridge-v3/grpcServerConfig.json'
ERRO[Sep 18 12:56:40.468] Unable to open cache file                     error="open /home/my_user/.cache/protonmail/bridge-v3/notifications/notification_cache: no such file or directory" pkg=notification-store
INFO[Sep 18 12:56:40.640] Connecting to gRPC service
INFO[Sep 18 12:56:40.641] Connection to gRPC server at unix:///tmp/bridge8981. attempt #1
INFO[Sep 18 12:56:40.644] Successfully connected to gRPC server.
INFO[Sep 18 12:56:40.644] Client config file was saved to '/home/my_user/.config/protonmail/bridge-v3/grpcClientConfig_0.json'
DEBU[Sep 18 12:56:40.644] checkTokens()
INFO[Sep 18 12:56:40.644] gRPC token was validated
INFO[Sep 18 12:56:40.644] Connected to backend via gRPC service.
DEBU[Sep 18 12:56:40.644] version()
DEBU[Sep 18 12:56:40.644] EventStreamReader started
DEBU[Sep 18 12:56:40.648] goos()
DEBU[Sep 18 12:56:40.648] logsPath()
DEBU[Sep 18 12:56:40.648] licensePath()
DEBU[Sep 18 12:56:40.649] mailServerSettings()
DEBU[Sep 18 12:56:40.649] getUserList()

Steps to Reproduce

  1. Download proton bridge rpm package
  2. Install using KDE Discover app
  3. Launch proton bridge

Version Information

proton bridge version 3.12.0-1 (RPM package)

Context (Environment)

Using:

  • Fedora Linux 40
  • KDE Plasma 6.1.4 w/ wayland
  • Signed Nvidia driver version 560.35.03
@Zindswini
Copy link

I have been experiencing this issue on the Flatpak for a couple of weeks.
Same environment and software versions.

@d-air1
Copy link

d-air1 commented Sep 22, 2024

Tested this with plasma 6.2 beta and the problem is the same, but also a bit different. Instead of a glitched graphical window. I instead get a qml error popup window. Like other commenters have stated though the backend works fine and I can still send and receive mail. I just can't open the window.

Environment.
Arch
KDE Plasma 6.1.90 (6.2 beta) w/ wayland
Nvidia driver version 560.35.03 (nvidia-open driver) the newly recommend default for newer cards. Graphics card is an nvidia rtx 3080

@thereillywriter
Copy link

This issue is also affecting me on Arch Linux with KDE Plasma 6.2 under Wayland. The Bridge backend works just fine, but when I try to open the GUI window I get a "qml error" popup window.

Unlike the other users I have an AMD GPU.

@Zindswini
Copy link

Still occurring on Fedora 41. No QML error popup, just a window that fails to draw as in the original report.

Plasma 6.2.3
Qt 6.8.0
Nvidia Driver 565.57.01

@mnoomnoo
Copy link

This happens for me on Fedora 41. I get no QML popup, just a window that fails to render anything.

KDE Plasma Version: 6.2.4
KDE Frameworks Version: 6.8.0
Qt Version: 6.8.1
Nvidia Driver: 565.77

@Zindswini
Copy link

Workaround!

After getting frustrated, I (successfully) tried to debug the issue some more. I'm using the Flatpak, and I think it was my changes to the global defaults which brought up this issue.

I was able to get it working by:

  • Disabling GPU Acceleration
    OR
  • Disabling Wayland (Forcing XWayland)

It seems like the issue in the original post (empty window with no error) might be an Nvidia + Wayland + Hardware Acceleration bug.

@mnoomnoo
Copy link

mnoomnoo commented Dec 28, 2024

Workaround!

After getting frustrated, I (successfully) tried to debug the issue some more. I'm using the Flatpak, and I think it was my changes to the global defaults which brought up this issue.

I was able to get it working by:

* Disabling GPU Acceleration
  OR

* Disabling Wayland (Forcing XWayland)

It seems like the issue in the original post (empty window with no error) might be an Nvidia + Wayland + Hardware Acceleration bug.

How did you disable GPU acceleration? I searched the docs and the code base but didn't see any command line options for disabling acceleration.

@Zindswini
Copy link

@mnoomnoo I set the "GPU acceleration" toggle in Flatseal to off.

I'm not sure how to do the same for a non-Flatpak installation, but there is likely a wrapper or environment variable you can use to force QT to use software rendering.

I would recommend seeing if you can get it working like I did using Flatpak just so we can confirm the behavior.

Maybe a dev or someone with QT experience could chime in?

@mnoomnoo
Copy link

mnoomnoo commented Dec 29, 2024

@mnoomnoo I set the "GPU acceleration" toggle in Flatseal to off.

I'm not sure how to do the same for a non-Flatpak installation, but there is likely a wrapper or environment variable you can use to force QT to use software rendering.

I would recommend seeing if you can get it working like I did using Flatpak just so we can confirm the behavior.

Maybe a dev or someone with QT experience could chime in?

I'll try Flatseal with the Flatpak version to verify if that option works on my system. I did manage to build the master-branch version of the proton-bridge and its window is rendered without issues. I did edit the DeployLinux.cmake file to make it build. I changed the install(DIRECTORY "${QT_DIR}/qml" "${QT_DIR}/plugins" DESTINATION "${CMAKE_INSTALL_PREFIX}") to : install(DIRECTORY "${QT_INSTALL_QML}" "${QT_INSTALL_PLUGINS}" DESTINATION "${CMAKE_INSTALL_PREFIX}")
and changed the libicui18n, libicuuc, and libicudata to version 74 (what's current on my Fedora41 system)

image

@marcdus
Copy link
Author

marcdus commented Dec 30, 2024

@Zindswini's suggestion of disabling GPU acceleration worked for me when using the unofficial flatpak version.

For KDE, you can change the permissions without flatseal. In Settings under Application Permissions, Flatpak Permissions I unticked the box Direct graphic rendering of the proton bridge app.

Not knowing anything about packaging on linux; would support for just a Flatpak version not be simpler for the devs anyhow? The unoffical one works perfectly, bar the missing wayland application icon (the more important tray icon renders as expected).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants