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.
Implemented mipmapping on workspace preview wallpapers, initially to just improve rendering performance of the overview but it also improves visual quality. This is the change that makes the overview animations smooth at 4K for me.
FYI, GNOME’s big Wayland multimonitor redesign landed in mutter 3.37. So 3.38 should finally offer the best of both worlds for multimonitors - no tearing and no stuttering, providing you’re using Wayland.
The above means some of my existing branches don’t work anymore, so I also:
I initially reverted the default setting for search configuration which was switched to a new value, and it was later also reverted upstream (in 78.0.1) because their testing uncovered other problems
I asked upstream how distributions can customize search engines with the new configuration mechanism, and it appears they can’t… but it’s an oversight that they are looking into
prepared the update to 78.0.1, which was sponsored to all supported releases by the security team
started work on writing new autopkgtests to catch regressions with search engines customizations in an automated manner
once this is done, I plan on adding more autopkgtests to reduce the amount of required smoke testing when validating new releases
thunderbird
prepared the update to 68.10.0, and handed over to the security team for validation and sponsoring
cups-filters: Completed all adjustments, function renaming against clashes with libcups, integration in cups-filters, … of the new libppd PPD handling library. Also moved all CUPS-private functions and data types into the public API of the library and added a function to generate a get-printer-attributes IPP response to a client from a PPD file, ripped out of CUPS’ ippeveprinter utility. More function transfers to come. See the latest development on GitHub.
ipp-usb: Tested newest development of the IPP-over-USB daemon. Found out that my HP OfficeJet Pro 8730 does not need a device-specific quirk rule. Also tried to move forward that Debian will package this project.
Google Summer of Code 2020: All the 7 students for OpenPrinting (and all the 15 for the Linux Foundation) have passed their first evaluations and continue their work.
Linux Foundation Mentorship Program: More than 10 student applications came in. We have given them assignments to evaluate them, as with GSoC candidates they had first to build and modify the CUPS code and as a second stage to fix a bug in cups-filters. If all works well we clean up the bug list and get two excellent students for our projects.
Google Season of Docs 2020: Worked with a candidate on his proposal.
snapd PR #8860 (detect conflicts between snaps wanting to activate the same D-Bus service) has been merged.
snapd PR #8861 (add dbus-daemon config to find service activation files under /var/lib/snapd/dbus-1) is still waiting for a second review sign off.
snapd PR #8943 (install D-Bus service activation files) is still sitting in draft state. At the moment the spread tests are failing on Ubuntu and Debian, but it looks like that should clear up once #8861 is merged and a new core snap containing it is released to edge. I have also updated the PR to ensure service activation packages are correctly purged if snapd itself is removed.
I’ve still got some concerns about some things like the environment handling and the subprocess handling (the current code looks like it could result in userd creating an unbounded number of threads). Everything looks solvable though.
font support for snaps:
I posted a prototype for a shared private fontconfig cache to the Snapcraft forum. The eventual goal would be for the various GNOME platform snaps to generate a fontconfig cache from fonts in /usr/share/fonts and /usr/local/share/fonts that is guaranteed to be compatible with the platform snap’s fontconfig and freetype.
On the application snap side, the best ideal approach would be to mount this cache to /var/cache/fontconfig so that it would automatically be used by the default fontconfig configuration. There’s two main blockers for that:
The desktop interface tries to mount the host system /var/cache/fontconfig there, which we no longer consider desirable.
The content interface can only mount to locations under $SNAP, $SNAP_DATA, or $SNAP_COMMON. We can’t work around this with layouts, since their mounts are ordered before the interface mounts. Ideally the content interface could mount to any directory a layout could.
If we solve the above two snapd issues, we should be able to update the Snapcraft extensions to use the private cache. That would mean for many snaps a simple rebuild would be sufficient.