We use some essential cookies to make our website work.

We use optional cookies, as detailed in our cookie policy, to remember your settings and understand how you use our website.

A new Raspberry Pi OS release

We’ve just published a new version of Raspberry Pi OS — our recommended (and free) operating system for all Raspberry Pi computers — and it’s now available for download. Scroll to the bottom of this post to find instructions for updating, or read on to find out what has changed.

As many of you already know, Debian Linux works on a two-year release cycle – every odd-numbered year, a new major version is released, and it being 2025, there will be one in the next few months.

So this is probably the final release of Raspberry Pi OS which is based on Debian ‘bookworm’, before Debian ‘trixie’ is released this summer. The last full release we made was back in November last year, and there have been quite a few changes since then, so here’s a summary of the most important.

bookworm raspberry pi os release

Screen locking

We’ve installed a modified version of the swaylock screen locking application. Anyone who has used swaylock will be familiar with its somewhat minimal interface – when you lock the screen, you just get a completely white screen with no indication of what has happened or what you need to do. We felt this was a bit unhelpful, so we’ve added a custom front end which gives a bit more feedback as to what is happening and what you need to do to unlock it again!

You can now lock the screen by pressing Ctrl-Alt-L, or by choosing ‘Shutdown…’ from the main menu and selecting Lock Screen in the dialog. You’ll then see the lock screen, with a password entry box.

raspberry pi os screen grab

Type in your password, hit Enter, and the desktop should return.

Auto login options

In Linux desktops, it is usually possible to access a command-line console (known as a TTY) by pressing Ctrl-Alt and one of the function keys from 1 to 7. We have always set up Raspberry Pi Desktop so that if you boot to the desktop and enable auto login, then the TTY on Ctrl-Alt-F1 is also automatically logged in. If you use the screen lock described above, this gives a potential security hole, as the TTY switches are not disabled when the screen is locked.

What this means is that if you lock the screen, you should need to enter a password to be able to access the Raspberry Pi desktop again. But if a TTY is also logged in, someone can just hit Ctrl-Alt-F1, switch to the logged-in TTY, and gain access to the computer.

In order to prevent this, we have now separated console and desktop auto login options. On a new image, both console and desktop are automatically logged in, but if you want to prevent someone using this to get around the screen lock, we recommend turning off console auto login. There are now controls for this both in Raspberry Pi Configuration and in raspi-config.

raspberry pi os screen grab

New Printers application

To connect to and control printers, we have been shipping the system-config-printer application, which is a Python application with a slightly quirky and untidy user interface. For this release, we have ported the printer control plugin from the GNOME desktop control centre into a standalone Printers application (along with fixing a few of GNOME’s more puzzling user interface decisions…). The new application can be found in the Preferences section of the main menu, and should hopefully make managing printers a bit more intuitive.

raspberry pi os screen grab

Better touchscreen handling

Touchscreen handling in Wayland is relatively new and sometimes doesn’t do everything you might hope. We hit a problem when we first moved to Wayland in that some touch features, like the ability to double-click, were simply not available, and we had to find a workaround.

What we did was to enable mouse emulation by default, whereby touchscreens just pretend to be mice – when you tap the touchscreen, it generates a mouse click instead of a touch, and if you tap it twice, it generates a double-click. The problem with this was that it meant that touch-specific features, like swiping the screen to scroll, were disabled, and some people noticed their absence.

For this release, we are making it easy for touchscreen users to choose whether they want mouse emulation behaviour, or native touchscreen behaviour. There is a new menu under the ‘Touchscreen’ section of the context-sensitive menu in Screen Configuration.

raspberry pi os screen grab

The main disadvantage of no longer using mouse emulation is that it isn’t possible to double-click by tapping the screen twice, and this makes navigation in the file manager rather difficult. There are a couple of workarounds specific to the file manager: you can enable ‘Open files with single click’ in the file manager preferences, or use a tap-and-hold to open the context-sensitive menu and then choose ‘Open’.

Hopefully, at some point Wayland touchscreen support will be mature enough that it is no longer necessary to offer this option, but in the meantime, this lets users choose their preferred behaviour.

Other changes

This release is running version 0.8.1 of the labwc Wayland window manager – this is a couple of releases behind the very latest version, but has had a lot of testing and is very stable. We’ll be updating this to a newer version in the near future. We are also now running on version 6.12 of the Linux kernel for this release.

The Squeekboard virtual keyboard for use with touchscreens has been modified to allow users with multiple monitor configurations to choose the screen on which it is shown – the relevant option is on the Display tab of Raspberry Pi Configuration.

Unfortunately, due to changes made by the authors of the Chromium web browser, it is no longer possible to pre-install the uBlock Origin adblocker. As a result of this, from this release onwards, we are pre-installing the slightly less full-featured uBlock Origin Lite.

A lot of work has gone into optimising the startup of the wf-panel-pi application used to create the taskbar in Wayland, and this has resulted in a noticeable improvement in the time taken for the desktop to start after the Raspberry Pi is booted.

In another performance optimisation, we have stopped using the zenity tool to create prompts and dialogs from the command line, and have written a more efficient tool of our own, called zenoty – this saves installing some packages which were slowing down startup.

There have also been a lot of changes under the hood aimed at making maintenance of the desktop more straightforward and easer to manage going forward into trixie, but they shouldn’t (hopefully) be noticed by most users.

And of course there have been dozens of the usual small tweaks to fix bugs, add new translations, and just generally tidy things up.

How do I get it?

As is usual, you can do most of the update automatically via apt. Just open a terminal and type

sudo apt update

sudo apt full-upgrade

While the upgrade is in progress, you may get prompts asking you to confirm changes to configuration files; just answer Y for yes to these.

If you want to write a fresh image to an SD card or other media, visit our software page, where you can download Raspberry Pi Imager – the most straightforward way for most users to prepare a new SD card – or browse download options to install manually.

We hope you find the new changes useful – as always, do let us have any feedback in the comments or on the forums.

bookworm cartoon - raspberry pi os release bookworm is named after
Make the most of the last few months with Bookworm!

78 comments
Jump to the comment form

Scroggi avatar

Thanks, Simon!
I specifically appreciate the lock screen addition.

Reply to Scroggi

Kevin McAleer avatar

That’s this weekends project sorted, lots of pis to upgrade.

Reply to Kevin McAleer

Wyatt avatar

Is it already available for everyone? I tried to upgrade mine but no updates were found…

Reply to Wyatt

Bsimmo avatar

If you regularly update the OS when it tells you in the task bar or manually as above, then you already have it and the updates as they came out.

This is for people than don’t update the download versions (or often).
It’s now also the default download version so saves a few 100 updates for a while.

Reply to Bsimmo

Wyatt avatar

I’m still running Bookworm, but when I sudo apt update && sudo apt full-upgrade it doesn’t find anything to update. Is it normal? Does it mean that the new OS is yet to be rolled out for me?

Reply to Wyatt

Simon Long avatar

The release is just a combination of all the updates we have released into apt since the last release. If you have been updating using either apt or the updater plugin on the taskbar on a regular basis, there is nothing more to be updated.

If you want to check, reboot your Pi and look at the splash screen – it should say “Release 5.6 – April 2025” at the bottom left. If it does, you are up to date.

Reply to Simon Long

Dennis avatar

Is there some way that you could add that string to /etc/os-release (or another similar file) to avoid the need to reboot?

Tom avatar

Seems so ?
$ sudo apt full-upgrade
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
Calculating upgrade… Done
The following NEW packages will be installed:
linux-headers-6.12.25+rpt-common-rpi linux-headers-6.12.25+rpt-rpi-2712 linux-headers-6.12.25+rpt-rpi-v8
linux-image-6.12.25+rpt-rpi-2712 linux-image-6.12.25+rpt-rpi-v8 linux-kbuild-6.12.25+rpt
The following packages will be upgraded:
libpipewire-0.3-0 libpipewire-0.3-common libspa-0.2-modules linux-headers-rpi-2712 linux-headers-rpi-v8
linux-image-rpi-2712 linux-image-rpi-v8 linux-libc-dev raspi-firmware userconf-pi
10 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
Need to get 92.8 MB of archives.
After this operation, 130 MB of additional disk space will be used.
Do you want to continue? [Y/n] ^C

Reply to Tom

Tom avatar

Will you be upstreaming the swaylock changes ?

Reply to Tom

Simon Long avatar

No plans to do so – I am assuming that if the authors of swaylock had wanted a different (shall we say “less idiosyncratic”…?) user interface, they’d have designed one in the first place. To be honest, I think mine was probably easier to code than their default version! But like all the software I have developed for Pi, it’s open source and available from our apt repo, and they are very welcome to take it, or indeed get in touch and request a PR.

Reply to Simon Long

Mark Tomlin avatar

Can’t hurt to submit the patch and see if they will take it. If they reject it, what ever. You tried.

Reply to Mark Tomlin

Kremnari avatar

Thank you so much for the touchscreen fixes/workarounds. I was quite surprised when they happened

Reply to Kremnari

Jon avatar

Likewise…

Reply to Jon

scruss avatar

Looks like you have to manually install the new printer app:

sudo apt install rpinters

This will also uninstall system-config-printer.

Congrats on the typo-tastic new app name!

Reply to scruss

Simon Long avatar

Yes, I’m sorry about the name, but it was too tempting! I do enjoy coming up with groan-worthy puns for app names – raindrop is an anagram of randr and IPO, as that was what was happening at the time, and rasputin is an anagram of input with the ras of raspberry at the front…

I did find that rpinters didn’t automatically install in my initial testing, but that turned out to be due to Chromium having a dependency on the older system-config-printers, which I fixed – looks like something else you have installed has a similar dependency and was blocking the install for you – glad you managed to work it out!

Reply to Simon Long

AndrewS avatar

And not forgetting Pi agnostics of course ;-)

Reply to AndrewS

marvid avatar

Just did a clean install on my pi 500 and it broke my keyboard layout using is stuck on United Kingdom keyboard layout out it has the pound and the @ is not at the 2!

Reply to marvid

Olydnad_SWE avatar

Same here. Didn’t get Swedish to work.

Reply to Olydnad_SWE

Simon Long avatar

When you say a clean install, do you mean you downloaded and flashed a new image?

I’ve just tried on my image here, and I can switch between the US and UK keyboard layouts with the Set Layout button in Mouse and Keyboard Settings – the new layout takes effect for me without problems. We haven’t changed anything significant in the keyboard setup for this release that I can recall.

Reply to Simon Long

Olydnad_SWE avatar

When I installed May 6th 2025 with the Raspberry Pi Imager, I had to add the Swedish language from raspi-config and Localisation Options and locales. Then look up Swedish in there. Even though I had chosen Swedish at the start.

Reply to Olydnad_SWE

Simon Long avatar

OK, so you set the language in Imager, but that setting didn’t make it into the image? That sounds like an Imager problem – we’ll look into it.

Reply to Simon Long

Plydnad_SWE avatar

No, I don’t make any changes there, but everything at the first start before you get into the OS. When creating users, passwords, etc.

Simon Long avatar

So in the startup wizard?

Ah, ok – just tried that, and you’re right – the localisation settings are correctly transferred into the desktop, but the keyboard reverts to UK – I’ll see if I can work out what is happening there.

Simon Long avatar

OK, found the problem and fixed it – we’ll push an update.

marvid avatar

Yes, loaded the image from the pi imager and rip it to a clean sd. After 7 clean installs it finally works tho. No idea what changed as I didn’t do anything differently and yes, i was making sure I was using the correct keyboard layout.

Reply to marvid

Olydnad_SWE avatar

A workaround on this if you need to install offline, is to add your language in keyboard and mouse settings. Just add a second keyboard. Just tested it and it works.

Reply to Olydnad_SWE

Simon Long avatar

Also, you can just change the keyboard to anything else, save the changes, and then go back to your desired keyboard and change again – no need to add a second keyboard.

I’ve found the bug in the startup wizard and it’ll be fixed for the next release.

John avatar

Just curious, is there any plan to upgrade the i386 version? I’ve occasionally used it to tinker with older laptops / PVE VMs.

Reply to John

Simon Long avatar

I very much hope so – I’ve been trying to get the time to update that for months now, but other things have got in the way – we were actually discussing it this week. So yes, I hope we will get the chance to update it, but we may well end up skipping bookworm completely and moving straight to trixie for it.

Reply to Simon Long

Dave avatar

+1 for an upgrade to the i386 version. Direct to Trixie would be good. Thanks!

Reply to Dave

Mark Tomlin avatar

Yeah, I’d be happy to wait for a Trixie update here to not waste to much of your time.

Reply to Mark Tomlin

Faheem Ahmad avatar

Please give us android and chrome os like features UI and much better touch interface like windows 8.1

Reply to Faheem Ahmad

Ben avatar

Given the changes in Chromium which make it harder to block adverts and trackers (hence the deprecation of uBlock Origin), have you considered switching to a different browser such as Firefox?

Reply to Ben

Simon Long avatar

We already offer Firefox as an alternative – you can install it from Recommended Software, and switch between it and Chromium as the default in Raspberry Pi Configuration. Both browsers are preinstalled on new images.

Reply to Simon Long

Anders avatar

Hi, is Firefox GPU accelerated in the same was as Chromium? Thank you.

Reply to Anders

Simon Long avatar

Yes, video in Firefox is GPU accelerated.

Reply to Simon Long

Nick Bristow avatar

Just wondering if webgpu is/will be available in either of these browsers?

Many thanks for the new release!

David B. avatar

Hi Simon,
As a soon to be Pi owner, thanks for your OS updates!

– swaylock
Is it possible to offer a black background lock screen password prompt, reducing eye strain in low lit rooms, may also be helpful for OLED displays?

Thank you in advance.

Reply to David B.

Nick avatar

Until that happens, a very easy alternative is to open that image in GIMP, go to Colours -> Invert and save a “_dark” copy of the image. I tried that and it looks great. :)

Reply to Nick

David B. avatar

Thanks for your great idea Nick, much appreciated! 😊

Be helpful (don’t yet know if already works this way) if the swaylock background colour follows the chosen light/dark theme preference?

Reply to David B.

Karl avatar

Unfortunately the “Sticky” bug (thumpnails stick to the cursor when trying to drag and drop on the desktop) is still not fixed!

Reply to Karl

Roland A avatar

GPIO and SPI Bus slow down with the 6.12 Kernel ?
Just tried the new R Pi OS on a Pi5, I use this for a data acquisition system driving an AD7606 using Python (libgpio 1.6.3-1 and spidev 3.6-1). Moving from the 6.6.31 to 6.12.25 kernel knocked about 9% off my data rate. Any thoughts ?

Reply to Roland A

Simon Long avatar

Could you please raise an issue about that on GitHub at https://github.com/raspberrypi/linux/issues, preferably with some way we can test for it without whatever custom hardware you are using? We can then look into it for you.

Reply to Simon Long

R Smith avatar

Hi Simon
Many thanks, will do.

Reply to R Smith

R Smith avatar

See the follow on discussion and patial fix at the following link

https://github.com/raspberrypi/linux/issues/6854

This seems to be the result of “under the hood” changes to avoid a clash over GPIO ownership.

Reply to R Smith

Mark Tomlin avatar

Thank you for the whole “Better touchscreen handling” section. I was hitting exactly one of those problems (scrolling) with a project that I made. Being able to scroll natively is great for the touch display 2!

Reply to Mark Tomlin

Lara avatar

$ sudo apt full-upgrade
On my son’s pi-top returns many “failed to fetch” errors. Any suggestions?

Reply to Lara

AndrewS avatar

Did you remember to run the ‘sudo apt update’ first?

Reply to AndrewS

Anders avatar

Which version of Pi-Top does your son use? Is it the Pi3B+ laptop style in a striking colour, the Pi-Top 4, which is based on RP4 and is not a laptop style, or the Pi-Top CEED which is like a sort of tablet form factor?

Pi-Top supply their own customised version of Raspberry Pi OS so instructions here might not apply.

Reply to Anders

Simon Long avatar

I suspect those are coming from Pi-Top’s own servers. Pi-Top stopped supporting their laptop-style computers several years ago – I don’t think they ever released bookworm updates for them.

Reply to Simon Long

ED avatar

I tried to update just now and it completely b0rked my apt/dpkg system because of errors in several LibreOffice packages: “Unable to stat ” (which was about to be installed): input/output error”. I cannot seem to fix it, not even by forcing purges with dpkg. So now I’m stuck until I can do a completely fresh reinstall, which is rather disappointing. The cause may not be the new updates but rather yet another out-of-sync update mirror (in NL).

Reply to ED

Simon Long avatar

I installed LO on the image a couple of days ago with no issues – I think you may indeed be the victim of a mirror problem. We’ve made no changes to LO for this release.

Reply to Simon Long

AndrewS avatar

…or perhaps your SD card is experiencing hardware errors? (Which is rare, but does occasionally happen with “cheap” SD cards)

Reply to AndrewS

L4wnmower avatar

Great work Simon!
Since this should be the last Bookworm-based version as 5.6, can we expect that Trixie-based versions will follow a 6.x major branch?

Thanks

Reply to L4wnmower

Simon Long avatar

That would certainly seem to be the logical thing to do… ;)

Reply to Simon Long

Ultrium avatar

Where is the setting for the Screen Locking? I would like the change the background to my wallpaper.

Reply to Ultrium

qqq avatar

Did you found solution? It’s to bright at night :)

Reply to qqq

Wesley Lai avatar

Hi. Does this kernel version support parsing and routing of CSI-2 virtual channels in the V4L2 media controller framework?

Thanks.

Reply to Wesley Lai

Robolabsllc@gmail.com avatar

I hate chromium and google for that… I LOOVE uBlock Origin!! I hope Google regrets it. But I like the rest of the update!

Reply to [email protected]

LinuxNoob avatar

Which desktop enviroment is being used in raspberry pi os?

Reply to LinuxNoob

Simon Long avatar

Raspberry Pi OS *is* a desktop environment; it doesn’t use any existing one. We use labwc as our window manager, a custom panel originally derived from one written for wayfire, and pcmanfm as the file manager.

Reply to Simon Long

Olydnad_SWE avatar

It’s a good choice. I like almost everything about the Raspberry Pi OS. It’s almost never in my way when I’m working in it. Clean without a lot of unnecessary things from the start. Just add your own programs and run!

I want to take the opportunity to thank you for the work with it! Everyone who has worked with it!

Reply to Olydnad_SWE

Simon Long avatar

Thank you! It’s nice to be told we get it right (for some people, at least… ;) )

Reply to Simon Long

John avatar

Awesome update overall for touchscreen use cases! One question, on the Lock Screen, is it possible to automatically show the on screen keyboard to enable typing the password with a touchscreen without physical keyboard ? I see that it’s shown when logged out, but not on the new Lock Screen. This would be a very welcome feature I’m sure for many touch panel/HMI use cases. Greatly appreciate any advice on this!

Reply to John

Simon Long avatar

I suspect it isn’t feasible, unfortunately.

When the screen is locked, swaylock runs in a very cut-down windowing environment – the screen you see is all drawn using very low-level graphics primitives, rather than a toolkit like GTK – and while it would be theoretically possible to implement an on-screen keyboard in the same manner, it would be an enormous amount of work.

Reply to Simon Long

Gregg Levine avatar

However I tried out the new release on a Pi Zero2 with WiFi and headers installed. Freshly written to an SD card in fact. But I couldn’t get the VNC Server to run properly. I’d type at the prompt vncserver-virtual, and it would complain with regards to me saying it was illegal operation. I’d also try doing so using the sudo command. Same thing.

Reply to Gregg Levine

Simon Long avatar

Use raspi-config or Raspberry PI Configuration to enable the VNC server – I have never seen that command you are trying to use!

Reply to Simon Long

Gregg Levine avatar

And all is well. I followed the above steps on upgrading the OS. And then ran the sudo raspi-config steps, and double checked that the VNC server functions was available. Also made sure that I had US encodings for character sets.

Reply to Gregg Levine

amoun avatar

Thanks for the 5.6 update. All is fine including Real VNC :)
Screen lock issue is nice.

Else no obvious change

All the best

Reply to amoun

Jura avatar

Dear at RPi team,
there is nice option to attach RPi4/5/0 by single USB cable w/ Ethernet Gadget. Could this configuration become an option in the Imager?

Reply to Jura

wb greene avatar

Bookworm seems unusable on a Pi3B Lots of lag in the UI and mouse movements. Launching Chromium I thought the system had crashed.
Should not be recommended or offered for lessor hardware!

Reply to wb greene

BB avatar

Google deprecated manifest v2 and introduced v3 in one of the latest versions of Chromium which neutered uBlock Origin from running as before.

Firefox still supports v2 and by extension (no pun intended) uBlock Origin. I use Librewolf (Built on Firefox codebase, which is lighter than Chromium, without Firefox’s telemetrics and with better browser fingerprinting blocking). Works great on my RP5. It’s installable via extrepo (Debian-external repositories). https://librewolf.net/installation/debian/
More on extrepo: https://salsa.debian.org/extrepo-team/extrepo

While not uBlock Origin, the Brave Browser has very good ad blocking, built in TOR client and is built on Chromium. Heavier than Firefox/Librewolf but I use it on my RP5 without issues.

Reply to BB

DerNorbert avatar

Debian 13, also known as “Trixie,” was officially released on August 9, 2025. So, it’s time for another new Raspberry Pi OS…

Reply to DerNorbert

Luis avatar

593 / 5.000
Thank you very much, Simon (to you and the team) for keeping Raspberry PiOS up to date.
I wonder if it would be possible to add the Kstars / Ekos / INDI suite for astronomy to the repositories. The version of Kstars currently in the PiOS repositories is very outdated and useless.
The version in the PiOS repository is 3.6.2, and it hasn’t been updated in a long time.
The current version of the Kstars suite is 3.7.8, and it’s used by thousands of amateur observatories around the world. You can install it on some distributions on PCs, but it’s becoming more difficult on Raspberry Pis.
https://kstars.kde.org/es/download/

Thanks for everything.

Reply to Luis

Sven Hakansson avatar

How do I increase the swap file in the September version of Raspberry PI OS. The file /etc/dphys-swapfile does not exist anymore.

Reply to Sven Hakansson

Replying to amoun
Cancel reply?