[RESOLVED] Linux and Fractional Scaling

The Framework laptop is my favorite computer of all time; just a preface to this criticism.

The Framework laptop will never be a great Linux laptop so long as the current display is the only option. Fractional scaling really does not work well on Linux. That is a fact and it is honestly no where near anything looking like a solution.

If you go with Wayland that is a whole can of worms. If you go with X11 you will find either severe performance degradation and UI lag or you will find massive tearing.

This laptop would be perfect for Linux if there was a 1920x1280 display option. Honestly, this would make it a no brainer but it doesn’t seem to be in the cards. It would also help battery life too.

Does anyone at Framework have an opinion/thoughts on this matter?

Thanks!

4 Likes

If you are running Xorg you can likely configure the display to run at 1920*1280. As to Wayland fractional scaling being a mess…it ain’t on Fedora.

4 Likes

Also use Fedora and Wayland. Fractional scaling looks fine to me. I use Flatpaks tho, regular applications might be different.

1 Like

I heard Fractional scaling is being implemented in kernel 6.1 on wayland, maybe you can check it out.

But yes, I would like a 1920x1280 screen. I think there’s some discussion on the alternative screens thread about alternative display panels with the eDP connector though.

1 Like

That really depends on the applications you use. On native wayland, fractional scaling looks absolutely perfectly sharp and, even better, multiple monitors with different scaling work great together.

If you’re running an application that needs X11 then indeed fractional scaling incurs some blur. In the past half year that blur has actually improved considerably to a point now where I find it acceptable for occasional use (but not for something like an editor window), but that will be subjective.

So I think there is actually a very clear solution in sight and that is that applications get ported to run on wayland natively. I’d say this is the first concrete benefit of Wayland over X11. Many applications, including chromium and electron, can now run quite well on wayland natively but may not yet do so by default (chromium as packaged with Fedora recently switched its default) and figuring out how to change this setting may require some searching.

Wayland may not be your first choice of display manager, but with active development of X11 having come to a halt, it is now on its way to becoming a legacy system. The fractional scaling support has been the killer app for me that converted me (because I really do need my system to play nice with monitors with upredictable scalings)

5 Likes

Just a quick 2c that some may find useful:

I use a FW with Fedora/GNOME/Wayland, together with an external 4K (3840x2160) 27" display (in portrait FWIW). I did have some problems with text rendering when I first tried fractional scaling.

In the end the simple solution to all of this was to leave my display at 100% and just enable Large Text in the accessibility settings.

Things, including text, render just fine, in both displays, with consistent-enough sizes across the screens. I only use a couple of flatpak apps and they seem to render fine too.

3 Likes

I run Gnome 43.1/Wayland with enabled experimental scaling and it works pretty smooth on 150%. It is not perfect but it is pretty good.

Whatever Pop!_OS is doing looks perfect. I’ve been using Pop!_OS with X11 with 150% scaling for months and everything is always sharp. Nothing has ever looked wrong so far.

I’m not sure how they do it, but I think I’ve found a major hint: neofetch is reporting different screen resolutions for different scales: 3606x2404 for 125%, 3006x2004 for 150%, and of course 2256x1504 for 100%. My theory is that 125% and 150% both actually use 200% in X11, but since it’s rendered for a larger display, it’s downscaled for the real hardware. For example: 200% scaling * 3006/2256 = 150.1% real-world scaling.

If I’m right, I wonder if System76 implemented it this way because they were having fractional scaling issues on their own devices?

I’ll throw my hat into the “what are you talking about?” ring!

I’m running Fedora/Cinnamon with fractional scaling and never had anything to complain about. I have encountered one application (SpiderOak client) that doesn’t scale properly and is a bit small but otherwise everything is perfect.

2 Likes

Using our Fedora guide fractional scaling will be the best bet. You can dial in the overall look pretty deeply.

For me, fractional scaling on Pop!_OS doesn’t work properly with X11. I get weird stuttering constantly. Like the entire UI is rendering at 15 FPS.

First solution was to make a custom 1080p resolution but for 2:3 and use that at 100% scaling. It worked wonders.

Then I decided to test Wayland and that one works even better! I’m using the native resolution 1440p with scaling 125% and I have no stutters. I actually switch between scaling 125% and 150%. Sometimes I feel like 150% makes the top bar a bit too thick and I can’t see all my icons. But 125% makes it a tad too small for desktop use (I use framework at home with an external 1440p monitor).

I’ve found Wayland on Pop!_OS to be the best for fractional scaling, I use 125 myself.

That is tempting but I seem to have a lot of difficulty with Electron apps which unfortunately I have a lot of: Vscode, Bitwarden, etc…

Thanks!

Yes, while there are electron flags and environment variables that should control whether wayland is used, it looks like it really depends on the packaging whether those get looked at. With a bit of googling I found the incantation below that is now my /usr/local/bin/code . It gives me very crisp fonts. It does seem very finicky about the precise flags and in which order. A bit of experimentation yielded many variants that don’t do what I want.

#!/bin/sh
exec /usr/bin/code --ozone-platform-hint=auto --enable-features=WaylandWindowDecorations "$@"

Chromium and firefox nowadays come with wayland on by default in fedora. I haven’t bothered changing google-chrome because I only rarely use it, but the flags for it are well-documented.

1 Like

Hi @Ted_Martin, I’ve been dealing with some of issues you mentioned as well. I’m using Arch Linux with KDE Plasma, I have been daily driving Wayland since start of this year, Plasma (KDE) has been very good at improving Wayland with each release cycle. Fortunately for me, I don’t use many electron apps, but I do use some regularly for this to be annoying, Besides, I want everything to run under Wayland.

While Fractional Scaling is a hack on most Wayland display server, there is hope, I’ve been following along for some time this commit to wayland-protocols, New protocol for fractional scaling which was recently merged, is now part of extended wayland protocols, this should make fractional scaling better on wayland. Most Wayland display servers are also working on implementing this functionality, hopefully in the next release cycle? but that is up to the dev’s and how soon they can get it out.

For the time being, I’m using following methods to get most things to run under wayland and look crispy

I have a .config/electron-flags.conf file, which basically says what @Nils mentioned, but I’m following Arch Wiki for wayland.

Some Apps will not follow this electron config, especially if they are a bin installs, so to workaround that, I have copied over .desktop entries for these applications to .local/share/applications/ and added --ozone-platform-hint=auto or --ozone-platform=wayland to the line where it says Exec=
for signal-desktop client, it’s something like this
Exec=signal-desktop %u --ozone-platform=wayland

Hope this helps.

1 Like

Nicely done and thanks for the share! :slight_smile:

Thank you for all of the helpful replies. Wayland on Fedora/Gnome seems to be the best bet right now. I still think the ideal solution would be offering a screen that doesn’t need scaling, especially for Linux but I imagine there are a lot of business reasons that make that not optimal in the short term. In the meantime I’ll do my best to keep working with what you all have offered here which is a huge improvement so thank you.

4 Likes

The issue here is that everyone has different expectations as to perfect screen appearance. I’ve seen companies try to do this sort of thing in the past, it’s best to provide a set of tools to let the user decide what is best for them.

1 Like

This is a tough one. I ended up going back to Windows because I’m either dealing with screen tearing on X11 or app incompatibility on Wayland. I think Apple shows the way here ultimately by ensuring that the screen resolution requires a doubling of pixels and no fractional scaling. If there was a 1920 x 1200 screen I would by it in a heart beat. Either way I love my Framework laptop and am happy others have found solutions that work well for them on Linux. Hopefully in the future there is a lower res screen but it is easy to say from my vantage point. I am sure there are compelling business decisions that make this issue not a top priority one.

1 Like

Hi, Ted.

Am I missing something?

I’ve got my screen set to 1920 x 1200 under Ubuntu-MATE 22.04

image

HTH,

Tony.