X11 applications do not refresh in a timely fashion, resulting in screen corruption, when using custom xrandr scaling

Bug #1898210 reported by Ethan Blanton
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
xorg-server (Ubuntu)
Triaged
Low
Unassigned

Bug Description

Many X11 applications do not refresh in a timely fashion, and the window must be disturbed to achieve refresh. Typical disturbances causing refresh are: typing in the window, interacting with the mouse, focusing a different application, etc.

I have seen this behavior in:
* Firefox
* Electron apps (Slack, Keybase, Element, Discord)
* Zoom
* Possibly Emacs (see #1893969)
* Xournal
* VMware Player (both the host GUI and the guest screen)

I am attaching a video of this behavior in Firefox; you can see that when I close a tab, the tab that takes its place paints only partially, and even mousing with tooltip popups and typing in a text entry cause only partial corrections. Mousing away from the Firefox window to focus a window on a different display causes a complete repaint. (Mousing to another window on the _same_ display would also cause a repaint, it just so happens that I focused a window on a different display).

I can reproduce this problem with no compositor running, or with compton running.

This bug is trivial to reproduce and happens nearly constantly. I have trouble taking screen shots / videos of the behavior on this machine only because this is a workstation that I use for teaching a University course and much of the work that I do on it would disclose student information if shared. I will try to produce more evidence if required, but it requires some time to do so.

My desktop configuration is three displays. The displays are arranged in a horizontal row. The left and center monitors are external Full HD DisplayPort monitors, daisy chained, and the right monitor is the internal display on my laptop. The left display is DP-2-1, which is connected to the center monitor by a DisplayPort daisy chain. The center display is DP-2-8, which is connected to the laptop via DisplayPort over USB 3 (USB C). The right display is eDP-1. All three displays have a logical resolution of 3840x2160. The left and center displays are scaled to Full HD, and the eDP-1 runs at its native resolution. I use the following xrandr command to configure this:

HIX=3840
HIY=2160
HI=${HIX}x${HIY}
xrandr --fb $(($HIX * 3))x$HIY \
       --output eDP-1 --auto --panning ${HI}+$(($HIX * 2))+0 \
       --output DP-2-8 --auto --panning ${HI}+$HIX+0 \
                       --scale-from $HI --left-of eDP-1 --scale 2x2 \
       --output DP-2-1 --auto --panning $HI+0+0 \
                       --scale-from $HI --left-of DP-2-8 --scale 2x2

ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: xorg 1:7.7+19ubuntu14
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.8
Architecture: amd64
BootLog: Error: [Errno 13] Permission denied: '/var/log/boot.log'
CasperMD5CheckResult: skip
CompositorRunning: None
CurrentDesktop:

Date: Fri Oct 2 10:02:50 2020
DistUpgraded: 2020-06-21 15:36:52,619 DEBUG Running PostInstallScript: './xorg_fix_proprietary.py'
DistroCodename: focal
DistroVariant: ubuntu
DkmsStatus:
 v4l2loopback, 0.12.3, 5.4.0-42-generic, x86_64: installed
 v4l2loopback, 0.12.3, 5.4.0-47-generic, x86_64: installed
 v4l2loopback, 0.12.3, 5.4.0-48-generic, x86_64: installed
DpkgLog:

ExtraDebuggingInterest: Yes
GraphicsCard:
 Intel Corporation Device [8086:9bca] (rev 04) (prog-if 00 [VGA controller])
   Subsystem: Dell Device [1028:0962]
MachineType: Dell Inc. XPS 13 7390
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-5.4.0-42-generic root=UUID=aeb9197c-491f-493d-9a7a-7094efd5023c ro quiet splash vt.handoff=7
SourcePackage: xorg
Symptom: display
UpgradeStatus: Upgraded to focal on 2020-06-21 (102 days ago)
dmi.bios.date: 11/25/2019
dmi.bios.vendor: Dell Inc.
dmi.bios.version: 1.4.0
dmi.board.name: 0377MH
dmi.board.vendor: Dell Inc.
dmi.board.version: A00
dmi.chassis.type: 10
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.:bvr1.4.0:bd11/25/2019:svnDellInc.:pnXPS137390:pvr:rvnDellInc.:rn0377MH:rvrA00:cvnDellInc.:ct10:cvr:
dmi.product.family: XPS
dmi.product.name: XPS 13 7390
dmi.product.sku: 0962
dmi.sys.vendor: Dell Inc.
version.compiz: compiz N/A
version.libdrm2: libdrm2 2.4.101-2
version.libgl1-mesa-dri: libgl1-mesa-dri 20.0.8-0ubuntu1~20.04.1
version.libgl1-mesa-glx: libgl1-mesa-glx N/A
version.xserver-xorg-core: xserver-xorg-core 2:1.20.8-2ubuntu2.4
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev N/A
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:19.1.0-1
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.99.917+git20200226-1
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.16-1

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

Thanks for the bug report. Please also report it to the Xorg developers at:

  https://gitlab.freedesktop.org/xorg/xserver/-/issues

and then tell us the new issue ID.

summary: X11 applications do not refresh in a timely fashion, resulting in screen
- corruption
+ corruption, when using custom xrandr scaling
Changed in xorg (Ubuntu):
importance: Undecided → Low
affects: xorg (Ubuntu) → xorg-server (Ubuntu)
Changed in xorg-server (Ubuntu):
status: New → Incomplete
Revision history for this message
Ethan Blanton (eblanton) wrote :
Revision history for this message
Ethan Blanton (eblanton) wrote :

I can still reproduce this problem with Kernel 5.6.0-1028-oem.

Revision history for this message
Ethan Blanton (eblanton) wrote :

See the fd.o bug, but this xrandr configuration seems to behave normally:

xrandr --fb $((1920 * 3))x1080 --dpi 100 \
       --output eDP-1 --mode 1920x1080 \
       --output DP-2-8 --auto --left-of eDP-1 \
       --output DP-2-1 --auto --left-of DP-2-8

Revision history for this message
Ethan Blanton (eblanton) wrote :

What additional information is needed so that this bug is not closed as incomplete in a few days?

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

sorry for the lack of replies, the bug is set to triaged now, thanks for sending upstream!

Changed in xorg-server (Ubuntu):
status: Incomplete → Triaged
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.