Desktop Team Updates - Monday 19th 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 12th October 2020

  • Gave up trying to get the “network_manager” name on and released it as nm.
  • Started Dart Linux bluetooth support.
  • Dug into the deep depths of X11 window management to find a solution to making Flutter apps look good on the common case but also work in traditional X window managers.
  • Reviewed Flutter PRs (there’s an increasing amount of people proposing changes to the Linux code - good sign!).

:desktop_computer: Gnome Shell and friends:

:8ball: Other:

:chart_with_downwards_trend: Bug tracking:

  • Stats for OEMs
  • Preparing the installer for release (translations, merged MPs, slideshow)
  • Reviewed installation and upgrades in preparation of the release this week.
  • Internal stuff
  • Did some 20.10 daily ISO testing
  • sponsored the ubiquity slideshow updates for 20.10
  • did a small fix to the chromium apport script to adapt to the profile directory change
  • started organising work around the installer refresh plans
  • backported a telepathy-idle patch pointed out in the distributor list fix truncated userlists in polari IRC, included another fix and updated the package to build with python3
  • updated the thunderbird snap to 78.3.3
  • updated the ubiquity potfiles list for a directory rename, refreshed the translations template
  • Sponsoring
    • backported a fix for the jackd command line utility
    • alsactl fix for the oem team (+SRU to focal)
    • alsa-utils SRU to focal for the oem team
  • Other
    • Canonical HR reviews
    • wrote some of my knowledge on how to handle ubiquity translations
    • ported the versions script to python3, did some cleanups and improvements on the way. The update couldn’t be rolled out though due to the production machine still being on an old Ubuntu serie and missing python3 depends…


  • Worked on the CLI/daemon side for ease of maintainance. Automated generation of man pages, readme, completion…
  • Add to CI test generations, modernize github action for incoming deprecation, automatically update pot files…
  • Import already pre-worked module and adapt like i18n, test helpers, command line helpers, enhance configuration handler.


  • ISO testing day
  • Updated osinfo-db with groovy (and upstreamed it)
  • ZSys support

firefox24 firefox

  • the 81.0.2 update was published to all supported releases
  • preparing the 82.0 update, due for release tomorrow

chromium22 chromium

package24 other

  • PostScript Printer Application: Simplified process to extract driver data (mainly IPP options) from the PPD file and to convert options supplied with jobs into corresponding PPD options, implemented call of filter functions from libcupsfilters to process the jobs. Made it building and debugging it currently. Made it also available to Michael Sweet, the former GSoC students and our GSoD doc writer.
  • sane-airscan: Groovy is about to be released on Thursday and the MIR for sane-airscan did not get reviewed by the security team, so I assume it will make it into main only in 21.04 (but this is still LTS - 2, so enough time for testing and maturing).
  • CUPS upstream: Michael Sweet has committed a lot of changes to the fork on OpenPrinting. I will commit our distro patches (at least a part of them) there soon. In case that Apple really stopped on CUPS this will be the new upstream home of CUPS, with Michael and me as the maintainers.
  • Linux Foundation Mentorship Program: Mentoring the two IPP Scan students (Client, Server). Michael Sweet suggests to do sanboxable scanner drivers (Scanner Applications) using eSCL instead of IPP Scan as eSCL is used by the scanner industry and a client (sane-airscan) is already there. I agreed with him an made suggestions how to continue the project appropriately.
  • Google Summer of Code 2020: Participated in virtual Mentor Summit, leading a breakout session and having an OpenPrinting lightning talk.
  • Google Season of Docs 2020: Mentoring our technical writer, doing corrections. Reviewed another Pull Request, this time about snapping Printer Applications.
  • OpenPrinting: Commented on a news article of the German Linux Magazin about Apple not continuing CUPS upstream development.
  • Update: The fact of CUPS development dormant at Apple and my CUPS fork also made up an article on The Register.
  • Bugs.

GNOME stuff

  • Looked more into the gdm + nvidia configuration files overwriting, reviewed upstream fix, got a new gdm release out.
  • Working in the privacy screen stuff
  • More gjs stuff
    • rewrote part of the Arguments-Cache to reduce memory usage
    • continued adapting waiting MRs, getting merged quickly…


  • Prepared GDM 3.38.1 for debian and ubuntu including a preinst script to restore broken configuration files
  • Did a bit of Groovy ISO testing with the rest of the team (yay) where we found some bugs
  • Some investigation with Marco on the gdm config-fail bug
  • Did some HR reviews for others
  • Some extra stuff for the Pi images as flagged up by @waveform
  • In some of my spare time I did a bit more looking into why xenial p-m runs are crashing
  • Updated GLib and looked into a potential problem with tzdata updates, think we’re ok now
  • Tested snap-store from stable/ubuntu-20.04 on debian, fedora and bionic
    • Confirmed the desktop file logic behaved as expected outside of bionic
    • Released to stable so now everyone has the same version
  • gtk-common-themes
    • Updated for latest Yaru theme for 20.10
    • Yaru team asked not to promote it to stable until they get their SRU done
  • snap performance testing cross-distro
    • Testing snap start time with lzo and xz compression and compared to deb and rpm variants
  • Groovy iso testing
  • Fixed crashing flutter-gallery snap

Snap app compatibility with GNOME 3.38’s Wayland session:

D-Bus name and desktop file for Snap session agent:

  • Zygmunt has been working on adding desktop notifications to snapd to notify the user when a snap upgrade is blocked because the application is currently running.
  • I put together snapd PR #9497 to help with this by having the session agent (which would be sending the notifications) acquire a bus name and install a matching desktop file. This would be required to support the new GNOME 3 desktop notifications protocol (which is built on D-Bus activatable desktop entries), and allow management of those notifications through the GNOME’s notifications settings.
  • With snapd directly presenting UI to graphical users, this brings up the question of localisation. Snapd is pretty good about marking strings for translation, but hasn’t been good at uploading up to date PO templates to Launchpad (last version appears to be from 2018), and relies solely on Ubuntu language packs for distribution (so no translations on non-Ubuntu systems). That’s something we’ll probably need to help fix up.

Ubuntu Core desktop prototype:

  • In the pursuit of getting a confined desktop session running out of the box, I’ve been looking at trying to get the image built with a custom snapd containing my D-Bus activation changes (which haven’t landed yet). Still working on this, with the last try seeing the seeded snapd replaced by the one from the store soon after boot.
  • I’ve also updated the build scripts to modify the gadget.yaml file when we update and repack the pc gadget snap. This lets us turn on the experimental snapd features we need, and will let us auto-connect the interfaces needed by our confined desktop session.