[RESOLVED] Wayland mega thread and Fractional scaling (Fedora 39 Beta)

Hi all,

Got my Framework 13 w/ AMD. Loving it. Installed Fedora 39 Beta, and wasn’t able to get fractional scaling.

It turns out I was on X11. If I log out, I can then select “Gnome” (which is already selected, actually), and then I get logged in using Wayland.

However, if I first boot the laptop, the only options are “Gnome” and “Gnome Classic”, and it logs me into X11.

Is there something I need to switch so it uses Wayland?

1 Like

Have you checked Framework Laptop 13 - Fedora 39 Installation Guide - Step 6 - Completing Set up?

Yes. As I have detailed above, the problem is not that I cannot get fractional scaling working, but that it defaults to X11 on boot.

1 Like

Okay. You may find helpful info by dmesg or journalctl -f. Following threads may also be helpful for you. You may see some improvement by keeping your RPM packages to the latest packages by running dnf upgrade especially as Fedora 39 is a beta version.

I can see your issue is reported at Fedora 39 on the Framework Laptop 13 - #5 by Aman_Chhabra

  1. The first time you log in after booting it defaults to X11, then if you log out and log back in it will use Wayland. Not sure why this is happening. Is it a F39 issue or something else going on?
1 Like

I have experience the sane issue: My Experience Setting up Fedora on Framework Ryzen

Fresh install, fully updated, goes to Wayland as default.

General Comments:

  • RPM version are generally more stable than flatpak.
  • I would try fedora 38 first and then go to fedora 39, since there are more RPM packages supporting it
  • I find xorg experience subpar comparing to Wayland on laptop. Fractional scaling and touchpad gesture are great on wayland, but not properly supported on X11.
  • hardware feature all works with minor tweaking (follow fingerprint guide), including fingerprint, camera, microphone, autobrightness, brightness key, etc.
  • battery life is amazing, and everything is plenty fast (coming from a surface laptop 2, so not really a comparison)

General Quirks:

  • System still logs into Xorg upon boot, I need to log out and relogin to enter wayland, so I will just use suspend instead of shutdown. Edit: Fixed in BIOS 3.03
  • Gnome Tweak seems to be missing some options, like display days of the week in the top bar; and apply dark theme to legacy apps. Probably because it is beta software Edit: days of the week was moved to setting, and dark theme is solved by installing GitHub - lassekongo83/adw-gtk3: The theme from libadwaita ported to GTK-3 and enable it in tweak
  • Palm rejection is not very great, I find my cursor moves a lot when typing.
  • Gnome finder (press “super” key and starts typing) crushes A LOT (at least every two days), and it would crush the entire system. Edit: Seems like all the non-consistent/system-level crushes are fixed by BIOS 3.03.

Apps Quirks and Fixes:

  • Megasync flatpak package always crushes, at some point or another.
  • Megasync do not have RPM package for Fedora 39, so I downloaded the official RPM for 38, and it works flawlessly. However, it always to check update for fedora 39, which leads to a 404 error. But I avoid updating using the terminal, so it don’t bother me that much. Edit: Use the RPMfusion version solves the problem, you will need to enable RPMfusion and resolve a package conflict, just google the error message, there are solutions.
  • Slack flatpak works great. I just need to enable “fallback to x11” permission for it to not look blurry. It uses wayland session when given that permission.
  • Signal flatpak crashes when send in the ozone wayland cmd argument, or tweak any wayland related permissions (wayland window session, fallback to x11, etc) Signal uses wayland session when set environment variable SIGNAL_USE_WAYLAND=1 in flatseal, there are more config options here: GitHub - flathub/org.signal.Signal
  • Signal RMP provided by opensuse do not support fedora 39 (talking about missing dependency, and I am too lazy to track it down). So I have to deal with blurry signal. signal flatpak works flawlessly, hence RPM might not be recommended
  • zoom flatpak works with screen sharing after I give it the “session dbus” permission in flatseal Zoom flatpak works with screen sharing when you go to setting > screen share > advanced > screen capture mode on wayland and change it to pipwire mode.
  • codium works great as RPM (since I need it to access my dev env). Just need to use the ozone wayland commandline arg in the desktop file, and set the window title bar to “custom” instead of native.
  • mouseless (GitHub - jbensmann/mouseless: A replacement for the mouse in Linux) works flawlessly.
  • Firefox and thunderbird flatpak works flawlessly with env var MOZ_ENABLE_WAYLAND=1
8 Likes

Hi, thank you for sharing your experience. Do you mind sharing exactly what you did to fix Slack? I’m not sure what this permission is and I’ve tried several solutions I’ve found related to fractional scaling on Wayland for electron apps and nothing worked so for now I’m just running it in the browser.

Of course! If you installed slack from the app store (which means you installed the flatpak version), you can install flatseal from the app store (I used the flathub version, but all versions should work).

Open flatseal, select slack on the left panel, there should be a permission called “fallback to x11 windowing system” on the right, enable that and restart slack.


If you installed slack from the official site (this means you installed the RPM version), then you will probably need to edit the slack desktop file.

I am happy to share more details, just let me know what do you need.

1 Like

Thank you so much, that was it! I’m new to the flatpak world and whenever I heard of flatseal it was in the context of enabling access to the filesystem, so I had no Idea it can do so much more.

If you don’t mind, can you share the changes you made to the desktop file for Code?
For now i’ve resorted to add code --enable-features=UseOzonePlatform --enable-features=WaylandWindowDecorations --ozone-platform-hint=auto to a bash file and launch it like this, for some reason if I tried to add these to the .desktop file it was not working.

Flatseal is a GUI tool for flatpak permission management, it can manage most (if not all) the permissions of a flatpak app.

I use the RPM version of codium (a open-source fork of code), this means that the desktop can be found in /usr/share/applications/. I think you need to change both codium.desktop and codium-url-handler.desktop.

Here is my codium.desktop:

[Desktop Entry]
Name=VSCodium
Comment=Code Editing. Redefined.
GenericName=Text Editor
Exec=/usr/share/codium/codium --enable-features=WaylandWindowDecorations --ozone-platform-hint=auto --unity-launch %F
Icon=vscodium
Type=Application
StartupNotify=false
StartupWMClass=VSCodium
Categories=TextEditor;Development;IDE;
MimeType=text/plain;inode/directory;application/x-codium-workspace;
Actions=new-empty-window;
Keywords=vscode;

[Desktop Action new-empty-window]
Name=New Empty Window
Exec=/usr/share/codium/codium --enable-features=WaylandWindowDecorations --ozone-platform-hint=auto  --new-window %F
Icon=vscodium

and here is my codium-url-handler.desktop:

[Desktop Entry]
Name=VSCodium - URL Handler
Comment=Code Editing. Redefined.
GenericName=Text Editor
Exec=/usr/share/codium/codium --enable-features=UseOzonePlatform --ozone-platform=wayland --open-url %U
Icon=vscodium
Type=Application
NoDisplay=true
StartupNotify=true
Categories=Utility;TextEditor;Development;IDE;
MimeType=x-scheme-handler/vscodium;
Keywords=vscode;
1 Like

Thank you I think this section did the trick, last time I edited I only added the options to the [Desktop Entry] section. And I hadn’t modified the url-handler file either the first time.

@ClaudiuIO, I think I mistyped he url-handler desktop file, “useOzonePlatform” should not be necessary, nor do I think “WaylandWindowDecorations” is necessary if you are using custom window title bar provided by vscode.

Merging this to an existing thread and into the correct forum section (Linux) as I would not have seen in General.

1 Like

With Fedora 39 fully updated, in a terminal,

gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"

This assumes you’re on Fedora Workstation 39 (GNOME) and you have not changed your defaults away from Wayland.

Now, Electron applications are their own thing. You will likely have to make individual changes to their launchers as some were built with X in mind. Using --force-device-scale-factor flag to the .desktop file and so on. I personally avoid electron applications if I can.

1 Like

Thanks @Matt_Hartley I did end up trying that command a bunch but it doesn’t work when the system boots to X11 by default.

I know above you said you don’t experience it on a fresh install. Mine is only a couple days older and I just ran dnf upgrade this morning, so I’m not sure why it’s still happening.

Edit: a-ha, mutter 45.0-9.fc39 is available, let’s see…

Edit 2: No dice, sorry. I want to help you here, so I can try to provide logs, I am just not too familiar with which logs to provide.

I think the reason why you still see the issue in your environment is because Matt tested the issue on another BIOS unit while the AMD Batch 1 user’s BIOS version is still 3.02. You can check the following thread. This issue is already filed on the Fedora Bugzilla with the log file. So, maybe you don’t have to provide logs.

1 Like

Thanks @junaruga! Will give a BIOS upgrade a go.

1 Like

I was wondering why my F39 haven’t received any update for several days, which is not the typical fedora software update frequency.

Turns out, it seems like I need to enable “Fedora 39 - Test Update” repo in the software repository section in store.

I guess I will need to turn it off once fedora 39 is released.