Regression: block staircase display with side-by-side monitors of different pixel widths
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Xfwm4 |
Unknown
|
Unknown
|
|||
xf86-video-amd |
Fix Released
|
Unknown
|
|||
xfwm4 (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Focal |
In Progress
|
High
|
Sean Davis | ||
Groovy |
Fix Released
|
High
|
Unassigned | ||
xserver-xorg-video-amdgpu (Ubuntu) |
Triaged
|
High
|
Unassigned | ||
Focal |
Triaged
|
High
|
Unassigned | ||
Groovy |
Won't Fix
|
High
|
Unassigned |
Bug Description
[Impact]
* This issue affects AMD graphics on Xfwm4 4.14.1.
* Windows are displayed staggered with a multi-window layout
[Test Plan]
* Use AMD graphics drivers
* Connect a second display at a different resolution
* Open multiple windows
* While the issue is present, the windows and desktop will appeared staggered
* Once fixed, they display normally.
[Where problems could occur]
* Regression potential should be relatively low, as the release between 4.14.1 and 4.14.5 are bug releases.
* With window managers, some changes could lead to different behavior and other broken displays. Non-AMD graphics users should also test for regressions.
[Other Info]
* Please see the Xfwm4 release notes for changes between 4.14.1 and 4.14.5: https:/
[Original Report]
Update based on further research.
This only happens when the secondary external display is operating at a different pixel width to the internal. In this case eDP is 1920x1080 whereas the external HDMI-A-0 is natively 1680x1050.
It is caused by xfwm4's recent switch from using glx to xpresent for AMD GPUs.
The underlying bug is in the AMD driver.
I was able to reproduce on an external 1920x1200 display only when it was set to a non-native 1680x1050 resolution.
---
Two identical Lenovo E495 laptops with 20.04 installed. The problem occurred initially on the laptop that is having package upgrades applied regularly.
With dual monitors and the external monitor placed left or right the display has a blocked staircase effect shown in the attached photograph, and seems related to
https:/
More detailed investigation suggests it only happens when the X coordinate of the two monitors is different. The symptom looks like an off-by-one error because it appears as if the display is divided into, say, 10 rows and 15 columns but the first row has 16 'columns' worth of blocks on it and so wraps to the beginning of the 2nd row, and so on.
On the laptop without package upgrades being applied this didn't happen. So I upgraded it (314 packages) and restarted and it too sees the same problem.
I suspected libxcomposite1 and downgraded it to 1:0.4.5-0ubuntu1 but that didn't solve it.
I now suspect libxcb but so far haven't been able to prove it.
---
ProblemType: Bug
ApportVersion: 2.20.11-0ubuntu27
Architecture: amd64
BootLog: Error: [Errno 13] Permission denied: '/var/log/boot.log'
CasperMD5CheckR
CompositorRunning: None
CurrentDesktop: XFCE
DistUpgraded: Fresh install
DistroCodename: focal
DistroRelease: Ubuntu 20.04
DistroVariant: ubuntu
GraphicsCard:
Advanced Micro Devices, Inc. [AMD/ATI] Picasso [1002:15d8] (rev c1) (prog-if 00 [VGA controller])
Subsystem: Lenovo ThinkPad E595 [17aa:5124]
InstallationDate: Installed on 2020-04-08 (11 days ago)
InstallationMedia: Xubuntu 20.04 LTS "Focal Fossa" - Beta amd64 (20200408)
MachineType: LENOVO 20NECTO1WW
Package: xserver-
PackageArchitec
ProcKernelCmdLine: BOOT_IMAGE=
ProcVersionSign
Tags: focal ubuntu ubuntu
Uname: Linux 5.4.0-21-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip libvirt lp lpadmin lxd plugdev sambashare sudo users
_MarkForUpload: True
dmi.bios.date: 12/23/2019
dmi.bios.vendor: LENOVO
dmi.bios.version: R11ET32W (1.12 )
dmi.board.
dmi.board.name: 20NECTO1WW
dmi.board.vendor: LENOVO
dmi.board.version: Not Defined
dmi.chassis.
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.
dmi.modalias: dmi:bvnLENOVO:
dmi.product.family: ThinkPad E495
dmi.product.name: 20NECTO1WW
dmi.product.sku: LENOVO_
dmi.product.
dmi.sys.vendor: LENOVO
version.compiz: compiz N/A
version.libdrm2: libdrm2 2.4.101-2
version.
version.
version.
version.
version.
version.
version.
Changed in libxcb (Ubuntu): | |
importance: | Undecided → High |
Changed in xfwm4 (Ubuntu): | |
importance: | Undecided → High |
Changed in xserver-xorg-video-amdgpu (Ubuntu): | |
importance: | Undecided → High |
description: | updated |
Changed in xfwm4 (Ubuntu Focal): | |
status: | New → Confirmed |
Changed in xfwm4 (Ubuntu Focal): | |
assignee: | nobody → Sean Davis (bluesabre) |
status: | Confirmed → In Progress |
affects: | linux → xf86-video-amd |
no longer affects: | libxcb (Ubuntu) |
no longer affects: | libxcb (Ubuntu Focal) |
no longer affects: | libxcb (Ubuntu Groovy) |
Changed in xserver-xorg-video-amdgpu (Ubuntu): | |
status: | Incomplete → Triaged |
Changed in xserver-xorg-video-amdgpu (Ubuntu Focal): | |
status: | Incomplete → Triaged |
Changed in xserver-xorg-video-amdgpu (Ubuntu Groovy): | |
status: | Incomplete → Triaged |
Changed in xserver-xorg-video-amdgpu (Ubuntu Focal): | |
importance: | Undecided → High |
Changed in xserver-xorg-video-amdgpu (Ubuntu Groovy): | |
importance: | Undecided → High |
Changed in xf86-video-amd: | |
status: | Unknown → Fix Released |
The packages upgraded on the second laptop that are libx related are:
$ grep 'Upgrade: hunspell' /var/log/ apt/history. log | grep -o 'libx[^ ]*' amd64
libxml2-utils:amd64
libxml2:amd64
libxatracker2:amd64
libxcomposite1:
libxcomposite1:i386
libxml2-dev:amd64
libxfixes3:amd64
libxfixes3:i386
libxdamage1:amd64
libxdamage1:i386
libxml2:amd64
libxml2:i386
libxres1:amd64