Desktop Team Updates - Monday 20th July 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 13th July 2020

:desktop_computer: Gnome Shell and friends:

:chart_with_downwards_trend: Bug tracking:

  • Lots of bug mail to triage, as always.
  • Backlog tracking. The graph is now more zoomed in for detail.

:8ball: Other:

  • one day off
  • G serie
    • updated glib tests depends to enforce the same version of the library, if they get out of syncs the tests are failing
    • some archive admin reviews and onboarding
    • retried some autopkgtests to unblock proposed migration items
  • SRU
    • some focal verifications (eog, gnome-control-center but still needs verification from the new fingerprint panel redesign from someone who has a compatible configuration)
  • sponsoring
    • uploaded an oem fix to pulseaudio for devices missing after suspend in performance governor
    • uploaded the new bluez update from Daniel
    • reviewed a SRU request for a bluez bionic segfault fix from OEM
  • other
    • fixed the libunity build in Debian
    • built evolution in Debian with libunity, the notification plugin provides support for it and integration to dashtodock
    • updated the thunderbird snap to the new 78 version
  • one day off
  • Catchup after holidays
  • ZFS
  • Analyze subiquity and curtin code
  • Small fixes and uploaded kstore (pending in NEW)
  • LO 6.4.5 focal has been uploaded to the unapproved queue
  • LO 6.4.5 snap has been built, tested, and made stable
  • looking at more USNs:
    • using Ken’s rebuild scripts and added an argument for specifying the user
    • eog-master: libportal is needed as a new runtime dependency. there is no way to disable it (like autotools has --disable-libportal)
    • rebuilt several things with snap-rebuild
  • started getting testflinger emails with test results for several snaps and communicated some issues but there’s more to look at (lots of images with the application running with various themes)
  • Started thinking about how we could add snapcraft-preloads to all of the desktop extensions. We could at least add it as a part to each extension script but there must be a better way…
  • rebiult the network-manager snap with netplan, and setup core 20 in kvm but then setup old rpi with core 20 for testing
  • ordered an rpi 4 for testing the network-manager snap
  • Flutter, helped drive home some more documentation on setting up flutter SDK as a snap
  • Triaged/reproduced/debugged snap-store bugs (still lots to work through)
  • Helped get @hellsworth up to speed on USN refresh process for snaps
  • Moved the ~ubuntu-desktop snaps to ~desktop-snappers

firefox24 firefox

  • the 78.0.2 update was sponsored to all supported releases by the security team
  • rebuilt llvm-toolchain-10 (recently backported to bionic-updates) against the security pocket only, and uploaded to the PPAs that are used to prepare updates for firefox and chromium-browser

thunderbird24 thunderbird

  • worked on packaging updates for thunderbird 78 in groovy
    • backported a number of patches and packaging changes from firefox
    • enigmail is being deprecated as end-to-end encryption and signing is being integrated into the thunderbird core, however feature completeness won’t be achieved until version 78.2, so we will wait until then to update thunderbird in Ubuntu’s stable releases (but might be pulling the trigger earlier in groovy for testing purposes)
    • I haven’t figured out what to do with jsunit yet, this requires investigation

chromium22 chromium

  • the fix to enable Web Bluetooth was confirmed to work by users
  • use snapctl is-connected password-manager-service in the chromium.launcher script instead of D-Bus calls
  • iterating on the branch of the snap that enables VAAPI for hardware-accelerated video decoding, made some good progress with the snap now built for arm64, and a user confirmed that it works as expected with their GPU
  • updating stable to 84.0.4147.89

package24 other

  • continued poking at node-* packages that are blocking the migration of nodejs 12.18 in groovy, as a background task
  • Completed Flutter PR to set application IDs.
  • Working on credential sending on Unix domain sockets in Dart, this will allow us to drop our own unix_domain_socket implementation and use the standard dart:io version for dbus_client.dart.
  • Investigated Flutter text input / key event issues.
  • Reviewed and landed gnome-control-center MRs.
  • Worked on small cleanups in gnome-control-center.
  • Dug through the avalanche of email I hadn’t checked while working towards the Flutter alpha.

snapd dbus activation:

  • snapd PR #8861 got its second review. It will probably be landed today or tomorrow after @pedronis has another look over it.
  • snapd PR #8943 is still in draft state waiting for the first to land. It will require a security review, as it changes how service activation files are created compared to the old PR.

snapd theme support

  • I have been working on adjusting the snapd REST API authentication code so that we can add support for the new theme API (access over snapd-snap.socket plus polkit checks) in a way that can still be reasoned about. The branch still needs a bit more work before it is ready for a review. This is based on the proposal I outlined on the forum.

GDM on Ubuntu Core

  • I put together snapcraft PR #3218 to allow building snaps with device files under LXD. It has been merged and is available in Snapcraft edge channel.
  • I eventually gave up on trying to build a new base with stage-snaps: [core20]: the “normalisation” routines Snapcraft runs squash the permissions and some symlinks in ways. I started investigating an alternative: modify the core20 build scripts to include GDM and make a few extra directories writable.
  • I managed to build an image that I could boot under qemu, but haven’t managed to get GDM to launch yet. There are some device permission issues I haven’t tracked down yet.


  • USN-4424-1 was released, which includes a previously private patch I worked on earlier.
  • Printer Applications: Studied how to implement Printer Applications for PostScript printers and for retro-fitting classic printer drivers, based on a first example for a PAPPL-based Printer Application. Discussed PDF support in PAPPL and also the general architecture with Michael Sweet and the GSoC students.
  • Snapcraft: continued the discussion of the Snapcraft team with Michael Sweet and the students. Suggested are both plugins to easily build drivers to fit into the Printer Application environment and extensions to include common parts like PAPPL and cups-filters without needing to wait for next LTS (example extension GNOME 3.34, thanks @hellsworth).
  • CUPS Snap: No progress on the snapd implementation of the new interfaces.
  • ipp-usb, sane-airscan: ipp-usb package got landed in Debian unstable and I synced it to Ubuntu. Is in Universe now. ssane-airscan still in NEW queue in Debian, not yet landed.
  • cups-filters: Several more GitHub issues closed with the help of the work of student candidates for the Linux Foundation Mentorship program.
  • Google Summer of Code 2020: Continued mentoring work, answered student’s questions, explained them what is needed, …
  • Linux Foundation Mentorship Program: Mentored the student candidates on doing their assignments (working on cups-filters bugs).
  • Bugs.

Upstream Work