Desktop Team Updates - Monday 15th 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 8th February 2021

  • 20.04.2

    • Tested respin
  • ADSys

    • Implemented dump command to display the current applied GPOs
  • OEM

    • Stats
  • ADSys

    • dump command to display the current applied GPOs
    • support offline mode (similar than sss): previous policy will still be applied. It will fail if no previous policy was found and prevent log in.
    • enhance CI and apply same fixes than ZSys (some more jobs runs in container now)
    • small polish and code refactoring
  • ZSys:

    • help new contributor on documentation embeeding proposal
    • review and help new contributor on shell completion supporting more terminals.
    • CI fix by upgrading it to hirsute for openzfs 2.0 and matching protobuf
  • Misc:

    • Had to revert system (thanks ZSys :p) due to not being able to log in anymore. Debugged and found the root cause (on thanks to history logs on previous dataset.
    • Started discussion on the MIR team for bug subcriber and follow-ups.
    • Some follow up with the Yaru team and try to get the design team involved.
    • Customer calls and feature planning.
  • backported a libinih fix for a memory issue raised in the MIR review
  • uploaded settings changes to use gnome-remote-desktop instead of vino
  • sent to Debian a patch for our remaining openjpeg delta which got merged now
  • hacked on versions to generate a snaps report
  • debugged network-manager-waitonline failing under lxc which is blocking migration, turns out to be a systemd vs lxc issue
  • sponsored libvncserver fixes from Trevinho
  • wrote MIR reports for libayatana-appindicator, libayatana-indicator, ayatana-ido and reported some issues to Debian
  • GNOME updates and Debian merges
  • the libinih MIR got accepted, updated gamemode to build with it now
  • snaps
    • updated gnome-system-monitor to the 3.38 serie
    • updated gnome-chess to the 3.38 serie
    • updated gnome-logs to the 3.36 serie
    • updated thunderbird beta to 86.0b3
    • updated the snap-store translations with a new launchpad export, refreshed the template
    • tweaked the snap-store msgmerge usage to avoid issues created by fuzzy strings
    • triaged the snap-store bugreports a bit
    • verified some candidate updates and moved them to stable

firefox24 firefox

  • talked to @mwhudson about rustc being blocked in hirsute-proposed (and in turn blocking firefox) because of riscv64, @xnox is working on re-boostrapping the build
  • filed a bug to request a rustc/cargo update for a future firefox version

thunderbird24 thunderbird

  • worked with @rbasak to get 78.7.1 into focal-proposed and groovy-proposed, which happened just before the week-end
  • tested a variety of upgrade cases to validate the SRU

chromium22 chromium

  • fixed i386 builds of the snap that had been broken for a while
  • updated beta to 89.0.4389.47
  • updating dev to 90.0.4412.3

flutter24 flutter

    • Noticed a terrible bug come in with 20.04.2.
    • Talked to some of the release team, and we decided that we needed to fix it urgently and issue new images.
    • Reproduced it, worked on the fix, got it reviewed and uploaded.
    • Spent a while trying to test this in the certified installation scenario (where the OEM kernel might be installed).
    • Discussed with various teams that need to know when we do a new point release.
    • It got released, argh.
  • Poked at hirsute-proposed a bit, e.g.fixing netatalk.
  • Tested a proposed backport of the mutter input-in-separate-thread code from Marco. With Wayland you can/could sometimes get input lagging/hanging because it’s handled in thread with the rest of the compositor. GNOME 40 has a fix for that, but since we’re shipping with 3.38 we will miss that. Marco wanted to try a backport (not decided if we will upload it yet), so I am testing that.
  • Finished up (for now) debugging and fixing the appstream generator. I need to deploy it in the staging environment and test it on a more live-like data set now.
  • PostScript Printer Application: It is in the Snap Store now! (Edge channel). Automatic connection of interfaces requested. Tested the Snap build process and fixed several problems, especially added a patch to PAPPL to make client processes as normal user talk with the server process as root (also submitted to PAPPL upstream), removed unneeded interfaces, organized files and directories, and made the included ~4000 PPD files getting compressed from 60 MB to 5 MB and cleaned up
  • CUPS Snap: More talk 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. Started working on modifying the CUPS patch appropriately, especially so that it can be used both in the snapped CUPS and in the Debian package of CUPS.
  • Common Print Dialog Backends: Tested code of a GSoC 2020 student to add support for human-readable option and choice names (cpdb-libs, cpdb-backend-cups).
  • sane-airscan: Waiting for the MIR to get reviewed by the security team.
  • cups: Merged 2.3.3op2 from Debian into Hirsute.
  • Google Summer of Code 2021: Continued mentoring candidates on working on cups-filters and CUPS GitHub issues as part of the selection process.
  • Google Season of Docs 2021: Created web pages for posting the project ideas.
  • Laptop refresh: Looking for best place to buy it, waiting for quote of local dealer.
  • Bugs.

4-day week - out on Wednesday

  • Flutter Snap:
    • Fixed HttpException bug.
    • Fixed which dart bug.
  • Ubuntu Desktop Installer:
  • Ubuntu Core GDM Experiment:
    • Got media key comms between desktop plug -> slot.
    • Some code cleanup.

snapd pull requests:

  • snapd PR #9906 was merged, which removes the superfluous [Install] section from systemd units for timer activated and dbus activated services. Previously these services had an [Install] section claiming that they should be started at boot (or login for user services), but were never enabled by snapd. This meant that systemctl would report them as being disabled. Now systemctl reports them as static, which is less confusing in e.g. the snap services output.
  • snapd PR #9268 was merged, adding a REST API for checking the availability of desktop theme snaps, and to trigger installation if necessary. The intended user for this API is the snapd-desktop-integration service. Still to do is to make this API usable without needing snapd-control level access, which is dependent on the authentication refactor landing.


  • I did some work to improve the snapctl API in the snapd-glib library. This is mostly in snapd-glib PR #95 (merged), and snapd-glib PR #97 (not yet merged). Together they allow invoking a snapctl command and determine its exit code.
  • I also did some work to port snapd-glib’s CI from Travis over to Github Actions, given that the free Travis service seems to be coming to an end. This was in snapd-glib PR #96 and snapd-glib PR #99, both of which have been merged.

Ubuntu Core GDM Experiment:

  • I did some experimentation with getting other graphical snaps to run within the confined desktop session. With a lot of fiddling, I managed to get the unmodified GEdit snap to run. This involved connecting the gedit:x11 plug to the desktop session’s x11 slot, copying the Xauthority cookies to somewhere the snap would be able to read it, and then run it from an unconfined bash session. That got it displaying on the confined desktop’s Xwayland instance.
  • Doing the same for Wayland is a bit more finicky due to location of the socket in $XDG_RUNTIME_DIR. This does show that a version of the desktop-launch snapd interface could be usable on a confined desktop session like this.


  • GNOME Shell fixed handling of “Power Off / Log Out” menu item when such actions aren’t available, and related design discussion [MR]
  • From the gjs world, Philip has been kind enough to rebase and merge most of my outstanding MRs.
  • Made some changes to the Authentication cancelled shell merge request [merged]
  • Addressed comments on the Fingerprint Authentication error handling MR [merged]
  • Rebased various waiting gnome-shell MRs
  • Make gdm handle the unavialble services that were causing a critical login issue [MR, merged]
  • Some GDM cleanups and reviews
  • Mark MAXTRIES pam error to trigger service-unavailable on GDM [MR, merged]
  • Some work properly handle the VMWare horizon logins (as per LP: #1886592)
  • Debugged a bit an Xwayland crash.