Desktop Team Updates - Monday 26th October 2020

Hi everyone, below you will find the updates from the Desktop team from the last week. If you’re interested in discussing a topic please start a thread in the Desktop area of Discourse .

We also have our weekly meeting on IRC. We meet on Tuesday at 13:30 UTC in #ubuntu-desktop on Freenode. There will be an “Any Other Business” section at the end where you are welcome to raise topics. These topics might be discussed during the meeting, or afterwards depending on the time, depth of conversation, topic and so on.

Last week’s notes are here: Desktop Team Updates - Monday 20th October 2020

1 Like
  • 20.10 release testing.
  • Data export for OEMs.
  • Reorganizing ubuntu-report database.

:desktop_computer: Gnome Shell and friends:

:8ball: Other:

:chart_with_downwards_trend: Bug tracking:

  • Flutter Snap:
    • Resolved flutter-snap not working in VS Code on Arch.
  • Ubuntu Core GDM Experiment:
    • Cleaned up diffs for systemd, adduser, and shadow.
    • Began prepping SRUs for the above ^.
  • Subiquity Client:
    • Set up new subiquity client project.
    • Added some basic tests and CI.
  • Worked until Thursday with the release team making the Groovy release happen.
  • On Friday we ran through most of the steps to open Hirsute. It’s accepting uploads now, but still not open for general use until the initial toolchain is ready.
  • Have done a bit of tidying too, e.g. bumping desktop ISO size limits.
  • Started re-looking into the new autopkgtest deployment I was working on last year. The blocker we identified is that we would like to have much better visibility into the health of the system. Canonical IS has set us up a Grafana & InfluxDB instance for the service to make use of. Trying to figure out how to best integrate with that currently.
  • Also fixed a couple of facepalm bugs in the wallpapers shipped in 20.10 :frowning:.


  • Work on grpc interceptors and helpers to make them generic:
    • Unix socket handler
    • Connection notifier
    • Transparent stream logger
    • Added tests
    • -> this could be reused now across projects and the infrastructure is way simpler than Zsys


  • MIR discussion around Golang packages and vendoring
  • 20.10 release testing.
  • one day off
  • poked a bit a mouse cursor issues with chromium, it turned out that whiteglass was not included in gtk-common-themes (fixed) and some cursors are missing from yaru (fix pending review)
  • poked for a while at the current lightdm-gtk-greeter segfaulting (reported on xubuntu)
    • seems specific to VMs, the error is a memory one in gtk css functions but valgrind shows an invalid read in glxext, stopped there after adding the valgrind log
    • tried to upgrade a focal VM to try to pinpoint to an update, the greeter starts hiting resource allocation errors
    • ended up figuring out it’s mlockall being used in the greeter and incompatible with the newer systemd, unity-greeter had a similar issue, fix on its way now
  • backported a gnome-desktop translation fix for inverted clock format
  • Canonical HR reviews
  • backported a fix for a pulseaudio segfault issue added in the recent update
  • sponsors slideshow update for kylin
  • submitted a yaru change to add wait and grab cursors
  • reviewed a bit the items in the translations import queue for hirsute
  • sponsored a fix from Daniel for plymouth hanging on some machines (+SRU)
  • opened a bug upstream to discuss the distro change creating the issue (which wasn’t upstreamed when created)
  • included some other fixes from git in the hirsute upload
  • reviewed e.u.c reports for 20.10
    • there is a gnome-initial-setup segfault on arm that seems due to a distro patch, if someone with a pi could get a backtrace
  • requested ubuntu-fr@lists.u.c admin reset since there was no active moderator
  • sponsored an audio fix for a release issue, got it rejected because a similar upload was worked on in private by the releaseteam. Wrote an email to ubuntu-release@ to advocate for doing the release preparation using public communications to allow other contributors to really get involved (the email didn’t get any reply sof far :frowning: )
  • versions script hacking
    • reviewed and cleaned the launchpad reports tagged upgrade-software-version
    • changed the logic to fetch the upgrade bug details for packages on the reports and cut a few minutes wasted on the script
    • added a new PACKAGE=‘source’ environment variable to allow getting the version of one source, it makes debugging of an upstream url definition easier
  • PostScript Printer Application: Finally got a first working model including Snap! Created a GitHub repository for this project on OpenPrinting. Fixed some bugs in my code and also reported a bug in PAPPL and got them quickly fixed by Michael Sweet. Fixed also several bugs in the filter functions in cups-filters. This is the first Printer Application making use of the new filter functions and of libppd. It is also the first non-Raster Printer Application. Announced it on the OpenPrinting web site.
  • snapcraft: Updated a second laptop to Ubuntu 20.04 to do Snap builds of the PostScript Printer Application. Building Snaps with Groovy does not work currently.
  • CUPS Snap: Updated to cups-filters 1.28.5 and Ghostscript 9.53.3.
  • sane-airscan: sane-airscan did not make it into Groovy Main as the security team was not able to review the MIR. The package can get installed from Universe or from upstream though (they also have .deb packages for Ubuntu) and the review will most probably happen in time for 21.04.
  • CUPS upstream: The fork on OpenPrinting maintained by Michael Sweet and me got packaged by Debian and put into Experimental.
  • Linux Foundation Mentorship Program: Mentoring the two IPP Scan students (Client, Server). In further discussion Michael Sweet, Alexander Pevzner, and me settled on staying with IPP Scan as scanning protocol for sandboxed scanner drivers/Scanner Applications, but the two students will work on the server side now and the rest of the client Alexander will do by himself.
  • Google Season of Docs 2020: Mentoring our technical writer, doing corrections. Follow his work growing on our web site. Reviewed further Pull Requests. He was eagerly waiting for my PostScript Printer Application which I have finally posted now. It is a great working model, especially for non-Raster Printer Applications and also for snapping.
  • OpenPrinting: Put up the October News Post.
  • Bugs.

firefox24 firefox

  • prepared the 82.0 update, and handed over to the security team for publication
    • while testing, Chris reported that he was seeing GTK style-related assertions, and I confirmed this was a regression caused by the fix for upstream bug #1654323, so I added a simple distro-patch to silence the assertions
  • a 82.0.1 release candidate was published today, Ubuntu builds for all supported releases are ongoing
  • filed a bug to request a rustc/cargo update, which will be needed to build firefox 84 (currently trunk)

chromium22 chromium

libreoffice24-margin libreoffice

  • investigated a frequent crash, but didn’t manage to reproduce it, unfortunately

snapcraft24 snaps

  • investigated and fixed a bug where the mouse pointer theme and scaling were not honoured for cursor themes not included in gtk-common-themes
  • modernized the build for gtk-common-themes

package24 other

  • Short week.
  • Review MRs for Flutter related projects, gnome-control-center.
  • Fix small bugs in Flutter Linux shell.
  • Played around with a small Flutter project (clone of D-Feet) to exercise dbus.dart and improve Flutter skills.

GNOME 3.38 Wayland session incompatibility with x11 based snaps:

  • My Mutter merge proposal was reviewed and merged upstream on the gnome-3-38 branch.
  • I’ve updated bug 1897224 with the SRU template to justify updating Groovy.
  • Upstream GNOME would like to see use of the abstract socket in a future release, so the revert has not been merged to master. This is due to the difficulty of selectively making abstract sockets available to a sandboxed app without the use of kernel based MAC systems like AppArmor or SELinux. You can block access to all abstract sockets by unsharing the network namespace, but you can’t selectively grant access to them through bind mounts like you can for regular unix domain sockets.
  • I discussed this with the snapd devs, which resulted in @zyga working on snapd PR #9530, which exposes the regular X11 sockets from /tmp/.X11-unix to the snap sandbox. I’ve provided review feedback, and expect it will be merged soon. So we should be well prepared for GNOME 4.0.

snapd PRs:

  • I’ve been updating the themes API PR based on review feedback.
  • The other PRs are still blocked on security review.

Other snapd work:

  • I provided review feedback on some other branches by zyga related to use of desktop notifications to tell the user that an update is blocked due to a running application.
  • I wrote up some notes on the state of Snapd localisation. There’s definitely room to improve, and it will likely be more important as users start to see desktop notifications from snapd.

I also did some work investigating a security issue.



network manager:

  • worked on building my own core20 image with network manager seeded
  • research on network manager and it’s supported settings paying special attention to the ones that are supported by netplan, a lot of tinkering with network manager to dive more into how it works


  • iso testing for regular groovy release + had fun with the new rpi desktop image :slight_smile:

GNOME and friends

  • Working in fprintd port to gdbus, improving policikit behavior
  • Prepared a GDM fix (and reviewed some contributions)
  • Reiterated on GJS merge requests, some new got merged
    • Proposed a big refactory of the GJS arguments cache [MR] and some more cleanups [MR]


  • More ISO tests on groovy
    • Spotted a nvidia regression, helped debugging.
  • Uploaded (to debian too) a mutter SRU with fixes for snps in wayland [3.38.1-2ubuntu1]