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.
Fixed a case where latency might have become higher than it needed to be.
Currently debugging Wayland sessions to find out why they freeze.
Lots of Mutter cleanups arising from the frequency scaling work: !1388, !1389, !1390
Made a start on the road to deep colour support with some debugging code. This is performance-related because GL apps tend to use deep colour already, so mutter will be able to composite them with less GPU effort if it’s using the same in future. Also it’s a wider colour gamut that costs zero extra bandwidth over what we already use.
prepared 79.0 update for all stable releases, validated and handed over to the security team who sponsored it to all supported releases (xenial, bionic, focal)
re-enabled and updated unity-menubar.patch for 80.0 beta builds (xenial and bionic)
fixed build failure on xenial by distro-patching a Python build script that had variable annotations, which require Python 3.6 (xenial only has 3.5)
chromium
prepared 84.0.4147.105 stable update for xenial and bionic
Printer Applications/cups-filters: Found a way to re-use the code of the filters which received a lot of work and fine-tuning during many years for Printer Applications. Introduced the new concept of filter functions, moving the filter code into libcupsfilters providing a function for each filter, and for backward compatibility with CUPS add a simple wrapper program for each filter function. The filter functions ca be easily called from any program, and used for both printing and scanning. Created a pstops() filter function from CUPS’ pstops filter as a working model and for a PostScript Printer Application (to retro-fit all the manufacturer PPDs). Introduced the new concept on the OpenPrinting mailing list.
CUPS Snap: There seems to be happening something now on the snapd interface design front, here is a discussion thread about how services like CUPS and PulseAudio should check whether a client Snap is plugging the needed interfaces.
cups-filters: Working towards cups-filters 2.0, to work together with Printer Applications, especially to get the features I proposed in my March news post. One are the above-mentioned filter functions, but also better IPP attribute support in the filters and easy partial build of the package for Snaps are planned.
Google Summer of Code 2020: Second evaluations are completed, all remaining 6 students for OpenPrinting have passed. Continued mentoring work, answered student’s questions, explained them what is needed, …
Linux Foundation Mentorship Program: Introduced the selected two students for our first project to their projects and started mentoring them. Coding period started August 1st and will end end of October. Also posted the listing for the IPP Scan project and lined up the mentors for it.
Linux Plumber’s Conference 2020 (Virtual): Started to find speakers for our OpenPrinting micro-conference and the best time to schedule it in the conference week so that everyone can participate.
tested libreoffice 6.4.5 for groovy. Thanks to @marcustomlinson for uploading it to proposed for me
worked with snapcraft team to start integrating snapcraft-preloads into the gnome-3-28 extension. The current state is that all three libraries (bindtextdomain, semaphores, chromium-content-api) are found in a snap that uses the gnome-3-28 extension. tested the chromium-content-api lib with skype launching video but it crashes the app every time. snapcraft guys looking into it… still need to test the use of the preloads provided bindtextdomain and sempahores. needed to rebuild gnome-3-28-1804 with a preloads part, but didn’t have upload perms for store so gave content snap to snapcraft guys to test with.
worked on the network manager snap with Lukas from foundations to get it to build again with netplan. now have an arm64 build to test on rpi. just needs testing
snapd PR #8943 (install service activation files for snaps) received a review from @pedronis, and I updated the branch in response. It still needs a second review. Currently the tests are failing due to some weirdness on the core snap’s edge channel, which should now be cleared up.
snapd theme support
snapd PR #9043 (refactor REST API access checkers) received a review from @pedronis. There was some concern about hiding the ordering dependence of the smaller checkers, so we might go for a slightly different approach.
No feedback on my request to update the store assertions for gtk-common-themes and gtk-theme-traditionalhumanized. I’ve prodded the thread on the forum and will follow up again if that doesn’t help.
other snapd stuff:
I gave some feedback on @pedronis’s proposal for an API that could let Til’s CUPS snap handle its snap access control without needing full snapd-control permissions. It looks like a workable solution, and would probably be simpler on the cupsd side than the current patches.
GDM on Ubuntu Core proof of concept:
I managed to get my proof of concept booting in a VM: this entailed a custom base snap containing GDM as the root file system and a modified gadget snap to reference that base.
The root cause for GDM not starting in my earlier testing was that it was fighting with console-conf over ownership of /dev/tty1. In the end I disabled console-conf entirely for my base snap.
The demo seems to be running the GDM greeter session in X11 mode rather than Wayland though, which is a bit surprising.
In theory this could launch a confined Wayland desktop session where the display manager essentially just hands the hardware off to the user session.