GNOME 48: All About Digital Wellbeing!

It's finally that time again! The UI and Feature freeze for GNOME 48 is in effect, the Beta images are being prepared, and we're just in time to check out what's new.

Subtle new features, invisible changes
Trying out GNOME 48 absolutely feels like your typical GNOME release, this time even more so than previous times: GNOME 47 finally brought us working fractional scaling, so it's pretty hard to compete with that. There are not many visual overhauls that stand out immediately but, as you use it, you will start to see and appreciate the subtle upgrades on offer. After you have used it for a while, you would never want to downgrade to the previous version - as small as they changes may be.
I like to think of GNOME upgrades as the bass line in a song: you're not going to be noticing it immediately while it's there, but you will instantly miss it when it's gone.
The Invisible Changes
Let's start with the stuff you won't directly see, but that goes to work on long-standing, important pain points.
On the compositor side of things now have support for the xdg-toplevel-drag-v1
Wayland protocol. This finally allows applications with multiple running windows, each with its own set of detachable tabs, to exchange tabs (or similar UI abstractions) easily, via drag and drop. Not everyone noticed, but this had been broken in Wayland for the longest time, but it should be a thing of the past now.
Work has also been done on frame synchronization, with support for the new Commit Timing Protocol and the FIFO protocol.
Finally, there is support for the Viewport protocol and some work on DRM leasing.
For what it's worth, support for the System Bell protocol has also been added, which means that any installed application - not just the terminal - will be able to use the system bell.
We are also seeing some promising efforts in improving the experience in GNOME Software. Loading updates is faster now, and the experience is better on Atomic distros with experimental support for systemd-sysupdate
. That, and some improvements in the application pages: better support for review voting and more thorough reporting of permissions that applications truly get.
Speaking of Atomic or Immutable distros, GNOME now has support for systemd-sysext system extensions, which improves certain development workflows.
There are some improvements in color management, lower input latency for the cursor, and some performance improvements for hybrid GPU laptop setups where an external display is wired to the secondary GPU. Those setups used to suffer from very bad performance penalties, particularly in the form of stuttering and frame drops. A lot of work is being done upstream to improve the experience with NVidia drivers especially, so users with gaming laptops should begin to have some rest on GNOME 48. It's still not completely fixed, but it's better than it used to be.
Finally, the Orca screen reader is now more resilient and responsive when an application emits a large number of events, a use case that used to degrade performance on it.
In short, there's support for more protocols, a decent performance uplift, and better support for the Immutable distro experience, which is slowly going from niche to mainstream, partially thanks to the uBlue project and its high-quality purpose-built images, like Bazzite, Aurora and Bluefin. Users seem to love those - and that includes users who have never used Linux in the past. GNOME has embraced this advancement with open arms, and results are beginning to show.
Wellbeing: don't let your computer affect your health
The biggest, most visible change in GNOME 48 is the inclusion of a full-fledged Digital Wellbeing functionality.

Digital health is one of the most discussed topics currently. As we are starting to realize there is a correlation between excessive screen times and adverse effects on our health - both mental and physical, more and more user-facing projects and operating systems are beginning to come up with practical ways to help us visualize just how much time we are spending on our screens and helping us set healthier boundaries. GNOME 48 brings its take on such a feature - and it's a joy to use. You can find it right in Settings - much like Android's Digital Wellbeing functionality, that this implementation seems to be pretty similar to.
A few basic configurations are enabled by default, but you can enable them all to gain the full benefits of this system. If you're not a fan, don't worry - all of this is completely optional.
Screen time control
By default, in fact, GNOME 48 will start tracking how much time you spend with your screen on. The first thing you see in Wellbeing is a graph, telling you very visually how much time you have spent on your screen today, comparing it to the rest of the week, as well as giving you insights on how that compares to a long-term average. If you care about your privacy, as you should, fear not: all of this tracking is fully local and it never gets sent over the network, there is not even an option to back it up. Of course, if you don't like it, you can still disable it pretty easily, which will also disable part of the Wellbeing functionality in general.

It doesn't end there, though. You can then go on to set a daily screen time limit - which will be 8 hours, by default - to get a reminder of when you have reached it, graph it as a horizontal line on the screen time graph, and optionally make it so your display will become monochrome upon reaching that, which is completely optional, but it is the most aggressive option available.
This is not too uncommon a sight. Digital Wellbeing, Android's implementation of the same feature, has also offered this option for years. The rationale is that it is believed that turning off the color in one's screen makes content consumption less desirable, making social media instantly less interesting, and removing a big part of one of the most popular techniques social media websites use to keep your attention and keep you hooked: a careful color choice. No, really. It has been known for a long time that color absolutely plays a role in marketing and influencing your decisions.
In particular, this is the reason why so many apps and websites use blue everywhere. For example, this option could help you maintain a more consistent sleep schedule if you tend to doom scroll on Reddit until it's far too late to get properly rested for the upcoming day or help you "switch off" after work when your work day is over. There is some data to show full-remote workers (and self-employed folks) in particular might benefit from this: in fact, according to the 2024 European Transparent IT Job Market Report, 37% of respondents who work remotely stated that unplugging after work is the biggest challenge associated with working from home.
Break reminders, work/break timers integration
Breaks are very important, both for your health and the quality of your work. It's easy to get so absorbed in your work to forget about it, however but for you that may be.
If you, like me, have been on the hunt for something a little bit simpler, more modern, and better integrated for workrave
to manage your break reminders, there is now a great solution.

You can now choose to be reminded to take a break with a notification and a sound at every interval you choose, and even be notified when your break ends and it's time to get back to work. GNOME will also remind you to get moving and look away for the screen for a few minutes - two small gestures that have been scientifically proven to do wonders for your health if done consistently.
The Image Viewer just got a lot more useful!


Another welcome change in GNOME 48 is that the image editor just got a lot more buffed.
While - in GNOME fashion - the default image editor is still not the tool for making complex edits to a picture, we now finally have the option to crop, resize, rotate, and flip a picture right from the editor! It's also pretty well-implemented, too.
The UX is as clean as you'd expect, and there is support for cropping horizontally or vertically from one of the most popular standard aspect ratios. This can be very useful, for example, when you are trying to make a desktop background from a high-res image that is larger than your screen resolution, but that just won't get aligned how you want it to because it is of a different aspect ratio.
Loupe can also display XMP metadata for JPEG images now, which is a small but welcome improvement, too.
(Art Credits: https://x.com/USBFIG/status/1435790274886787072/photo/1)
GNOME Maps supports public transport


You know, the Maps app? It's probably you only opened it once to toy with it, maybe you even chucked it in a folder, away from sight, to leave the spot for some application you actually use. I don't blame you: for the longest time, whenever I needed to check something, I have always just used Google Maps. It's not perfect, it's proprietary software, and the map accuracy is not even close to being comparable to the OpenStreetMap backend GNOME Maps uses, but it gets the basics done well.
On GNOME 48, though, Maps has finally gained support for the Transitions API. You can now get directions from two different points and even look at possible public transport journeys to get there - with the ability to dig into as much detail as you want. Especially for being initial support, it looks pretty nice - and it also starts paving the way for the Linux Smartphone experience, for which it's crucial to have something comparable to Organic Maps available. GNOME Maps seems to be, slowly but surely, getting close.
An upcoming, major font overhaul!
While not completely finalized and present in the pre-release build that is being used at the time of writing, GNOME has been busy with fundamentally overhauling its font selection. The main reason for this decision was that Cantarell, the iconic GNOME font, has been unmaintained for a lot of time, making it inferior in features and text rendering to several more modern fonts. And yes, if you're wondering, this is a thing! Fonts are more complex than they seem. They are not regular images, but they contain code that needs to be executed to render them properly, and they may or may not support certain functionalities or manage some edge cases properly to improve font rendering.
The new font family is called Adwaita Fonts - and they look great.

Adwaita Sans, the main system interface font, is a slightly tweaked and improved version of Inter. This is a really solid choice: Inter has a solid and long track-record of being a stable in UI/UX design, offering high readability and low eye-strain, all while looking awesome. Cantarell is iconic and it will stay in our hearts for long, but seeing Adwaita Sans in action will leave you with no doubt this was the right call.

Adwaita Mono is what replaced Source Code Pro. It's a tweaked version of Iosevka, slightly modified to match Adwaita Sans. Once again, it relies on a solid foundation, being based on one of the best and most loved programming fonts on the street.
While these fonts may not be enabled by default right away, you can go ahead and test them out right away.
Battery charge limit support
GNOME 48 is all about health. You know what else can - and should - be kept healthy with just a few small precautions? Your laptop's battery! Lithium-ion batteries, in fact, are proven to last longer when they are not charged all the way.
If you are fortunate enough to offer one of those laptops that have upstreamed support for letting you change the battery charge limit from Linux, you can now do that right from the Power options of the Settings app.
It is generally considered useful to set the max charge limit to a value between 60% and 80% when your laptop is spending a lot of time plugged in to promote battery longevity, but it's also handy to be able to lift that limit on the fly, for those times when you are going to need a little bit more juice and would benefit from a full 100% charge.
Sadly, there is no guarantee your machine will support this functionality. This relies on a specific interface being exposed to the kernel, and only laptops that are meant to run on Linux officially tend to support the small details, like all these optional interfaces being exposed and ready. Still - there is no harm in trying. If the option is missing on your machine, it is not currently available. But who knows? Perhaps support for your hardware will be added to the tree sometime down the line, so you'll just have to wait patiently.
Decibels is now the default audio player!
Do you remember Decibels, the neat and minimal GTK4 music player? In GNOME 48 it has finally become the official audio player, earning the name of... well, "Audio Player", and replacing GNOME Music.
Not only that, but Decibels has also received its own fair share of buffs, with support for multiple windows and shortcuts to change your playback speed.
Well done, Decibels contributors!


Headphones OSD is back!
Remember, many GNOME versions ago, when you would get a small configurations OSD when you plugged in your headphones, to let you correctly configure how you wanted to treat the audio output and microphone input? Apparently, that OSD is coming back to GNOME 48. Unfortunately, I was unable to test it due to virtualization not supporting this use case.
Slightly prettier little things


In this release, GNOME ships with a surprisingly pretty set of first-party, dynamic wallpapers. The various performance modes also got prettier icons, that are reminiscent of the KDE Plasma ones.

