signal-desktop does not support fractional scaling on wayland
Using a supported version?
- [X] I have searched searched open and closed issues for duplicates.
- [X] I am using Signal-Desktop as provided by the Signal team, not a 3rd-party package.
Overall summary
I am using Ubuntu 24.04, GNOME 46, Wayland windowing system, Intel integrated graphics.
I'm using fractional scaling with 150% scale.
I've installed signal-desktop 7.12.0 from Signal's apt repository. When I launch signal-desktop, the app runs and UI elements have reasonable size, but all of the UI slightly blurry.
There are tips floating around to use signal-desktop --enable-features=UseOzonePlatform --ozone-platform=wayland and also how to put together ~/.local/share/applications/signal-desktop.desktop with the same flags.
When I use this workaround I get sharp UI, but I also see several new issues:
- the app does not launch on the first launch (the process starts and outputs stuff to console, but no UI shows up). I have to start the second instance of the app for the UI window to appear
- the app uses a generic icon in the Alt+Tab dialog, and in the app overview (Win key)
Steps to reproduce
- install signal-desktop on a system using GNOME, Wayland and fractional scaling
- launch signal-desktop
Expected result
Sharp UI
Actual result
Blurry UI
Screenshots
Blurry UI (with GNOME Settings app on top for comparison):
Generic icon when using --enable-features=UseOzonePlatform --ozone-platform=wayland
Signal version
7.12.0
Operating system
Ubuntu 24.04
Version of Signal on your phone
No response
Link to debug log
No response
@cuu508 can you run an Electron Fiddle and see if you can reproduce the issue? Thanks!
I installed electron-fiddle_0.36.3_amd64.deb. Running it with no arguments, I get blurry UI (Electron Fiddle on top, GNOME Terminal below as comparison):
If I run it with --enable-features=UseOzonePlatform --ozone-platform=wayland arguments, I get sharp UI:
Unlike signal-desktop, the UI shows up on the first launch, and the app icon is correct in Alt+Tab and app overview views.
@cuu508 thanks for that. The window not opening is a known issue; we're tracking it here: https://github.com/signalapp/Signal-Desktop/issues/6368.
Same issue on Fedora Workstation 40 (wayland and using 150% fractional scaling). This seems to be an issue on flatpaks that don't support Wayland natively and rely on XWayland (source).
@cuu508 I managed to get rid of this issue by editing my signal-desktop flatpak to run with the following flags: --enable-features=UseOzonePlatform --ozone-platform=wayland. To do so, I had to edit /var/lib/flatpak/exports/share/applications/org.signal.Signal.desktop, more specifically the flatpak run command to include those flags. Not blurry anymore for me. (see #5719)
Really wish this was the default for Wayland environments until Wayland is not supported natively.
Update: It was becoming a nightmare updating these run options on a per-app basis so the temporary solution I've found is to tweak the scaling factor on gnome-tweaks to 1.25 and keep the resolution scale at 100% on gnome-settings. Apps are not blurry anymore.
Same issue on Fedora Workstation 40 (wayland and using 150% fractional scaling). This seems to be an issue on flatpaks that don't support Wayland natively and rely on XWayland (source).
@cuu508 I managed to get rid of this issue by editing my signal-desktop flatpak to run with the following flags:
--enable-features=UseOzonePlatform --ozone-platform=wayland. To do so, I had to edit/var/lib/flatpak/exports/share/applications/org.signal.Signal.desktop, more specifically theflatpak runcommand to include those flags. Not blurry anymore for me. (see #5719)Really wish this was the default for Wayland environments until Wayland is not supported natively.
Update: It was becoming a nightmare updating these run options on a per-app basis so the temporary solution I've found is to tweak the scaling factor on gnome-tweaks to 1.25 and keep the resolution scale at 100% on gnome-settings. Apps are not blurry anymore.
The Flatpak maintainers already did all that work. This is from the Readme:
Wayland support can also be enabled on the command line:
flatpak override --user --env=SIGNAL_USE_WAYLAND=1 org.signal.Signal
hi, Ive come across this issue which bothers me as well, and it seems its's stale. just bumping up
The Flatpak maintainers already did all that work. This is from the Readme:
Wayland support can also be enabled on the command line:
flatpak override --user --env=SIGNAL_USE_WAYLAND=1 org.signal.Signal
The flag generally works, thanks! But I have the problem that I cannot resize the Signal window with that set, because the window borders don’t act as resize handles anymore. So this does not seem to be ready for prime time yet.
Nothing I've tried works - --enable-features=UseOzonePlatform --ozone-platform=wayland just causes Signal to refuse to open up a window. Maybe this is only when not using Flatpak?
Yeah, it doesn't bring up a window. Using signal-desktop --use-tray-icon --enable-features=UseOzonePlatform --ozone-platform=wayland and clicking on the tray bar icon works for me.
Edit: Using ELECTRON_OZONE_PLATFORM_HINT=auto environment variable works as well.
Edit: signal-desktop & sleep 1; signal-desktop is a better workaround. No need for the tray icon.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
I'm currently using signal-desktop 7.47.0 on Ubuntu 24.04, and am using 150% fractional scaling. The issue is still present as originally described.
Echoing the same. Running 7.52.0 on a fresh ubuntu 24.04 and it's still blurry. I was able to fix all the other electron apps by adding --enable-features=UseOzonePlatform --ozone-platform=wayland in the .desktop files and every one worked except Signal
For anyone who comes here for reference:
cp /usr/share/applications/[APPLICATION_NAME].desktop ~/.local/share/applications
# for snap applications, look in the /snap folder
# add the following in the `Exec` field
-enable-features=UseOzonePlatform -ozone-platform=wayland
e.g.
Exec=/usr/share/discord/Discord
becomes
Exec=/usr/share/discord/Discord -enable-features=UseOzonePlatform -ozone-platform=wayland
Launch the application from Tray icon and it works.
Tried the same approach with Signal and it was leaving a blurry trail on the window and scroll bar was flickering, although the text blurriness was gone. I am assuming Signal is not up-to-date with the latest electron version. (just a guess)
I'll sticky the blurry version for now but it might nice to get that crisp text on a 4K screen (my monitor is more expensive than my PC 😛 )
I can confirm that this is resolved on 7.54.0, Ubuntu 25.04.
I can confirm that this is resolved on 7.54.0, Ubuntu 25.04.
Do you mean it's good by default now, or --enable-features=UseOzonePlatform --ozone-platform=wayland still needs to be added?
Well, I thought it was resolved, but apparently was mistaken. It's still requiring the --enable-features=UseOzonePlatform --ozone-platform=wayland
I installed 7.55.0 to test. The UI is sharp if I run it as
signal-desktop --enable-features=UseOzonePlatform --ozone-platform=wayland
But, same as before,
- the app does not launch on the first launch (the process starts and outputs stuff to console, but no UI shows up). I have to start the second instance of the app for the UI window to appear
- the app uses a generic icon in the Alt+Tab dialog, and in the app overview (Win key)
I also have the issue of no window showing up on launch.
It took a lot of digging to find the workaround in this issue so I made a dedicated one: #7363.
IIUC, this one can be closed now?
So I have came across some weird situation with my setup with Ubuntu 25.04. I thought I was having blurry Signal, but I guess probably not (even though to my eyes, it's still very slightly not-as-sharp as other apps).
What I experienced is for some reason, the box glitched (I really don't know the reason) with my screen turned off, for a couple minutes. When it came back most things look okay, but after a while I noticed my GPU is doing harder than normal. It's an X11org process (I don't remember exactly if it's x11, or xorg as the process name, taxign my GPU ~20%. It's odd as I thought I I was running Wayland. Sure enough $XDG_SESSION_TYPE is X11.
After restarting the box, it's Wayland again. However, now I see that all chrome-based app I have is blurry. This is really blurry and not just slightly like I always thought Signal was before. It happened to Vivaldi, Obsidian, so I figured it's probably the issues I have seen elsewhere about Electron/Chrome-based apps. But... why I didn't have this before? Vivaldi and Obsidian were perfectly fine, and only Signal was ever slightly not-as-sharp.
Starting the journey trying to figure this out, I came across this https://old.reddit.com/r/Fedora/comments/1fqo8kr/blurred_ui_in_flatpaks/lp7kvg4/. I ran the gsettings get org.gnome.mutter experimental-features command first, and it returns ['scale-monitor-framebuffer, 'x11-randr-fractional-scaling']. The reddit posts says xwayland-native-scaling, so something is off. I reset the setting with gsettings reset org.gnome.mutter experimental-features, and my screens resolutions are quite off. After going to Settings > Display to set the scale to 150% like I have always had before, EVERYTHING is fine! gsettings set org.gnome.mutter experimental-features now returns xwayland-native-scaling. Vivaldi, Obsidian, Signal are now back to normal.
So maybe this is the issue for at least some of us? For anyone in a newer OS versions, at the very least Ubuntu 25.04 like I do, check that setting and if possible try to set it to xwayland-native-scaling.
I'm not taking any responsibility, though 😅 I don't really understand any of this!
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
I'm currently using signal-desktop 7.68.0 on Ubuntu 24.04, and am using 150% fractional scaling. The issue is still present:
- If I install and launch signal-desktop, the UI is not sharp
- If I launch signal-desktop with
ELECTRON_OZONE_PLATFORM_HINT=waylandthen the UI is sharp but the app uses a generic icon
One thing that is fixed is that signal-desktop UI appears on the first launch, I do not need to launch it twice any more.
I am also experiencing this issue on Signal v7.69.0 on Arch with Linux 6.16.5-arch1-1 under Wayland (Hyprland). Launching with this command offered me a successful workaround for the issue: signal-desktop --enable-features=UseOzonePlatform --ozone-platform=wayland.
As of v7.72.1/snap, the old workaround of --ozone-platform=auto no longer works. Thank you @geekmdtravis for this new workaround! Works on Ubuntu 25.04
For people on Ubuntu, creating a ~/.local/share/applications/signal-desktop.desktop like this
[Desktop Entry]
Name=Signal
Exec=env XDG_SESSION_TYPE=wayland /opt/Signal/signal-desktop --ozone-platform=wayland %U
Terminal=false
Type=Application
Icon=signal-desktop
StartupWMClass=signal
Comment=Private messaging from your desktop
MimeType=x-scheme-handler/sgnl;x-scheme-handler/signalcaptcha;
Categories=Network;InstantMessaging;Chat;
2 key points, because Signal moved to use Electron 38
--ozone-platform=waylandStartupWMClass=signal. It's lowercasesignalcompared to the original file beingSignal. This is to help with no icon on window.
env XDG_SESSION_TYPE=wayland is supposed to work by itself, but doesn't, yet because of this bug below from Electron https://github.com/electron/electron/issues/48298
Signal on wayland works fine for me on displays with fractional scaling >= 100% but for values < 100% it's smaller that it is supposed to be and doesn't maximize. I recorded an example on 90% fractional scaling in KDE Plasma 6:
https://github.com/user-attachments/assets/01746baf-1583-473f-92bf-414d0830c6d1
I am on Manjaro (kernel 6.12.48-1-MANJARO) with KDE Plasma (v6.3.6) using Wayland as the graphics platform. I have two monitors with different scaling settings to produce approximately similar-sized UI elements on either screen (due to resolution/screen size/distance factors):
- My laptop screen itself is 2560x1600 at 150% scaling. When the Signal desktop window is on this screen, it displays perfectly fine.
- I have an external monitor HDMI'd into the laptop that is 1920x1080 at 80% scaling. If I move the window to this monitor, suddenly it experiences the same issue shown in the video posted by @tibequadorian , where the window shrinks and refuses to maximize. I could learn to live with this, but additionally I am having cursor alignment issues where my mouse clicks are not registering where the cursor is positioned. Also, if I click out of the window, it randomly sizes down. 🤷
https://github.com/user-attachments/assets/e50f65cd-a1f9-4290-8129-4290a78bbdd6
While OS/KDE visual elements display completely fine with my display scaling settings—and many apps like Firefox work without any issues—I have run into plenty of issues with electron/chromium-based apps. For Chrome itself, I had to resort to a hacky workaround of using google-chrome-stable --disable-features=WaylandFractionalScaleV1, which simply tells the app to ignore the Wayland scaling. However, this same flag does nothing if I pass it into the signal-desktop executable.
I have tried running Signal as signal-desktop --ozone-platform=wayland, signal-desktop --enable-features=UseOzonePlatform --ozone-platform=wayland, and signal-desktop --enable-features=WaylandWindowDecorations --ozone-platform-hint=auto --ozone-platform=wayland, all exhibiting the same behavior on my external monitor. I also attempted to install the AUR package signal-desktop-blur-me-not, which similarly did nothing (even after a system restart). Currently, I cannot figure out a way to get around this issue, which makes the app clunky to use by only being functional on the monitor that is further away from me.
EDIT: After messing around more, including a system reboot, it seems as though signal-desktop --disable-features=WaylandFractionalScaleV1 does indeed work (not sure why it didn't work last time, perhaps just a typo, or something else that cleared up after the reboot). To permanently implement this launch option, I added it to the Exec line in /usr/share/applications/signal-desktop.desktop. Unfortunately, it does not seem as though there is a way to cascade this to all electron apps on my system so I wouldn't have to edit each app individually, but at least now I know this seems to work for more than just Chrome. I still wish that the apps worked properly out of the box, but hopefully this will help others in the future.