Desktop Team Updates - Monday 8th February 2021

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 1st February 2021

1 Like


  • release testing.


  • Many fixes again
  • Demo


  • Redone the changes to grub and grubzfs testsuite that had been overwritten by a direct upload of grub.
  • Research on integration with TPM


  • Many fixes again
  • Demo
  • Moved to new Golang protobuf API version
  • GPO API change to track to which GPO any rules is attached to.
  • Cache and load gpos which will be reused for user display.
  • Enhance error handling by deffering messages in a one-liner helper + reformat all errors and annotate those that needed one.
  • Fix dead codes and a lot of code simplication
  • Add staticcheck in CI


  • Redone the changes to grub and grubzfs testsuite that had been overwritten by a direct upload of grub.
  • Research on integration with TPM
  • uploaded the new GTK to Hirsute (basically fakesynced from Debian to bypass NEW)
  • sponsored marisa updates from Gunnar (adding symbols files needed for the MIR)
  • updated the thunderbird snap to 86b1 in the beta channel
  • sponsored the bluez refreshed raspi patches from Dave which were one of the proposed blockers
  • +1 rotation, details are there
  • updated the thunderbird snap to 78.7.1 in the stable channel
  • wrote an endorsement for Gunnar’s Debian application
  • Mainly 20.04.2 testing, and helping to debug and get some last minute regressions fixed.
  • A few of us met to discuss how we could maybe do better to avoid having last minute regressions.
  • Got the current version of appstream-generator building with core20, and now I’m trying to track down a crash bug.
  • Babysat the armhf workers a bit after a perl and a glibc upload - the two biggest packages for triggering tests. Good news is the new more reliable servers are in and racked up, just need adding to the cloud. YEAH!

I made this public now, sorry it wasn’t before!

  • Also I attended this chat.

firefox24 firefox

  • cherry-picked an upstream commit to fix a regression in firefox 85.0 that resulted in startup hangs
  • Filed and fixed a bug for autopkgtests that started failing on xenial. This was caused by pip dropping support for Python 3.5 in its latest release (21.0), and the fix consisted in pinning the version of pip used in the tests to 20.x.
  • prepared 85.0.1 update
  • a 85.0.2 RC has been pushed, but it only contains the fix for the startup hang that we already cherry-picked in 85.0.1, so no need for yet another time-consuming round of building and validation

thunderbird24 thunderbird

  • updated hirsute to 78.7.1
  • together with @rbasak (from the SRU team and Technical Board), wrote a document to detail the upgrade plan for focal (and later bionic)
  • 78.7.0 is currently in the focal-proposed unapproved queue and being thoroughly reviewed by the SRU team there

chromium22 chromium

  • pushed a fix for the stable snap not working on armhf regression, and cherry-picked to the beta and dev branches
  • updated stable to 88.0.4324.146 then 88.0.4324.150
  • updated beta to 89.0.4389.40
  • updating dev to 90.0.4408.0

snapcraft24 snaps

  • Despite having refresh app awareness turned on, I was surprised to see the chromium snap suddenly fail in mysterious ways until I realized the snapd snap had been automatically refreshed under my feet. I reported this to the snapd team, and they quickly acknowledged the problem and will follow up.

flutter24 flutter

package24 other


Merged snapd pull requests:

  • snapd PR #9132 was merged, adding --pid and --apparmor-label options to the snapctl is-connected command. This is intended for use by snap confined versions of daemons like CUPS or Pulse Audio to detect snap confined clients that have a particular plug connected.
  • snapd PR #9805 was merged, adding an optional mount-host-font-cache attribute to desktop interface plugs that can prevent mounting of the /var/cache/fontconfig directory. This is intended for snaps that never want to see (possibly incompatible) fontconfig caches from the host system.
  • snapd PR #9772 was merged, refactoring the way the desktop notifications code in snapd was tested: rather than mocking the messages sent/received to the bus, it uses a trivial implementation of a notification server on a real bus. This is intended as a first step towards improving the notification code.
  • snapd PR #9872 was merged, adding a dbus-activated note to the output of snap services for daemons that can be activated via D-Bus.

New snapd pull requests:

  • snapd PR #9906 opened based on review feedback on #9872. This removes a spurious [Install] section from timer or dbus activated systemd units so that systemctl doesn’t report them as disabled.
  • snapd PR #9910 started in draft form. This is intended to correctly expose user scope daemons via the snapd REST API. It doesn’t try to speak to the user instance of systemd, so can’t display active state, but we can determine the global enabled/disabled state.

Ubuntu Core GDM experiment:

  • Updated the image build to use a custom branch of snapd with Alan’s desktop-launch branch merged in, and configured so it doesn’t get replaced by snapd from the store.

Accessing snapctl API via snapd-glib:

  • Talked with @till-kamppeter about using the new snapctl API in his CUPS patch. It looks like the current snapd-glib support for this API does not make it possible to distinguish different failing exit codes, so will need some updates. Talked with @robert.ancell about possible ways to fix this. Part of the problem is that the current handling of error responses in the library’s internals doesn’t make it easy to access the extra data passed with the error. We came up with some ideas about how this could be fixed though.
  • CUPS Snap: @jamesh’s API extension of snapd to got finally merged! Talked with @jamesh about what needs to be changed in the CUPS Snap now to make use of the new functionality and to get it into the Snap Store.
  • sane-airscan: Waiting for the MIR to get reviewed by the security team.
  • Google Summer of Code 2021: Wrote up and posted the list of project ideas for OpenPrinting, also submitted the mentoring organization application for the Linux Foundation. Continued mentoring candidates on working on cups-filters and CUPS GitHub issues as part of the selection process.
  • Laptop refresh: Continued the Investigations and discussions on which model and which external monitor to go with. Top candidates are Lenovo Thinkpad X1 Carbon 9th gen or X1 Nano (both with 16GB RAM and 1TB SSD), monitor most probably Dell UltraSharp U2721DE (27"QHD with USB-C Hub).
  • OpenPrinting: Monthly video meeting and February news post.
  • Bugs.


  • Various fixes in gnome-shell
    • Handling properly cancellation and errors on auth-dialog [MR]
    • Rewritten lots of code to use JS (GCancellable) Promises and async functions [MR]
    • Removed deprecated GDM code to for login auth replacing it with async functions [MR]
    • Fixed an error on appDisplay callback [MR]
    • Fixed the wrong layouting of timed-login indicator in gdm [MR]
    • Improved error handling for fingerprint errors (finally be able to close LP: #1865838) [MR]
    • Fixed couple of issues on libfprint/fprintd [MR] | [MR]


  • Released mutter/gnome-shell 3.38.3 to hirsute (and SRU to groovy)
  • Enabled remote desktop support in GNOME Shell and mutter
  • Prepared an experimental test branch to use new mutter input thread in 3.38 [patches] [PPA]