Ubuntu Desktop 24.04 LTS roadmap highlights

Greetings! In this post I share highlights from the Desktop team’s roadmap for Ubuntu 24.04 LTS. It’s important to remember that plans change and misses do and will happen. If you would like some insight into our guiding values when constructing the roadmap check out the Desktop’s core values. Okay, let’s jump in!


Figure 1. Photo by Markus Spiske on Upsplash

Provisioning

I’ve written previously about a vision for desktop provisioning in Naught to productivity. This cycle we’re working on this vision’s foundations. The highlights from this effort are six defined provisioning phases, consolidating and reordering steps so that we can better support stakeholders, whitelabel support and finally specific Home and Work first boot initialisation flows. Given the scope of these changes I will defer covering provisioning in detail here and write a dedicated post in due course.

Web services

Behind the scenes, Ubuntu desktop is supported by web services. For example, there is a backend to Ubuntu report that receives optional installation telemetry and a new App Center rating service. Additional services you might be familiar with support the connectivity check, geo location and app stream. These services run directly on VMs but that approach has limitations especially at scale. So, we are starting to migrate these services to Juju running on a kubernetes cluster and instrumented with cos-lite. This has numerous benefits such as improved elasticity, reduced maintenance burdens, better observability, aggregate logging, insightful dashboards and alerting. This migration will take more than one cycle, and so we are focused on the infrastructure and “charming” the optional installation telemetry and the App Center ratings services.

Enablement and housekeeping

When a Linux-Flutter app starts, a GTK3 window is created and its context is passed to Flutter to do its magic :magic_wand: This cycle we’re upgrading the Linux-Flutter engine to use GTK4 so that all apps benefit from GTK4’s improved performance :rocket: Additionally, we are updating dependencies and reworking our repositories to be consistent. We see these as necessary steps to make it easier for anyone to get involved.

During the Ubuntu 23.10 release offensive translations were injected into the Ubuntu Desktop installer. Launchpad has a longstanding process for translations but Flutter’s localisation stack is not supported. To work around that limitation we turned to weblate. Weblate is a SaaS translation platform for projects, it has support for Flutter and it is well used in open source projects. To mitigate the risk of more offensive translation going forward we are (1) looking to self-host weblate and (2) ensure that every language is gatekept by a trusted translator. This should bring our Flutter translations up to the quality seen on launchpad.

Flutter apps

In App Center we are implementing “Top Charts” to help users discover the best applications. Initially Top Chart will be across all categories, but if we have capacity, we would also like to support it by category. Additionally, we have dozens of papercuts, quality of life tweaks and community-reported issues we want to address. If you want to help test as these changes land you can do so on the edge track by running $ snap refresh --channel edge snap-store


Figure 2. Figma designs for a top rated section in the Explore tab.

In the Firmware Updater we implemented a --simulate flag. This means that engineers and designers can easily see what the app looks and feels for any device. Additionally, we’re making small quality of life changes that should elevate the whole app experience. This work is mostly complete and can be seen now by running $ snap refresh --channel=candidate firmware-updater.


Figure 3. The candidate build of Firmware Updater

Security Center

We have several new security features targeting Ubuntu 24.04 LTS and there are many existing-but-hard-to-access-unless-linux-ninja security features that we want to surface. As our analysis matured, we felt a dedicated Security app was needed, and so we started building out a holistic security management concept. Bringing ourselves back down to earth, we settled on four specific areas to bring into this new app. Before I dive into those, it’s worth noting that the successful delivery of these features relies on many other teams and that exposing a toggle or checkbox is a more straightforward endeavour to the tasks these teams have working on!

First, we aim to expose re-encryption for our hardware backed full disk encryption solution. To be clear I’m referring to the on-disk master encryption key and not the passphrase used to access the master encryption key. This matters because it means in theory you could receive a laptop from the factory, with encryption enabled with one key, and then re-encrypt so that another key is used. Additionally, we’ll provide a straightforward way for users to show recovery keys as currently this can only be done via the cli.

Second, we are working on a prompting mechanism for resource access requests from confined applications. This is similar to xdg-portals-* but it is useful where applications do not or cannot use portals (e.g. a cli app, a container). Today, Settings provides permissions grouped by application and we don’t intend on changing that. Where the Security Center adds value is in listing these prompt decisions by resource. If that sounds familiar that’s probably because it is similar to Android and iOS. We have ambitions here, but for this cycle we are focused on the basics and so limiting ourselves to File access prompts and management.

Thirdly, we are planning on migrating Pro settings from “Software & Updates” and into a dedicated Pro section within the Security Center. For users on interim releases you might not be familiar with this tab because it’s disabled on interims.

Finally, we would like to land a Network section so users can easily toggle their firewall on and off, enable ‘stealth mode’ (aka ignore pings) and configure ports.


Figure 4. Focus areas for improved security feature discoverability and configuration

Desktop Environment

We are working hard upstream contributing to GNOME 46 and then bringing it to you in Ubuntu 24.04 LTS. In due course there will be a pile of improvements to discuss so I’ll leave it there for now.

There are ongoing discussions about sun setting X11. In Ubuntu 24.04 LTS we’re not ready to make that leap. For this cycle, we’ve decided to audit the state of NVIDIA + Wayland to define the signals we want to see in order to make that call.


Figure 5. The current refresh awareness prompt.

Next, we plan on refining snap refresh awareness. Today, when a snapped application has a pending update you get a notification and 13 days notice. That seems a bit … eager, don’t you think? So we want to make a few tweaks. Firstly we’d like to reduce the notice period to something more meaningful in a desktop context. Next, we want to improve the notification itself by providing users with actions like “Update Now” and make the copy fit. If there’s time we’d even like an update-is-available badge on the dock icon.


Figure 6. An early concept for a new refresh awareness prompt.

Finally, we’re creating a series of productivity snaps targeting gsuite and Office 365. When this is done it will be as simple as running $ snap install gsuite and bam! electron wrapped versions of your productivity must haves will be at your fingertips. You can emulate this experience today with Google Chrome, but having those apps strictly confined has a nice feel to it. The first release will be simple, but we have aspirations for more seamless integration into desktop.


Figure 7. ‘Installing’ gsuite (cheating with Google Chrome to illustrate the concept)

And a few more …

For our enterprise stakeholders we are implementing MFA support in SSH, building SSO-support into the desktop (e.g. login with your favourite identity provider) as well as a new Work provisioning flow for enterprises, exposing the awesomeness of autoinstall. On the WSL front we are implementing support for cloud-init image customisation and working on documentation to bring it all together. Finally, the gaming squad is focusing on the backlog of issues we haven’t had time to address. Additionally, the team is planning on reworking the Apps Center gaming section, but those plans are still young.

Closing

That concludes the roadmap highlights. Remember, these plans are subject to change. We welcome your thoughts and suggestions as we progress through the development cycle.

30 Likes

Does Ubuntu have a gaming team or gaming optimization roadmap?

Something like a gaming section where one could rrwd things like

For easily boosting or controlling CPU like with the konkor extension, or tuxclock or greenwithenvy.

Specific kernel or software optimizations that would boost FPS on steam games for example.

Better controller support, auto detection of certain games and apply certain changes to the process, (like gamemode but more in depth to the game, similar to PoL).

Performance and benchmark checking

DLSS, RT, frame generation and other graphics technologies that could be boosted or promoted from collaborate work with Ubuntu and other companies?

And so on. My point being, years ago it was one of the focuses of Ubuntu. Right now not so much. I am simply looking for a group or place that is part of Ubuntu and either helps in performance and gaming (like the arch wiki) or guides in a very strong sense the linux gaming industry.

5 Likes

If you go to the desktop category here in the forum you can select the “gaming” tag at the front page of the category and get a list of gaming related posts…

Thank you ogra I did, and with the exception of the amazing work from vanvugt that section is not even close to something more serious about the gaming in general or a gaming community. I mean just look at that (In a 2 year span):

image

Versus stuff like this which are great serious sources of information from other distributions:

https://wiki.archlinux.org/title/Gaming

https://wiki.archlinux.org/title/Improving_performance

https://linux-gaming.kwindu.eu/index.php?title=Improving_performance

1 Like

Awesome overview, thanks!

It might be helpful, as that assessment takes place, to catalog the results in a way similar to how the KDE Plasma team did for their own Wayland review page - basically sharing out to everyone:

  • What are the known issues with flipping the switch now
  • What bugtracker issues exist for each of those known issues - within Launchpad if it’s specific to Ubuntu’s implementation, upstream if it’s an upstream bug
  • What is the severity of each, and what are the criteria for different severity levels

Perhaps that could even be a pinned post in an appropriate category, then, so if/when the decision is made to start forcing the transition, folks can review for issues that may impact them and contribute/mitigate accordingly?

1 Like

Those are helpful links…but I would say, much of the Arch wiki general information could be applied to any Linux distribution - probably no need to reinvent the wheel there?

What gaming content would you propose (or create?) for Ubuntu? I’m sure I’m oversimplifying here, but I would think that pro-level competitive gamers are going to use Windows, hardcore Linux hobbyists are probably going to end up on some Arch anyway, and for the “general public”, things mostly “just work” on Ubuntu as-is…

Other than “hey, Steam works here, have fun!” I’m just not sure what’s missing that would be Ubuntu-specific?

There’s dozens of tools to manage CPU governor, powersave modes, etc. What might be excellent advice in isolation may be working against the tools that have been pre-installed or preferred.

The Ubuntu desktop team put effort into selecting, integrating, and promoting gamemode: Bug #1853830 “[FFe] gamemode” : Bugs : gamemode package : Ubuntu – there’s probably several other similar tools, and I know I’ve seen the absolutely worst shell scripts written to try to do similar tasks. But this is one that should work well, and should be tried first, and if it doesn’t work for someone, then they should file bugs on it rather than just try something else.

Furthermore, Ubuntu has gone to some effort to make Nvidia graphics cards work. Advice written for other distributions may not be the best way to accomplish the goals on Ubuntu.

BTW, I’m not saying don’t use the Arch wiki! It’s an amazing resource and they’ve done great work. I use it often myself. But its applicability varies from topic to topic, and it’s especially challenging to tell when the advice is fantastic and when the advice isn’t appropriate. An Ubuntu-specific resource for whatever issues come up, or to share the lay of the land, could be pretty useful. (If it is maintained.)

5 Likes

This is very welcome. I usually close the app, but the update is not immediate so I re-open it after 1 minute and the pop-up is usually shown again… The “update now” button is exactly what i need

2 Likes

This a very nice roadmap | Awesome. Waiting to see these

1 Like

I’m signing off for the holidays but will come back to this discussion in the new year :wave: :partying_face:

2 Likes

May I suggest:

sudo snap install M365
sudo snap install GWS

“gsuite” is an historical term.

1 Like

Looks great, after more than 10 years on mac next year i’ll try Ubuntu as my main OS and this looks very promising :sweat_smile:

2 Likes

No mention of further work on hardware-backed full disk encryption with TPM, and additional hardware support, such as support for Nvidia graphics cards along with this method of encryption?

Currently the install of the system under TPM- based FDE is largely read-only, I’ve tried to install the open kernel flavor of the Nvidia drivers, and found it also impossible due to the installer not being able to write to read-only system folders that are writable on a normal install… I vastly prefer this method of encryption and I’m sure there are many like me who do as well, and I believe that enhanced hardware support was promised… Is this still in the works? Would be awesome to hear more details on this!

…waiting with baited breath! Thanks!

Those are fair points, I guess in my head I’m biased by my own experience, which has generally been that Ubuntu is the distribution that doesn’t require a bunch of manual tweaking in the gaming department - so perhaps I was underappreciating the value of detailing out how all that actually comes together, for use in the cases where it doesn’t “just work”.

3 Likes

No mention of further work on hardware-backed full disk encryption with TPM, and additional hardware support, such as support for Nvidia graphics cards along with this method of encryption?

Hi @tryptamine9 we are absolutely working on support for NVIDIA drivers with TPM based FDE and hoping to deliver broader hardware support alongside re-encryption options in 24.04 LTS. This work largely falls on the kernel and snapd teams so isn’t as emphasised in the Desktop engineering team roadmap but rest assured it’s a key focus for us.

2 Likes

As a flutter developer, I’m really excited about the switch to GTK 4! :slight_smile:

Just curious, but how will this change affect the current Linux plugin ecosystem? If the flutter engine is modified upstream to incorporate GTK 4, will only the plugins that have also made the switch work? What about older Linux distros that don’t have any version of GTK 4 installed?

2 Likes

Exposing the firewall settings is something that I am looking forward to. This I suppose was doable with Gufw all, but being built in speaks volume.

5 Likes

That sounds like an ideal first paragraph in any sort of “gaming on Ubuntu” resource.

2 Likes

These are all great questions. What I am proposing is actually a sum of all of that. I have been helping gamer on Linux since before Wine 0.9 and almost the same questions remain:

  1. How do I install X game (Be it wine, steam, dosbox, etc…)
  2. What settings can I use for a specific game (or what setting to not use).
  3. How to tune ubuntu in this case to perform better for games
  4. How to install or update video drivers, codecs, tools needed either for the game or the platform for the game. Some I included in questions in askubuntu, or in the xtremeLinux channel, and I try for them to target ubuntu users because of the UX flow in it.

The proposed idea is a single place where the typical questions get asked, tested ans answered so they have an easy source to help them play, which in turn helps them migrate to linux (ubuntu), and has a domino effect of new users using it.

Right now, a user needs to go to yes, the arch wiki, but also protondb, but also wine, but also askubuntu, and about 10 others places, instead of a single place, that targets ubuntu and promotes it as a gaming platform too. Where they can know gaming bugs for their particular favorite games, the solutions for it. Where they can know tuning options and best setups. Benchmarks and what gaming improvements are brought with each new ubuntu version. THAT, would be an amazing source of information for linux gamers and newcomers.

1 Like

Why do you want to torture newcomers and Linux gamers like this, wouldn’t it be way better if the games were just set up in a way they don’t need to apply hacks at all, or if they do, do it in a way that is easier than having to hack system configs ?

The above is exactly what the gaming team in ubuntu tries to achieve (i.e. take a look at the steam snap and how it comes with launch options set for the respective games … or how it makes it easy to swap out mesa on a non-system level just for the games without the need to hack up your host system for it (and potentially break your desktop settings))…

IMHO the above is the better approach and if users help testing and do report issues this can actually be achieved in a way that users wouldn’t need to dig through tons of (potentially even contradicting) websites and docs just to play their favorite game…