Hi folks, it’s that time again. We’re back with another desktop team update as we reach feature freeze for Ubuntu 24.10 and prepare to land Ubuntu 24.04.1 LTS at the end of the month. One of the common themes of this cycle is around improving the user experience around snaps and we’ve touched on multiple areas in this space over the last few weeks.
But first…
GNOME 47 Beta hits the dailies
GNOME Shell 47 Beta has just migrated out of the proposed pocket and into the daily builds.
GNOME 47 includes better support for lower resolution screens, new widgets and dialogs as well as performance increases. I’m sure the GNOME folks will be sharing more deep-dives on the latest changes closer to release!
In addition, the snap refresh work we talked about in last month’s update has also landed in Oracular. This includes progress bars in the dock for snaps that refresh in the background and clearer prompts around running snaps that require an update.
Snapd, NVIDIA and Steam
I’ve talked before about some of the outstanding issues with the Steam snap related to the confinement policy of its AppArmor profile. In the current snapd edge channel a more permissive AppArmor profile is generated to grant broader permissions to the snap. This looks to resolve a majority of outstanding game compatibility issues that were not present in the Steam deb.
In testing this fix we identified additional issues regarding NVIDIA 550. Code for sharing NVIDIA binary userspace libraries from the host to the snap runtime environment was failing to mount all of the necessary libraries for these drivers. Fixes to support these new library locations have been fast-tracked into a new 2.63.1 version of snapd which will be available before the release of Ubuntu 24.04.1 LTS and improved testing has been put in place to cover future driver updates.
We expect a significant improvement in the quality of compatibility of the Steam snap after this work and look forward to hearing your feedback based on these changes.
Seeded snap tracks for desktop apps
Earlier this cycle we collaborated with the Ubuntu technical board on a new policy around third party software sources included in Ubuntu and how this policy applies to snaps.
Snaps have the following format for update channels: track/risk/branch
Let’s break this down (with full documentation available here):
track
: a supported, stable release version of the snaprisk
: represents the update cadence within that stable release version (stable, candidate, beta and edge)branch
: a short-lived, granular branch for specific fixes or changes
Currently most of our seeded desktop snaps track something like latest/stable/ubuntu-XX.XX
This makes sense for most applications, like Firefox, where we want all users to get the benefits of the latest updates. The release-specific branch is used as an escape hatch for issues that may arise on different Ubuntu versions.
For other snaps, however, this is not appropriate. Currently, when users install the snap-store
snap, they receive the old Ubuntu Software when installing latest/stable
and the new Flutter based App Center is only available on latest/stable/ubuntu-23.10
and newer release branches (plus the edge
and beta
channels). This is un-intuitive to users and against the principles of the branch usage.
To resolve this issue we are creating new tracks for the App Center so that Ubuntu Software will track 1/stable
and the App Center will track 2/stable
. This means we can continue to support Ubuntu Software on older LTS releases that still include it for the duration of their life cycle whilst making it easier for users to find and install the new App Center.
2/stable
will be seeded in all upcoming future releases of Ubuntu (and retroactively seeded in Ubuntu 24.04.1 LTS) and we’ll only create a 3/stable
if we were to land a significant functionality change that should not be backported to earlier releases. The current App Center branch will continue to be maintained at parity with this setup for existing users.
ⓘ Why not put everyone on the new App Center?
LTS releases come with an expectation of stability and consistency in experience during their life-span, but more importantly the new App Center delegates firmware update management to the new Firmware Updater application. Since this application is not seeded on older releases we don’t want to remove the firmware update management functionality from these users by default.
This isn’t something we’re only applying to the App Center. The Firmware updater and upcoming Security Center will also have 1/stable
tracks and the desktop installer stack (which is composed of multiple snaps) will track XX.XX/stable
to enable us to land new release specific features in the installer and avoid regressions in older releases that aren’t set up to support them.
Snap track migration on upgrade
One other change we’ll be making is to align users to the appropriate snap track upon a release upgrade regardless of the previous channel they were on before.
This is already done if the user has not deviated from the default channel in the release they are upgrading from, but that creates the risk that users who may have refreshed to a different channel to test features are left behind.
In the upgrade to Ubuntu 24.04.1 LTS and the future upgrade from Ubuntu 24.04 LTS to Ubuntu 24.10 we will migrate all seeded snaps to the preferred snap tracks for that release by default to deliver a consistent, tested experience after an upgrade.
This action will be messaged in ubuntu-release-upgrader
so that those who want to revert can do so. Again, this only applies to seeded snaps in the desktop (ie the App Center, Firefox, Firmware Updater etc) and not snaps the user has installed themselves. This is also more consistent with how the upgrader handles debs and PPAs.
App Center ‘Manage’ page improvements
The App Center continues to land new usability enhancements. Here are some of the highlights from the edge branch.
- The available updates section now refreshes its list automatically after updates are applied.
- Open snaps that can’t be updated are clearly messaged and don’t affect ‘Update all’ actions.
- Snaps can now be uninstalled directly from the Manage page.
- App Center self updates have been removed from the available updates list with a prompt to quit for an auto refresh.
And we’ve improved connectivity error messages as well!
Ubuntu 24.04.1 LTS now landing on August 29th
As you may have seen, Ubuntu 24.04.1 LTS has been delayed to August 29th to ensure that some upgrade blockers have been resolved. You can track the progress of this release here.
Ubuntu 24.04.1 LTS consolidates all of the fixes and improvements that current Ubuntu 24.04 LTS users have received over the last few months but will also include some notable additions on the desktop front:
- Seeded snaps will now be aligned to the snap track plan as laid out above.
- The Desktop installer now supports an OEM mode using autoinstall and a modified GNOME initial setup. Users who wish to take advantage of OEM mode should refer to the related documentation.
- Raspberry Pi images will now also use the same modified GNOME Initial Setup.
So ends part one…
… of the August update. There is still one more major feature we want to land in Oracular but I think this work merits a post of its own. Stay tuned.