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.
Working on triple buffering again. This time to find out why window movement was suddenly broken on Nvidia, and also to fix failing conformance tests (done!).
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
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
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.
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.
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.
snapd-glib:
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.