Desktop Team Updates - Monday 1st 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 25th January 2021

  • Reviewed PRs on bluez.dart.
  • Reviewed refactoring to GL rendering in Flutter Linux shell.
  • Replaced Travis CI (which had been disabled for some reason) with GitHub actions for the dart modules.
  • Renamed dart module branches from master to main.
  • Proposed changing default Flutter apps from registering a D-Bus name - this requires extra permissions when sandboxed (e.g. in a Snap).
  • Working out how to get Flutter to render Emoji in colour.
  • Reviewed and landed a number of gnome-control-center MRs for GNOME 40.
  • Cherry picked gnome-control-center fingerprint patches by @3v1n0 to GNOME 3.38.
  • Flutter:
    • Further testing on HttpException bug.
    • Investigated flutter emulators bug.
    • Updated which dart bug.
    • Provided some info for flutter-intellij release notes.
  • Subiquity Client:
    • More API binding.
    • Further discussion on API status and gaps.
  • Ubuntu Core GDM Experiment:


  • Packaging for hirsute.
  • Created a PAM module to update GPOs on login.
  • Cache GPOs client side.
  • Use Windows “policy” instead of “preference” in ADMX templates.
  • Many fixes to template generation code.
  • Many many new and updated tests.
  • Many many many system level tests.
  • … and more fixes to the code following these tests.


  • review of Ubuntu desktop daily images.


  • Packaging for hirsute.
  • Created a PAM module to update GPOs on login.
  • Cache GPOs client side.
  • Use Windows “policy” instead of “preference” in ADMX templates.
  • Many fixes to template generation code.
  • Many many new and updated tests.
  • Many many many system level tests.
  • … and more fixes to the code following these tests.


  • abseil MIR review
  • Some PYTHONPATH improvements in the gnome-3-38 extension
  • Fixed some issues with the fractal snap
  • Reviewed the installer announcement
  • Setup video equipment for Flutter keynote recording
  • Worked on script for keynote
  • network manager snap: helped troubleshooting customer issue and providing debug build
  • network manager snap: working on config hook mr. currently stuck on modifying the NetworkManager.conf. My config hook works with snapctl but just missing that final (most critical) piece. There was also an effort to get the spread tests running locally for various reasons Alfonso and I worked through.
  • LO bug triage: 1913333 - auto filter menu broken with 4k fractional scaling? I tested a bunch and couldn’t reproduce so asked reporter a bunch of questions.
  • fixed evolution e_util_is_running_gnome to work with the env being a list of desktops
  • fixed the libunity build failure, thanks ricotz for helping with the patches
  • GNOME 3.38 stable updates
  • reverted opencc use of ibus-libpinyin, there is still an universe depends that needs to be sorted out
  • updated the thunderbird snap to 78.7.0
  • cleaned some NBS binaries from hirsute-proposed
  • debugged some autopkgtests being flaky which ended up in a discussion in Debian about adding the -noreset option by default to the xvfb wrapper
  • sponsored a wpa/hostap fixed for kernel 5.10
  • included an extra upstream fix and a CVE backport from Debian in the wpa upload
  • reported a bug to Debian about the mozc patch to use the system libabseil
  • discussed wayland by default and wrote on discourse about it
  • chased down people to verify and unblock some SRUs
  • verified some of the pending SRU

firefox24 firefox

  • prepared 85.0 release, now published to all supported Ubuntu releases

thunderbird24 thunderbird

chromium22 chromium

flutter24 flutter


Old snapd PRs:

  • snapd PR #9132 (add --pid and --apparmor-label options to snapctl is-connected) received one positive review, and is not waiting for security review any more. I think this one is close to being merged now.
  • snapd PR #9268 (add theme installation API to snapd) had more review feedback that I’ve addressed. It will need a second review, but I think it is close to getting sign-off from pedronis.
  • snapd PR #9805 (add a plug attribute to the desktop interface to disable mounting of /var/cache/fontconfig) looks like it is good to land: it looks like there is consensus over the naming of the attribute, which was the main point of contention.

snapd dbus activation

  • I worked on addressing some of the feed back to my proposal for enabling the dbus activation and user daemons features in snapd.
  • This resulted in snapd PR #9872, which adds a dbus-activated note to the output of snap services. There is a bit more work to tidy things up with respect to user daemons, namely ensuring that the snap start / stop / restart commands don’t malfunction in the presence of user daemons. At a minimum this would entail refusing to act on user daemons, but eventually may include teaching those commands how to deal with user daemons.


  • I gave Robert some pointers on how Pango handles colour emoji, for his work on Flutter. I hadn’t really touched that part of Pango before, so it mostly involved identifying when colour emoji support had been introduced, and how it changed the way text is broken into runs and how fonts are selected. Anything done with that information will be Robert’s awesome work.
  • PostScript Printer Application: Tested the PostScript Printer Application, especially running in a Snap and applied many fixes and improvements: Auto-start Printer Application when installing/booting the Snap, supply state file and temporary directory paths via environment variable, do not save the state file while it is loaded, made CUPS and the GTK dialog actually printing through the Printer Application, let the Snap build its own libcups so that it can hold encryption certificates in the Snap’s file system, added NULL checks, further fixes. This all especially solved the problem of only loading the first 4096 bytes of its state file. Generally, the PostScript Printer Application is in a stable and fully featured state now. What holds it back from putting it into the Snap Store is the now needed creation of a retro-fit Printer Application library to re-use most of its code for general CUPS driver retro-fits.
  • PAPPL: The issue about only loading the first 4096 bytes of its state file is fixed now. Reported some further bugs. (PAPPL issues: open, closed).
  • HP Printer Application: Tested also this Printer Application while working on bugs in the PostScript Printer Application and reported some bugs: Typos in media size list, eliminating A4 media size and hp-printer-app runs as server but web interface not accessible.
  • CUPS Snap: Waiting for @jamesh’s API extension of snapd to get merged. Good news: The merge is close, see @jamesh’s report above.
  • sane-airscan: Waiting for the MIR to get reviewed by the security team.
  • Google Summer of Code 2021: Applications for mentoring organizations are open now. Started preparing the application for the Linux Foundation, especially created the web pages to present the project ideas and granted edit access for the sub groups. Continued mentoring candidates on working on cups-filters and CUPS GitHub issues as part of the selection process.
  • Ubuntu: Upgraded my laptop to Hirsute. Kernel 5.10.x boots my laptop correctly again!
  • Laptop refresh: Investigated and discussed which model and which external monitor to go with.
  • Bugs.

GNOME work

  • Fixing various issues with GNOME authentication (mostly targetting fingerprint case, and looking at smartcard one too) [MR, one more coming soon]
  • Some more work in the GJS patches waiting for landing
  • Lots of new tests and fixes using a new virtual device [libfprint / fprintd]

Input in the wayland thread: Trying wayland by default again