Artifacts at window borders with mutter 44.1

Bug #2020674 reported by Andreas Hasenack
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
GTK+
Fix Released
Unknown
gtk4 (Ubuntu)
Fix Released
Low
Jeremy Bícha
Lunar
Fix Released
Low
Jeremy Bícha

Bug Description

Impact
------
Mutter 44.1 switched from using the GL renderer to using Cairo to avoid rendering artifacts with the Nvidia drivers. However, this also needed a change in GTK4 to avoid other artifacts.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2976

https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/5857

Test Case
---------
Install gnome-shell 44.1 (currently in lunar-proposed).
Install this gtk4 update.
After installing the updates, log out and log back in.
Open a terminal and the Chromium web browser.
Tile the terminal to the left and tile Chromium to the right.

Verify that there aren't rectangle rendering artifacts near the border between the two apps.

What Could Go Wrong
-------------------
This is a one-line patch, cherry-picked from the gtk-4-10 branch that will be included in GTK 4.10.4 (which is expected to be released any day now). This puts us just a bit ahead of some other distros.

See the master bug LP: #2020708 for more details about what it means to update GTK4.

Excerpt from Original Report
----------------------------
I wanted to report that I'm now seeing artifacts around window borders, when they are arranged to occupy all available area. I should note I'm also using gnome-shell-extension-ubuntu-tiling-assistant 39-3ubuntu2.

I'm attaching a screen recording of what I'm seeing.

The artifact at the border also happens across monitors. The tall chrome window on the right of the left monitor interferes with the windows aligned to the left of the right monitor.

This happened immediately after updating mutter and gnome shell to 44.1, it wasn't happening before.

So far I'm seeing them with just google-chrome and chromium (snap), but not other apps I quickly tried (gnome-terminal, firefox).

ProblemType: Bug
DistroRelease: Ubuntu 23.04
Package: libmutter-12-0 44.1-0ubuntu1
ProcVersionSignature: Ubuntu 6.2.0-20.20-generic 6.2.6
Uname: Linux 6.2.0-20-generic x86_64
ApportVersion: 2.26.1-0ubuntu2
Architecture: amd64
CasperMD5CheckResult: unknown
CurrentDesktop: ubuntu:GNOME
Date: Wed May 24 10:17:44 2023
SourcePackage: mutter
UpgradeStatus: No upgrade log present (probably fresh install)

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

gnome-shell-extensions is mostly only used for GNOME Classic currently.

It looks like you are using a tiling extension since GNOME 44 does not natively support quarter tiling. What GNOME Shell extensions do you have enabled?

gsettings get org.gnome.shell enabled-extensions

Are you still able to reproduce this issue without those extensions enabled?

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

$ gsettings get org.gnome.shell enabled-extensions
['<email address hidden>', '<email address hidden>', '<email address hidden>']

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

I disabled all extensions using gnome-extensions-app, logged out and logged back in:

$ gsettings get org.gnome.shell enabled-extensions
@as []
andreas@nsnx2:~$

I don't know what `@as` is.

But I still see the same artifacts at the borders, and between monitors, as before.

Revision history for this message
Andreas Hasenack (ahasenack) wrote (last edit ):

It's particularly annoying if I have a maximized terminal window in one monitor. Chrome on the monitor in its left "perturbs" the terminal window, see the screenshot. It's like it's drawing beyond the window limits, over the adjacent window.

The moment the terminal window that has the "corruption" is focused, it's drawn correctly again. But if I focus the chrome window, then the terminal window gets these artifacts again as shown in the screenshot.

Revision history for this message
Launchpad Janitor (janitor) wrote :

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

Changed in mutter (Ubuntu):
status: New → Confirmed
Jeremy Bícha (jbicha)
affects: mutter (Ubuntu) → gtk4 (Ubuntu)
Changed in gtk4 (Ubuntu):
importance: Undecided → Low
status: Confirmed → Fix Committed
Changed in gtk4 (Ubuntu Lunar):
importance: Undecided → Low
assignee: nobody → Jeremy Bícha (jbicha)
Changed in gtk4 (Ubuntu):
assignee: nobody → Jeremy Bícha (jbicha)
Changed in gtk4 (Ubuntu Lunar):
status: New → Triaged
Jeremy Bícha (jbicha)
description: updated
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

I can confirm that gtk4 from https://launchpad.net/~ubuntu-desktop/+archive/ubuntu/ppa fixes the issue for me.

Changed in gtk:
status: Unknown → Fix Released
Jeremy Bícha (jbicha)
Changed in gtk4 (Ubuntu Lunar):
status: Triaged → In Progress
tags: added: fixed-in-gtk-4.11.2 fixed-upstream
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gtk4 - 4.10.3+ds-1ubuntu2

---------------
gtk4 (4.10.3+ds-1ubuntu2) mantic; urgency=medium

  * Cherry-pick patch to fix black rectangles seen with mutter 44.1
    (LP: #2020674)

 -- Jeremy Bícha <email address hidden> Wed, 24 May 2023 16:32:14 -0400

Changed in gtk4 (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Andreas Hasenack (ahasenack) wrote : Please test proposed package

Hello Andreas, or anyone else affected,

Accepted gtk4 into lunar-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/gtk4/4.10.3+ds-0ubuntu1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-lunar to verification-done-lunar. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-lunar. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in gtk4 (Ubuntu Lunar):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-lunar
Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (gtk4/4.10.3+ds-0ubuntu1)

All autopkgtests for the newly accepted gtk4 (4.10.3+ds-0ubuntu1) for lunar have finished running.
The following regressions have been reported in tests triggered by the package:

libadwaita-1/1.3.1-1ubuntu2 (amd64, arm64, armhf, ppc64el, s390x)
libreoffice/4:7.5.3-0ubuntu0.23.04.1 (amd64, armhf)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/lunar/update_excuses.html#gtk4

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
mike@papersolve.com (mike-papersolve) wrote :

I can confirm that (after figuring out which packages I had to force version on and getting them all installed and restarting my session) the gtk4 patch does fix the issue. No more weird corrupted borders, yay! I do not see any issues with libreoffice either just in basic testing of Writer and Calc, not sure what happened with that regression.

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

Mike, thank you for reporting the results of your testing.

You can ignore the message about the autopkgtest regression. The libreoffice autopkgtest is very complex and sometimes fails for other reasons unrelated to new package updates.

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

The autopkgtests have all passed now.

I installed gtk4 4.10.3+ds-0ubuntu1 and mutter 44.1-0ubuntu1 on Ubuntu 23.04. The Test Case passes for me now after installing the gtk4 update and logging out and logging back in.

tags: added: verification-done verification-done-lunar
removed: verification-needed verification-needed-lunar
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gtk4 - 4.10.3+ds-0ubuntu1

---------------
gtk4 (4.10.3+ds-0ubuntu1) lunar; urgency=medium

  * New upstream release (LP: #2020708)
  * Cherry-pick patch to fix black rectangles seen with mutter 44.1
    (LP: #2020674)

 -- Jeremy Bícha <email address hidden> Wed, 24 May 2023 16:41:45 -0400

Changed in gtk4 (Ubuntu Lunar):
status: Fix Committed → Fix Released
Revision history for this message
Andreas Hasenack (ahasenack) wrote : Update Released

The verification of the Stable Release Update for gtk4 has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

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.