GNOME Shell should support fractional (non-integer) Hi-DPI scaling

Bug #1687246 reported by Justin
254
This bug affects 59 people
Affects Status Importance Assigned to Milestone
Mutter
Fix Released
Medium
Ubuntu GNOME
Triaged
Wishlist
Unassigned
gnome-shell (Ubuntu)
Fix Released
Wishlist
Marco Trevisan (Treviño)

Bug Description

https://trello.com/c/r12LY9iA (for 17.04 was https://trello.com/c/TvwNvXOo)

---

I'm using fully updated Ubuntu GNOME 17.04.

In Ubuntu Gnome, you only allow for integer scaling of things for high DPI monitors. While in theory this sounds good, on a 27 inch 4k monitor like mine, restricting it to integers is a problem. 1x is annoyingly small, and 2x is WAY too big. You need a 1.5x, and presumably to just allow most noninteger values to future proof the distribution given 8k monitors and all sorts of new and weird things coming out, like windows 10 has.

Photos of the two annoying sizes are available here (it won't let me attach two files):

http://i.imgur.com/vWrvZxq.jpg
http://i.imgur.com/11p19k7.jpg

I apologize for my photography skills in advance., you'll have to look at the ruler for scale to see the problem. Please contact me if you need any more information etc.

Workaround
==========
You can enable experimental fractional scaling in Ubuntu 17.10 or 18.04 LTS by running the following command in a terminal and then restarting your computer. Note that this is an experimental feature and is not fully supported by either Ubuntu or GNOME.

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

After restarting your computer, you should find additional scale options in Settings > Devices > Displays.

If you change your mind and want to get back to supported status, run:

gsettings reset org.gnome.mutter experimental-features

Revision history for this message
Justin (justinkterry) wrote :
Jeremy Bícha (jbicha)
tags: added: gnome-1710
Changed in gnome-shell (Ubuntu):
status: New → Triaged
importance: Undecided → Medium
Changed in ubuntu-gnome:
importance: Undecided → Medium
status: New → Triaged
milestone: none → artful
summary: - HiDPI Scaling Issue
+ GNOME Shell should support fractional (non-integer) Hi-DPI scaling
Changed in mutter:
importance: Unknown → Medium
status: Unknown → Confirmed
Revision history for this message
Justin (justinkterry) wrote :

It would probably also be a good idea to noninteger values under 1 as well, because that would be important to making raspberry pi type stuff function correctly, and with the IoT boom that's probably going to be a thing. It'd also just be nice on netbook sized laptops.

Revision history for this message
Justin (justinkterry) wrote :
Revision history for this message
Jeremy Bícha (jbicha) wrote :

Yes, the GNOME developers know about this issue. My understanding is that they intend to work on this for GNOME 3.26.

Jeremy Bícha (jbicha)
tags: added: gnome-17.10
removed: gnome-1710
Changed in gnome-shell (Ubuntu):
assignee: nobody → Marco Trevisan (Treviño) (3v1n0)
Changed in gnome-shell (Ubuntu):
status: Triaged → In Progress
description: updated
Revision history for this message
Justin (justinkterry) wrote :

Should this bug be marked duplicate of this? https://bugs.launchpad.net/ubuntu-gnome/+bug/1687245

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

No, I think bug 1687245 might be a slightly different issue. And even if it was the same issue as this one, this bug has more details so should remain the primary bug for fractional scaling. But again, it's possible the lock screen scaling is a different problem.

Revision history for this message
Justin (justinkterry) wrote :

One more potentially related bug just so it's on here: https://bugs.launchpad.net/ubuntu/+source/gnome-desktop/+bug/1687253

Revision history for this message
EdwardO (edwardooo) wrote :
Changed in mutter:
status: Confirmed → In Progress
tags: added: gnome-18.04
removed: gnome-17.10
description: updated
tags: added: highdpi
Revision history for this message
Justin (justinkterry) wrote :

Any news on this?

Revision history for this message
Rocko (rockorequin) wrote :

It's working for me in Ubuntu 17.10 - gnome-settings lets me choose scaling between 100% and 200% in 25% increments for each monitor separately (and it defaults to 200% on my 4K screen with my 1920x1080 screen attached). You might have to change a setting for it to work - see http://www.omgubuntu.co.uk/2017/09/enable-fractional-scaling-gnome-linux.

tags: added: hidpi
Revision history for this message
Greg Williams (greg2lapa) wrote :

Will the work being done here benefit GNOME installs in general (e.g., Gnome-shell without Ubuntu), or does it only apply to Ubuntu installs)?

Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

It's done at gnome-shell / mutter level and worked upstream, so everyone using GNOME (w/ wayland) will get it.

Revision history for this message
Justin (justinkterry) wrote :

Is this going to come to 18.04? I used the beta and it's not there.

Revision history for this message
Eduardo Silva (edsiper) wrote :

+1, using Ubuntu 18.04-beta here and it's not there.

Revision history for this message
Lonnie Lee Best (launchpad-startport) wrote :

This is my number one complaint for 18.04 and GNOME3. I'll be using 16.04.4 until 2021, or until it can compete with the perfection that is the Unity desktop (which supports fractal scaling).

Revision history for this message
Jeremy Bícha (jbicha) wrote :

I have updated the bug description with steps to enable the experimental feature. This feature is not fully complete in GNOME yet and will not be enabled by default or supported in Ubuntu 18.04 LTS. Apologies for the inconvenience.

description: updated
description: updated
Changed in ubuntu-gnome:
importance: Medium → Wishlist
Changed in gnome-shell (Ubuntu):
importance: Medium → Wishlist
Revision history for this message
Ken (kkinder) wrote :

I had it manually enabled in Gnome on 17.10 and just upgraded to 18.04. On Wayland, I'm noticing fractional scaling went from pretty good to broken; many fonts (even the datetime on the top of the screen) are now pixelated on 150% scaling.

Revision history for this message
Reece (reece) wrote :

Lack of fractional scaling is a significant feature regression relative to 17.10 with Unity for those of us with hidpi displays. What can users do to show support for getting solved?

Revision history for this message
Lonnie Lee Best (launchpad-startport) wrote :

You should not only be able to have different fractal scaling for each monitor, but you should also be able to have fractal scaling for each separate window you launch.

Back around 2008, Mandriva released a desktop called Metisse that allowed (seemingly infinite) fractional scaling for each window! (much less is per monitor granularity) Here's a video of that in action:
https://www.youtube.com/watch?v=dxsUKX6xXyE&t=40s

To accomplish this, using Metisse, you'd simply hold down shift (or was it ctrl) while resizing the window.

You could do almost anything to that window, and all your mouse actions on that window would still work accurately no matter how you scaled it. You could even do silly impractical things like turn the window up-side-down, pivot it, push the left side of the window deeper into the background than the right side, etc. And, all your interactions with that window would still work accurately. It was amazing (and done on Linux first -- 10 years ago).

When will the world catch up with what Metisse accomplished in 2008? It was way ahead of its time.

Here's an academic paper on Metisse: https://hal.inria.fr/inria-00533597/document

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I also recall SGI workstations had some nice arbitrary scaling in the 1990's.

But this is not about the state of the art, it's about the state of gnome-shell :)

Revision history for this message
Rob Parker (rfdparker) wrote :

Another consideration are users with Nvidia graphics.

From what I understand, GNOME Shell's fractional scaling support only works with Wayland.

But Nvidia's proprietary driver doesn't yet support Wayland. Some may argue the fault for that situation lies with Nvidia.

But this is nonetheless a regression from Ubuntu 16.04 LTS, where the default desktop (Unity 7) has fractional scaling support which works with Nvidia's proprietary driver.

All that said, even for users without Nvidia graphics, I suppose the regression (of loosing fractional scaling support) also exists given that Ubuntu 18.04 LTS, for understandable reasons, has gone back to X.org by default.

Personally I'll probably be sticking with Ubuntu 16.04 LTS for the foreseeable future, due to this.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Note to all readers:

1. A workaround to enable the (unfinished) feature is at the top of this bug in the Bug Description.

2. An alternative solution, which I've found works fine for many systems (lower than 3K resolution) is: gnome-tweaks > Fonts > Interface > choose your own font size(s)

Revision history for this message
Lonnie Lee Best (launchpad-startport) wrote :

Doesn't that work-around only apply to Wayland, while the default GNOME3 desktop in Ubuntu 18.04 is Xorg?

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

No, the behaviour should be mostly identical between Wayland and Xorg sessions. You may notice some differences but if you do then that's probably a bug.

Revision history for this message
amias (amias) wrote :

I am having this problem on ubuntu 18.04 on my dell precision m3800

it has built in 13inch 4k screen which is perfectly setup and scaled
but i also have external 40in 4k screen on display port , this gets scaled
to the same settings as the 13inch screen which is waste.

under unity i could scale each independently and it was excellent

additionally my external screen now only runs at a horrible 30hz when it used to run at 60hz
the internal screen runs at 60hz . xrandr doesn't give me more options

I am using the nvidia driver in fulltime optimus mode with the built in

Revision history for this message
Pedro Côrte-Real (pedrocr) wrote :

To get the same effect in Ubuntu 18.04 as 16.04 I used the tweak tool to set a text scaling of 1.3. Additionally I had to set a scaling in Firefox's about:config in the layout.css.devPixelsPerPx property to the same 1.3 value. It's annoying that this has been removed from the normal UI as the underlying feature is still there and works fine.

Revision history for this message
Lonnie Lee Best (launchpad-startport) wrote :

I noticed that 18.04.1 has been released. Has there been any progress for providing fractional scaling (via the default GUI) like was offered in Ubuntu 16.04?

tags: added: bionic xenial
tags: removed: xenial
tags: added: cosmic
tags: added: highdpii
removed: highdpi
tags: added: highdpi
removed: highdpii
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Historically we use the tag 'hidpi' and not 'highdpi'. It doesn't hurt to have both but for searches you will find more under 'hidpi':

https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bugs?field.tag=hidpi

Revision history for this message
Mario Vukelic (kreuzsakra) wrote :

They had both been there from the start, but I typoed it into an ii when adding "cosmic" tag and so I restored the original

Revision history for this message
Omer Akram (om26er) wrote :

What is left of this issue to be sorted, is there a way to track upstream progress on this ? From my testing many apps (non-gnome) get blurry when fractional scaling is enabled. So is that something those app developers will have to fix in their apps ?

Revision history for this message
Omer Akram (om26er) wrote :

I may add that I believe we probably need more scaling steps than 125, 150, 175 and 200. On my Thinkpad X1C with 14" display and 1080p resolutions 125% is still "too small" and 150% is too large.

Revision history for this message
Mario Vukelic (kreuzsakra) wrote :

For my 15" display with 3840*2160, without the workaround I get 100, 200 (too small), 300 (too large), and 400. Is it intentional that with the experimental workaround from the first comment enabled, I have 125, 150, 175 and 200% but nothing above it?
The maximum of 200% is too small and I use a 1.20 font scaling in Tweaks, so I'd be looking for an option to scale by 240%.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Mario: gnome-control-center seems to limit the scale to 200% on some machines, 300% on others. And I think I have seen 400% offered in some cases. I don't know why, but the inconsistency is definitely annoying. Please log a bug for it by running:

  ubuntu-bug gnome-control-center

Revision history for this message
Mario Vukelic (kreuzsakra) wrote :

Daniel, new gnome-control-center bug #1795483

Revision history for this message
SergeiS (sergei-redleafsoft) wrote :

I'd like to air some disappointment. Whoever decided that we should be happy with 100,200,300% options is WRONG. We should have a field to enter 135 or 150 or 177, whichever works best for the screen size. I'm not able to use any latest Ubuntu releases on my laptop because of this decision. I'm currently forced to stay with Xubuntu that allows setting custom DPI.

Revision history for this message
Lonnie Lee Best (launchpad-startport) wrote :

I agree with sergeiS 225%. Not 200%! Long live Ubuntu 16.04.5 and Unity 7!

Revision history for this message
Omer Akram (om26er) wrote :

I think 100,200 and 300% were the easiest to get done. The real issue is with fractional scaling, which KDE does better than others currently and then of course it depends how your GUI toolkit plays with fractional scaling.

Changed in mutter:
status: In Progress → Fix Released
Revision history for this message
Lonnie Lee Best (launchpad-startport) wrote :

Is this really fixed in Ubuntu 18.04? I don't want to waste my time upgrading again unless fractional scaling truly supported.

Revision history for this message
Lonnie Lee Best (launchpad-startport) wrote :

I just install Ubuntu 18.04 in a virtual machine and updated it. I don't see a fix, I see the same disappointment:
https://i.imgur.com/tTanPlv.png

Revision history for this message
Sebastien Bacher (seb128) wrote :

No, it's not fixed in any Ubuntu version yet. The first part of the work just landed upstream and for wayland sessions only, that should be in the incoming Ubuntu Disco version first and unsure it's going to be something that is possible to SRU since it involves quite some refactoring.

Revision history for this message
Mario Vukelic (kreuzsakra) wrote :

I have this now on Disco in Wayland and with update to mutter 3.32 (incl. proposed, except gnome-settings-daemon at 3.31.91-1ubuntu1), but apparently I had to add scale-monitor-framebuffer to the gsettings key org.gnome.mutter.experimental-features (as mentioned by https://www.omgubuntu.co.uk/2019/03/best-gnome-3-32-features). Is this expected?

I also still have the limited options as in gnome-control-center bug #1795483 from my comment #34 above. (100, 125, 150, 175, 200), with 200 still too small on this display (15" with 3840*2160)

Revision history for this message
Mario Vukelic (kreuzsakra) wrote :

(Note that adding scale-monitor-framebuffer to experimental mutter settings was already the workaround mentioned in Bug Description, so not new)

Revision history for this message
Mario Vukelic (kreuzsakra) wrote :

Sorry for spamming, I should have clicked the source link on OMGUbuntu, experimental is apparently expected: https://blog.3v1n0.net/informatica/linux/gnome-shell-fractional-scaling-in-wayland-landed/

Revision history for this message
Lonnie Lee Best (launchpad-startport) wrote :

So now we have another Ubuntu release: 19.04.

Xorg is still the default desktop and you cannot do fractional scaling. No progress to be seen!
https://bugs.launchpad.net/ubuntu-gnome/+bug/1723411

tags: added: disco
tags: removed: cosmic
tags: removed: disco
Revision history for this message
Amr Ibrahim (amribrahim1987) wrote :

Is this fixed now in Focal? I see fractional scaling in gnome-control-center.

Changed in gnome-shell (Ubuntu):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.