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.
Back into profiling and debugging the app grid scrolling issue. Found it’s no longer CPU-bound in relayouts, but now GPU-bound painting a large area of wallpaper (because 4K). Conveniently there’s already a fix coming for that.
I made some progress on a rough proof-of-concept, but I’m not entirely there yet
this is made possible by the existence of a keepassxc-proxy implementation in rust that, once compiled, doesn’t have external dependencies, so can easily run within the confined context of the snap
this requires patching the name of the UNIX socket that’s used for communication with the unconfined KeePassXC application, and updating the snap’s apparmor profile
this also requires manually modifying and installing the manifest for the connector under $SNAP_USER_COMMON
I’ll continue poking at it, and once I manage to make it work decently, I’ll see if at least parts of the solution can be reused/upstreamed
other
GNOME updates: I updated a bunch of seeds (budgie, kylin, unity7) and standalone packages (folder-color-common, gedit-latex-plugin, unity-china-video-scope, ukui-desktop-environment) that were blocking the gvfs migration. Thanks @laney for reviewing, updating the meta-packages, and sponsoring!
ubuntu-desktop seed work: after reading quite some backlog and some valuable advice from Laney that helped me get more familiar with seeds’ subtleties, I submitted a fix for germinate to stop trying to pull gnome-software back into main
cups-filters: Added imagetops and imagetopdf filter functions. Now we have all to create Printer Applications if we include Ghostscript in them if a PDF interpreter is needed (Ghostscript is the best for printing anyway). 12 CUPS filters are now based on filter functions.
cups-filters: Started to move CUPS’ cups-driverd daemon helper (PPD collection manager, finds PPD for given, discovered printer) into libppd. It is needed for Printer Applications which retro-fit classic printer drivers.
cups-filters: Got answer from Samuel Thibault. He wants Braille embosser support to stay in cups-filters and not get separate Printer Application project, to assure that it gets included in as many distributions as possible. So my plans now that Braille-related filters also get turned into filter functions and also that Printer Applications based on filters in cups-filters (PostScript, Foomatic, Braille, …) will be maintained in cups-filters. There will be extra build options for cups-filters to control what gets included.
cups-filters: Fixed a bug of the driverless utility not always resolving DNS-SD-based CUPS device URIs and so not generating PPD files (Upstream issue). Will be part of the 1.28.3 release later this week.
ipp-usb, sane-airscan: Still waiting for the security team to verify the MIRs for ipp-usb and sane-airscan.
Linux Foundation Mentorship Program: Now also our student who started IPP Fax Out support and has overtaken the other student’s printer driver retro-fitting project had to quit the program. She had a COVID-19 case in her family and also classes in her college got suddenly restarted. I am now starting to do the PostScript Printer Application by myself. The two IPP Scan students are doing well and did their first commits (Client, Server).
Google Season of Docs 2020: Started mentoring our writer, reading his work and telling him what to correct, also Michael Sweet does mentoring work (as good part of this documentation is for PAPPL. Here is our writer’s GitHub repo and his copy of our site. He is committing practically daily.
Wrote up some notes about managing system groups on Ubuntu Core. At present, it isn’t possible to add users to groups defined in the read-only /etc/group file on Ubuntu Core systems, but it looks like we could probably fix that.
snapd PR #9132 is marked blocked. I think we want a version that works from an AppArmor label from the start, since it allows the check to be performed race free.
A daemon can determine it’s peer’s AppArmor label race free via SO_PEERSEC (usually via the aa_getpeercon helper), which tells us the snap name. In contrast, going via pid involves a race between retrieving the pid via SO_PEERSEC and reading /proc/$pid/attr/current. So we should use the SO_PEERSEC when possible.
misc snapd changes:
Created snapd PR #9370 to clean up how snap userd requests its D-Bus name. The current code encourages people adding new interfaces to userd to also add a new bus name, which is not desirable.
finalized the packaging of 7.0.1 for upload to groovy. This version contains beautiful new Yaru icons (just install the libreoffice-style-yaru package)! Thanks @jupiter007@ricotz and @marcustomlinson !
worked on canonistack arm64 instance. launched LO7 build with gcc10 but then ran out of space. Attached a volume and tried again but same thing happened. Will just use local pi for the larger disk size.
Everything Else
network-manager snap: chased a couple of red herrings thinking there was a problem with the netplan plugin… overall kicking the tires of the netplan plugin by manually making configs, checking they work, are persistent, etc. looks great!