Big performance degradation in X11 + 4K resolution + fractional scaling in second monitor compared to Wayland

Bug #1890802 reported by Amr Ibrahim
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
mutter (Ubuntu)
Won't Fix
Undecided
Unassigned

Bug Description

Laptop: Lenovo ThinkPad L480
Graphics: Intel UHD Graphics 620 (KBL GT2)
Second monitor: Philips 276E8VJSB/00 4K UHD

There is a big performance degradation in an X11 session + 4K resolution + 125% fractional scaling in the second monitor compared to a Wayland session. The mouse cursor moves very slow, dragging Windows is very slow, scrolling in Firefox is very laggy, so everything becomes unusable. The performance degradation applies in both displays even though fractional scaling is only applied in the second 4K monitor.

Whereas in Wayland, the performance is much better in 4K resolution + fractional scaling in the second monitor, the mouse cursor and dragging windows are a lot smoother. I just sometimes notice a slight jump in the mouse cursor but only in the second monitor, the built-in monitor behaves normally.

ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: mutter 3.36.3-0ubuntu0.20.04.1
ProcVersionSignature: Ubuntu 5.4.0-42.46-generic 5.4.44
Uname: Linux 5.4.0-42-generic x86_64
ApportVersion: 2.20.11-0ubuntu27.6
Architecture: amd64
CasperMD5CheckResult: skip
CurrentDesktop: ubuntu:GNOME
Date: Fri Aug 7 12:00:26 2020
InstallationDate: Installed on 2020-04-26 (102 days ago)
InstallationMedia: Ubuntu 20.04 LTS "Focal Fossa" - Release amd64 (20200423)
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=de_DE.UTF-8
 SHELL=/bin/bash
SourcePackage: mutter
UpgradeStatus: No upgrade log present (probably fresh install)

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

This is expected. Fractional scaling in Xorg sessions works by rendering at a higher resolution than your screen(s). So that increases the likelihood of stuttering compared to integer scaling.

That specific issue will never be fixed because it's a required trade-off to get fractional scaling working in Xorg. HOWEVER, general performance will increase a lot in future versions like Ubuntu 20.10 so that hopefully will be enough to offset and eliminate all the problems you see.

As for fractional scaling making things slower than not scaling, that is expected and can't be fixed. If you can then please use Wayland instead.

tags: added: xrandr-scaling
Changed in mutter (Ubuntu):
status: New → Won't Fix
Revision history for this message
Amr Ibrahim (amribrahim1987) wrote :

I really hope that performance-related fixes could be backported to Ubuntu 20.04 so that I would not have to upgrade to 20.10. I have never upgraded to a non-LTS release since Trusty 14.04.

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

Indeed, if you prefer long term stability then you should stay on 20.04.

We will be backporting some performance fixes to 20.04 as soon as it is safe to do so. In fact a couple are coming in mutter 3.36.4 and another in 3.36.5...

If you want to make 4K significantly faster on 20.04 in a safe way right now, then I recommend forcing it to use the old Intel driver which is better at frequency scaling. Just edit /etc/environment and add a new line:

  MESA_LOADER_DRIVER_OVERRIDE=i965

and then reboot.

Revision history for this message
Amr Ibrahim (amribrahim1987) wrote :

I tried the old Intel i965 driver, however, I didn't notice any difference, so I switched back. BTW I tested only Wayland because of the fractional scaling.

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

The bug you logged here is about Xorg fractional scaling, not Wayland. They are different code bases.

Please keep comments here about Xorg and if you see problems with Wayland then open a new bug.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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