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 .
Answered lots of bugs in Launchpad and upstreams (backlog stats are here).
Made progress understanding the top gnome-shell crasher in impish. Only one person has ever managed to get a stack trace so it’s not being actively discussed, but it appears to be the same usually-untraceable issue “gnome-shell (5) /usr/lib/x86_64-linux-gnu/libc.so.6+1a476” reported from many machines.
cups-filters: Added the universal filter function/CUPS filter to cups-filters. This GSoC-2021 project from Pranshu Kharkwal is a single CUPS filter to which converts any supported input data format into any supported output data format, calling one or more filter functions of libcupsfilters. This way we save the overhead of CUPS having to call several external executables in order to process a single print job (Pull request, commit). Also did the build system integration for the new filter to easily choose between the universal filter executable or individual filter executables, dropped support for CUPS < 2.2.2 and QPDF < 10.3.2 (cups-filters 2.x only), removed obsolete urftopdf CUPS filter, removed “series” from printer model names when normalizing them to make it easier to search for support for a given printer.
pappl-retrofit: Several bug fixes during testing of the capability to find the correct support for a given printer and to list all supported printers. Especially fixed a crasher, making the Printer Applications crash on shutdown or queue removal when a wrong resolution was set in the state file, and minor bugs in the model/driver list generation.
Retro-fitting Printer Applications/OpenPrinting: Further testing, optimizing, and debugging on listing the supported printers and finding the best support for a given printer, both whether a Printer Application supports the printer at all and if so, which driver is the best. Listing and checking is fast and reliable now and it should be possible to do it on the web server.
Google Summer of Code 2021: Participated in the (virtual) Mentor Summit. GSoC 2022 will be more flexible: Also non-students can code, 2 project sizes to choose from, flexibility in coding time period.
Updated snapd PR #10219 (allow snapped services to use polkit auth) to merge in the contents of snapd PR #9986 (validation for polkit policy files), so it is feature complete and ready for security review.
Snap incompatibilities on Nvidia / Ubuntu 21.10 systems:
I did some further investigation into the incompatibilities between the Nvidia drivers from the host system on Ubuntu 21.10 and the snap sandbox environment.
While it appears that individual snaps can avoid the bug by changing how they construct LD_LIBRARY_PATH and other environment variables, I’ve been working to see if a snapd side change is possible that can solve the problem without requiring app developers to rebuild their snaps.
This resulted in snapd PR #11023, which stops sharing a number of host system driver files to the sandbox. This seems to have worked quite well for core18 and core20 snaps, but is causing a few problems for old core16 snaps. I have some plans for addressing this (provide the old behaviour when setting up the mount namesapce for core16 snaps), and am confident that we’ll have something ready to merge soon.