Fractional scaling in Xorg applies to both monitors when you only want it on one

Bug #1857383 reported by Alex Marc
116
This bug affects 21 people
Affects Status Importance Assigned to Milestone
Mutter
Invalid
Undecided
Unassigned
mutter (Ubuntu)
Triaged
Medium
Unassigned

Bug Description

I have installed Ubuntu 20.04 about 2-3 weeks ago (for the single motive that has fractional scalling) and when activating fractional scalling worked fine, in the meantime i reinstalled again Ubuntu 20.04 (laptop warranty issue) on same hardware but using the latest Ubuntu 20.04 version and now when i activate fractional scalling it does not work anymore.

The issue is that it basically zooms both the displays, i can explain best by attaching the printscreens and a picture with my phone on the same thing.You will see in the photo taken with the phone how it actually scales now and how the screenshots are taken...

Let me know what logs/commands etc is needed to pinpoint this which i think is a regression.

The monitor on which i want to scale is 4k and is connecting through DELL DA300 adapter through USB-C/Thunderbolt ( i have also tried using Dell Dock WD19 but same issue).
---
ProblemType: Bug
ApportVersion: 2.20.11-0ubuntu15
Architecture: amd64
DisplayManager: gdm3
DistroRelease: Ubuntu 20.04
GsettingsChanges: b'org.gnome.mutter' b'experimental-features' b"['scale-monitor-framebuffer']"
InstallationDate: Installed on 2019-12-18 (18 days ago)
InstallationMedia: Ubuntu 20.04 LTS "Focal Fossa" - Alpha amd64 (20191127)
Package: gnome-shell 3.34.1+git20191024-1ubuntu1
PackageArchitecture: amd64
ProcVersionSignature: Ubuntu 5.3.0-24.26-generic 5.3.10
RelatedPackageVersions: mutter-common 3.34.2-2ubuntu1
Tags: focal
Uname: Linux 5.3.0-24-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups:

_MarkForUpload: True

Revision history for this message
Alex Marc (m4rccc) wrote :
Revision history for this message
Ike Panhc (ikepanhc) wrote :

Thanks Alex but I don't think this is a kunpeng920 issue. I've re-assigned this bug for Ubuntu.

Thanks again.

Changed in kunpeng920:
status: New → Invalid
Paul White (paulw2u)
affects: ubuntu → gnome-shell (Ubuntu)
tags: added: focal
summary: - Fractional scalling does not work anymore
+ Fractional scaling does not work anymore
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: Fractional scaling does not work anymore

Thank you for taking the time to report this bug and helping to make Ubuntu better. Please execute the following command only once, as it will automatically gather debugging information, in a terminal:

apport-collect 1857383

When reporting bugs in the future please use apport by using 'ubuntu-bug' and the name of the package affected. You can learn more about this functionality at https://wiki.ubuntu.com/ReportingBugs.

affects: kunpeng920 → ubuntu
no longer affects: ubuntu
Changed in gnome-shell (Ubuntu):
status: New → Incomplete
Revision history for this message
Alex Marc (m4rccc) wrote : Dependencies.txt

apport information

tags: added: apport-collected
description: updated
Revision history for this message
Alex Marc (m4rccc) wrote : ProcCpuinfoMinimal.txt

apport information

Revision history for this message
Alex Marc (m4rccc) wrote : ProcEnviron.txt

apport information

Revision history for this message
Alex Marc (m4rccc) wrote : ShellJournal.txt

apport information

Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: Fractional scaling does not work anymore

Just in case it is relevant, remember you need two different settings:

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

Xorg:
gsettings set org.gnome.mutter experimental-features "['x11-randr-fractional-scaling']"

Changed in gnome-shell (Ubuntu):
status: Incomplete → New
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Since the bug report seems to suggest you're not using Wayland but have only enabled fractional scaling for Wayland and not Xorg, please try:

gsettings set org.gnome.mutter experimental-features "['x11-randr-fractional-scaling']"

Changed in gnome-shell (Ubuntu):
status: New → Incomplete
Revision history for this message
Alex Marc (m4rccc) wrote :

Hi Daniel,

I verified from begining that i have Xorg and i enabeld from the begining only for Xorg by using information from this tutorial:

http://ubuntuhandbook.org/index.php/2019/10/how-to-enable-fractional-scaling-in-ubuntu-19-10-eoan/

Using dconf and also using the terminal command afterwards.( I have attached printscreen with the settings from dconf).

Also it was strange that after i came back from holiday it worked fine home ( 1x4k (150%scale) + 1xFHD + laptop), then at work i tried to scale the laptop display to 125% ( 2xFHD + laptop display) and had the issue again ... so it is random.

tags: added: xrandr-scaling
Changed in gnome-shell (Ubuntu):
status: Incomplete → New
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in gnome-shell (Ubuntu):
status: New → Confirmed
Changed in mutter (Ubuntu):
status: New → Confirmed
Revision history for this message
Jianrong Jia (perevo) wrote :

Exactly same issue.
The fractional scaling does not work after recent system update.

Revision history for this message
Greg Cavazos (drayak335) wrote :

Same issue, downloaded & installed iso, fractional scaling was working, it stopped working after an update, I also installed drivers for the Wifi - Broadcom BCM4352

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

Anyone using the NVIDIA driver please see bug 1870736 and bug 1873403 instead.

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

In case it's relevant, I've just discovered the uninitialized variable in bug 1874207 can make the fractional scaling options randomly missing from Settings. Initializing capabilities=0 fixes that.

Revision history for this message
Katie (katie-c) wrote :

i see fractional increments but unable to set to 175% Monitor reports no display on dp 1.2 and there should be

Revision history for this message
Greg Cavazos (drayak335) wrote :

I also see the fractional increments and can select any, but only the 100 & 200 work correctly, the others change something but it doesn't scale properly.

Probably expected, I tried record the transitions using screen recorder, it worked changing 200% to 100%, then when I select 125 the video gets scrambled, and seems to be getting worse as I switch to another until I get to 200.

Revision history for this message
Simone Liguori (simone-liguori) wrote :

Using the NVIDIA driver I was affected by bug 1870736 and bug 1873403.
I moved to the Nouveau drivers and the issues above were gone.

However, I notice a strange issue with display settings persistence.

I have 2 screens (HDMI3-3 FHD, DP-1 4K primary), which I'd like to have respectively at 100% and 150% scale:
$ xrandr | grep " connected"
DP-1 connected primary 5120x2880+3840+0 (normal left inverted right x axis y axis) 607mm x 345mm
HDMI-3 connected 3840x2160+0+302 (normal left inverted right x axis y axis) 160mm x 90mm

Whenever I set the 4K screen to 150% scale, any changes won't persist after reboot. If I change any other settings (like changing screen positions), leave scale as 100%, the changes I make do persist on reboot.

If after reboot I attempt to set 4K screen to 150% not only the change won't persist after reboot, but it will go back to the initial state (effectively undoing the previous changes too).

How do I reproduce the issue:

1) Ensure my system is on Nouveau drivers
2) HDMI-3 (FHD) is currently on the right, DP-1 (4K) on the left
3) Display settings, swap screen positions: HDMI-3 (FHD) on the left, DP-1 (4K) on the right
4) Reboot
5) Verify changes persisted: HDMI-3 (FHD) is on the left, DP-1 (4K) on the right
6) Set DP-1 scale to 150%
7) Reboot
8) Verify not only changes didn't persist, but the status is back as 2), with screens going back to their original position

Revision history for this message
Simone Liguori (simone-liguori) wrote : apport information

ProblemType: Bug
ApportVersion: 2.20.11-0ubuntu27
Architecture: amd64
CasperMD5CheckResult: skip
CurrentDesktop: ubuntu:GNOME
DisplayManager: lightdm
DistroRelease: Ubuntu 20.04
InstallationDate: Installed on 2019-11-09 (169 days ago)
InstallationMedia: Ubuntu 18.04.3 LTS "Bionic Beaver" - Release amd64 (20190805)
Package: mutter
PackageArchitecture: amd64
ProcVersionSignature: Ubuntu 5.4.0-26.30-generic 5.4.30
RelatedPackageVersions: mutter-common 3.36.1-3ubuntu3
Tags: focal
Uname: Linux 5.4.0-26-generic x86_64
UpgradeStatus: Upgraded to focal on 2020-04-26 (0 days ago)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
_MarkForUpload: True

Revision history for this message
Simone Liguori (simone-liguori) wrote : Dependencies.txt

apport information

Revision history for this message
Simone Liguori (simone-liguori) wrote : GsettingsChanges.txt

apport information

Revision history for this message
Simone Liguori (simone-liguori) wrote : ProcCpuinfoMinimal.txt

apport information

Revision history for this message
Simone Liguori (simone-liguori) wrote : ProcEnviron.txt

apport information

Revision history for this message
Simone Liguori (simone-liguori) wrote : ShellJournal.txt

apport information

Revision history for this message
Simone Liguori (simone-liguori) wrote : monitors.xml.txt

apport information

Revision history for this message
Thomas Clark (tnc1997) wrote : Re: Fractional scaling does not work anymore

Hi Simone

I have also suffered from the bug that you mention in the past before suffering from this bug, bug 1870736 and bug 1873403 currently. I might be wrong, but I think that the bug that you mention might be covered by bug 1874559.

Kind Regards

Thomas

Revision history for this message
Simone Liguori (simone-liguori) wrote :

Thanks Thomas. I agree bug 1874559 seems more pertinent, I didn't notice it. I copied my comment there.

tags: added: multimonitor
summary: - Fractional scaling does not work anymore
+ Fractional scaling applies to both monitors when you only want it on one
Revision history for this message
Joachim Wolff (joachimwolff) wrote : Re: Fractional scaling applies to both monitors when you only want it on one

Does not work on my Ubuntu 20.04 with any version of the offered Nvidia drivers. It used to work on Ubuntu 19.10. My workaround is to deactivate the Nvidia driver and use noveau even features that I need like CUDA are not supported.

Monitor with 3840 x 2160, Nvidia GTX 1070

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

Jaochim,

Please report a new bug so we can understand which problem you are experiencing. Just run this command in a shell:

  ubuntu-bug gnome-shell

Revision history for this message
Joachim Wolff (joachimwolff) wrote :

Reported #1875603.

no longer affects: gnome-shell (Ubuntu)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

This appears to be a general problem with GNOME scaling. It happens even with vanilla upstream gnome-shell and gnome-control-center. Although it might be specific to Xorg - I have not tried Wayland yet.

summary: - Fractional scaling applies to both monitors when you only want it on one
+ Scaling applies to both monitors when you only want it on one
tags: removed: xrandr-scaling
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: Scaling applies to both monitors when you only want it on one

This might turn out to be a "Won't Fix" for upstream legacy scaling, and a regression in downstream fractional scaling simultaneously.

Changed in mutter (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Triaged
tags: added: xrandr-scaling
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Yes indeed. It is what I said in comment #34.

summary: - Scaling applies to both monitors when you only want it on one
+ Fractional scaling applies to both monitors when you only want it on one
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: Fractional scaling applies to both monitors when you only want it on one
Changed in mutter:
importance: Unknown → Undecided
status: Unknown → New
status: New → Invalid
importance: Undecided → Unknown
status: Invalid → Unknown
importance: Unknown → Undecided
status: Unknown → New
status: New → Invalid
Revision history for this message
Vincent Gerris (vgerris) wrote :

I had this issue with an internal FHD screen on a Dell laptop with Nvidia MX150/ intel 620 using Nvidia driver 440 and an external 4k screen on HDMI.
When I switched to the Nouveau driver it worked as expected with the external monitor at 150% and the laptop at 100%.

Revision history for this message
UV (uvwild) wrote :

i can observe no fractional scaling on a default installation dell xps5790 even with a single monitor (4k).
Connecting a second monitor the scaling is not working separately either.
The most obvious effect is that the right side (top bar) goes off screen.
I tried scaling with different display resolution to no avail.

I eventually started just using a lower display resolution and gave up on fractional scaling.

nvidia 450
libmutter-6-0:
  Installed: 3.36.6-1ubuntu0.20.04.2
--------
xrandr program version 1.5.0
Server reports RandR version 1.6

------------
lspci
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (Mobile) (rev 02) (prog-if 00 [VGA controller])
    DeviceName: Onboard IGD
    Subsystem: Dell UHD Graphics 630 (Mobile)
    Flags: bus master, fast devsel, latency 0, IRQ 176
    Memory at eb000000 (64-bit, non-prefetchable) [size=16M]
    Memory at 80000000 (64-bit, prefetchable) [size=256M]
    I/O ports at 4000 [size=64]
    Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
    Capabilities: <access denied>
    Kernel driver in use: i915
    Kernel modules: i915

I found the prime-select toggle and set it to intel... same issue

Revision history for this message
UV (uvwild) wrote :

I found a workaround for a 40" external - 15" internal 4k monitor setup. D
=====================================================================
I HAVE TO use Fractional Scaling but only with 200% on the smaller monitor.
This is working fine.

If I disable fractional scaling the other external monitor is scaled also!!!!!!
So there is definitely still a bug in the code.
One idea for the cause is the 30Hz I get on the larger monitor?!?

This is with the prime-select intel setting on Dell XPS15 7590

Revision history for this message
Antonio Cardoso Martins (digiplan-pt) wrote :

I continue to see this issue under ubuntu 20.10 and Wayland

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.10
Release: 20.10
Codename: groovy

$ loginctl
SESSION UID USER SEAT TTY
      2 1000 an-crd seat0 tty2

1 sessions listed.
$ loginctl show-session 2 -p Type
Type=wayland

It seemed that we would not see a fix for X11, but how about Wayland?

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

Antonio, if you can reproduce such a bug in Wayland then please report it to the developers at:

https://gitlab.gnome.org/GNOME/mutter/-/issues

summary: - Fractional scaling applies to both monitors when you only want it on one
+ Fractional scaling in Xorg applies to both monitors when you only want
+ it on one
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.