Bookworm — the new version of Raspberry Pi OS

It’s an odd-numbered year, so there is a new major Debian release, and we are now releasing the corresponding version of Raspberry Pi OS.

This year’s Debian release is called Bookworm. (As you probably know, Debian releases are named after characters in Disney/Pixar’s Toy Story franchise, but there have now been so many releases that all the characters you might have heard of have already been used. Bookworm was a minor character in Toy Story 3 — and no, I didn’t remember him either…)

So what is new in Bookworm? Well, not a great deal… and yet pretty much everything. Allow me to explain.

Debian Bookworm itself is mostly made up of incremental updates of the software that was in the previous Debian Bullseye release. There are a few small changes — have a look here for the list — but they mostly won’t affect Raspberry Pi users. So Bookworm itself really hasn’t resulted in many changes.

However, for the last year or so we have been working on some major architectural changes to the Raspberry Pi Desktop, and these are launched for the first time in the Bookworm release. And this is where you might notice some differences.

Wayland

The most important of these is the move to using Wayland rather than X11 as the display system.

For the last 35 years or so, most Unix desktop environments, including the Raspberry Pi Desktop, have been based on the X11 window system. But, as is hardly surprising for a piece of software several decades old, X11 has various limitations when used on modern computers. To address these, most Linux distributions are moving to use Wayland; those which have not already done so are planning to do so in the future.

The primary advantage of Wayland is performance. Under X11, there are two separate applications involved in drawing a window. The display server is used to create windows on the screen and to give applications a place to draw their content; the window manager is used to position windows relative to each other and to decorate windows with title bars and frames. Under a Wayland system, these two functions are combined in a single application, called the compositor, so an application only needs to talk to one thing rather than two in order to get its windows drawn.

This also gives a security advantage. Because under X11 all applications were communicating with the display server, and this communication was two-way, all applications could exchange information with each other. Under Wayland, applications are all isolated from each other at the compositor level, so no application can see what another application is doing.

Wayland itself is just a protocol. In order to use it, you need a compositor which supports Wayland. In the previous release of Raspberry Pi OS, we were using the Mutter window manager, which could function as a Wayland compositor. But this turned out to have been a poor choice; it was relatively slow and cumbersome, and was a little out of date, which is why we only offered Wayland support on an experimental basis under Bullseye.

For Bookworm, we are using a compositor called Wayfire. This uses a standard Wayland library called wlroots, which is used by several modern Wayland compositors. And because Wayfire works a lot better as a Wayland compositor on Raspberry Pi than Mutter did, Wayland is now the default mode of operation for the desktop. (With one caveat — for now, Wayland is only the default on Raspberry Pi 4 and 5. The performance of Wayfire on earlier platforms is still being optimised, so for now they will continue to run the old X11 display server and the Openbox window manager, but at some point these platforms will also be switched to Wayfire.)

If you boot Raspberry Pi OS on a Pi 4 or 5, you will now get a Wayfire desktop. It should look pretty much identical to the desktop you are used to from Bullseye, but appearances are deceptive — it has taken a lot of work to get to the point where the two desktop environments look the same!

There is still a taskbar at the top of the screen that allows you to launch applications and see the status of various systems, but this is a totally new application. Under Bullseye, this was an application called lxpanel, but this has now been replaced with wf-panel-pi (short for “wayfire panel for Raspberry Pi”).

This was based on wf-shell, the example panel application from the authors of Wayfire, but we have extensively modified it to look and work like lxpanel. The largest part of this work was to port all the existing lxpanel plugins — the icons which control volume, network, Bluetooth, etc — so that they now all work with wf-panel-pi.

The desktop background itself is still drawn by the old pcmanfm file manager which was used under Bullseye, but this has been modified so that it uses Wayland as its display protocol rather than X11, so is now a native Wayland application.

How individual applications work in a Wayland environment depends on how they are written. The standard graphics toolkits, like GTK and Qt, are now Wayland-compliant — they can detect when an application using them is running in a Wayland environment, and they then route all graphics calls over the Wayland protocol, running as native Wayland applications. Most applications preinstalled as part of the Raspberry Pi Desktop use one of these toolkits, and so now run as Wayland applications.

A few applications use a toolkit which is not Wayland-compliant, or bypass a toolkit completely by making direct calls to X11. While it looks as if these applications wouldn’t work on Wayland, there is a fix for that. Our Wayland implementation includes a piece of software called XWayland — this is an X11 display server which sits on top of Wayland. It handles all the non-graphical parts of X itself, and passes any graphical parts to the underlying Wayland implementation. XWayland is designed to launch automatically as soon as an application requests anything from X, so this should all work seamlessly.

So that’s Wayland. Basically, everything you see on the desktop is now being drawn completely differently from the way it was drawn under Bullseye — but if I have done my job right, you shouldn’t notice any significant differences! One thing you might notice is that Wayland allows us to add some nice eye candy; windows now have subtle shadows, and they open and close with animations rather than just appearing and disappearing.

We’ve also added a couple of new plugins. The “Power” plugin is enabled by default, and monitors for power supply problems like low power supply voltage or excess USB current. If either occur, a notification will be displayed to let you know what has happened, and an icon is then shown on the taskbar — clicking this takes you to a web page with more information on the problem and possible fixes.

The other new plugin is “GPU”, which shows a graph of the load on the Raspberry Pi’s GPU, similar to that which the existing CPU plugin showed for the CPU. This is not enabled by default, but can be added by right-clicking the taskbar and choosing “Add/Remove Plugins”.

As mentioned above, work on Wayland/Wayfire is ongoing — we are still optimising for the hardware of earlier models of Raspberry Pi, and hope to be able to roll out the Wayland desktop experience for all models of Raspberry Pi in due course.

PipeWire

So, we’ve changed what is used to draw all the graphics. To go along with that, we’ve also changed what is used to control the sound.

Originally, the desktop used the Linux ALSA sound interface to communicate with audio hardware. This worked, but was pretty primitive and had numerous limitations. A few years ago, we switched to using the PulseAudio interface, which sits on top of the low-level ALSA layer. This added a lot more flexibility: it made it easier to manage things like Bluetooth audio devices, allowed audio from multiple applications to be mixed together, and allowed audio to easily be switched between outputs while playing.

For this release, PulseAudio has been replaced with the newer PipeWire audio system. This builds on the features offered by PulseAudio, most importantly in providing better support for audio accompanying video. It reduces latency, which is important in many applications. It manages Bluetooth audio devices better, remembering which ones were in use at power-down, and automatically reconnecting them at boot. Finally, it is designed to operate better in the more secure Wayland environment, where applications are isolated from each other.

From a user point of view, PipeWire can be controlled with any application which controls PulseAudio, so the volume and microphone controls on the taskbar work exactly as they did under PulseAudio, but under Bookworm, they are talking to PipeWire rather than PulseAudio.

Networking

Graphics and sound are both new then — what else?

During Bullseye, we rolled out the use of the NetworkManager network controller as an option which could be selected in raspi-config. This is now the standard control mechanism for networking in most Linux distributions, and is now the default network controller for Bookworm, replacing the previous system, dhcpcd. NetworkManager does everything dhcpcd did, but adds a bunch of extra functionality, including the ability to connect to hidden wireless networks, to connect to virtual private networks (VPNs), and to use a Raspberry Pi as a wireless hotspot. It also includes a lot more customisation options for those who wish to fiddle with the nitty-gritty of their network connection.

The networking plugin on the taskbar looks almost identical to that which controlled dhcpcd in Bullseye, but now has an “Advanced Options” item at the bottom — this allows you to access the new functionality offered by NetworkManager.

Firefox

One other significant change is that we are now offering a second browser option, with the launch of a Raspberry Pi-optimised version of Mozilla Firefox.

This is the first time we’ve officially supported Firefox — previously, the only version available was an old version from Debian, whereas we’ve now done a lot of work to ensure the best possible experience when running the latest version of Firefox on Raspberry Pi. We’ve worked closely with Mozilla and the Firefox community, and we’re contributing our work upstream to benefit Firefox users on all platforms.

One key feature has been enabling V4L2 codec support so that Firefox can utilise the hardware h.264 decoder on Raspberry Pi. On older models of Raspberry Pi, this significantly improves performance and reduces CPU load when playing back HD video. We’ve enabled support for Widevine DRM, which is used by a number of video streaming services, and have contributed graphical optimisations that improve performance on a range of websites on low-power devices. For video calling we’ve made sure that Firefox on Raspberry Pi OS works out of the box with CSI cameras (using libcamera) and desktop sharing on Wayland.

Documentation

As you’d expect from such sweeping changes, there were huge knock-on effects to our documentation, and the documentation team has been working away behind the scenes making sure that it reflects the new state of the world. This is true especially around things l haven’t even had space to mention here, like the changes to how Python modules are installed.

It’s been a huge effort, with a lot of changes across the entire documentation stack, so if you do stumble across a place where the documentation hasn’t been updated for Bookworm, please raise an issue on the documentation repo!

What’s missing?

With any change as significant as this, it can be difficult to make sure that everything from the old version still works under the new one, and while we have tried very hard to keep such things to a minimum, there are a few features which we haven’t been able to get into this release.

  • Compensation for displays which use overscan is tricky under Wayland, and we haven’t quite got it working yet, so this has been removed for now. The vast majority of displays nowadays don’t need it, but we will be putting it back when we have worked out how best to do it!
  • The system tray — the area on the taskbar where applications can put their own icons — has to use a completely new mechanism to work with Wayland’s security model. This means that some applications may need to be updated in order for their icons to appear there.
  • Similarly, the Wayland security model prevents traditional remote desktop access, and so a new VNC server, called wayvnc, is being used instead of RealVNC. This is a bit more restrictive in terms of the client applications which can connect to it — we have had good results with the TigerVNC client, available here.
  • There is also currently a regression with the RealVNC server itself, which is still used in Bookworm on older Raspberry Pi models which don’t yet run Wayland. The 64-bit version works fine, but the 32-bit version is not currently compatible with Bookworm — we are waiting for an update from RealVNC. In the meantime, if you do need remote desktop access on a Raspberry Pi Zero, 1, 2, or 3, we recommend sticking with Bullseye for the time being.

A few programs have been removed from Recommended Software and the full image:

  • The SenseHAT Emulator is not at present compatible with Bookworm — this is being worked on now, and we hope to have it back in a few weeks’ time.
  • The Magnifier accessibility tool doesn’t work with Wayfire, but Wayfire already has its own (better) magnifier built in — just hit ctrl-alt-M to turn it on and off.
  • The BlueJ and Greenfoot Java IDEs are incompatible with Wayland, and Sonic Pi is incompatible with PipeWire — these are third-party programs, so have been removed until their developers have updated them.

Just in case…

All these changes are designed to bring Raspberry Pi OS more into line with what other Linux distributions are doing — many are making, or have already made, the switch to Wayland, PipeWire and NetworkManager. This, then, gives us a good platform for future development, with the reassurance that our desktop is sitting on the same underlying components as most of the rest of the desktop Linux ecosystem.

While we have been using Wayland and PipeWire internally for nearly a year now, the sheer scale of the changes means that, in some specific usage scenarios, one or the other may cause problems. For this reason, the Advanced Settings menu in raspi-config includes options to re-enable the old X11/Openbox display system and PulseAudio. You shouldn’t need to use these, but the option is there just in case!

How to get it

We have always said that for a major version upgrade, you should re-image your SD card and start again with a clean image. In the past, we have suggested procedures for updating an existing image to the new version, but always with the caveat that we do not recommend it, and you do this at your own risk.

This time, because the changes to the underlying architecture are so significant, we are not suggesting any procedure for upgrading a Bullseye image to Bookworm; any attempt to do this will almost certainly end up with a non-booting desktop and data loss. The only way to get Bookworm is either to create an SD card using Raspberry Pi Imager, or to download and flash a Bookworm image from here with your tool of choice.

237 comments
Jump to the comment form

Supra avatar

I have Bullseye. But how do I updated to Bookworm?
Do I have to refresh new image?

Reply to Supra

dom avatar

Did you read last paragraph of blog post?

Reply to dom

Ashley Whittaker avatar
Supra avatar

Yes. I got it working.

Reply to Supra

Dirk Heinrichs avatar

No, you don’t. This is still Debian, after all. Just follow the instructions for updating Debian from Bullseye to Bookworm.

Reply to Dirk Heinrichs

bensimmo avatar

Well done in getting it working.
Going to be fun unleashing it on the group at college Given we tried today and had problems downloading in PiImager, but we know why now.
Which was sort of a blessing as our instructions wouldn’t have worked :lol:
It does cut out a lot of the patching we had to do to get it to work (newer php etc)

Reply to bensimmo

Peter Barlow avatar

Which version of Python is installed by default?

Reply to Peter Barlow

Simon Long avatar
Supra avatar

Why not Python 3.12.0rc3?

Reply to Supra

Simon Long avatar

Because that isn’t the version which is released as part of Bookworm.

Reply to Simon Long

Alastair Stevens avatar

The package base will be the same as Debian 12, so they are on 3.11 for this cycle. There will be other ways to install Python 3.12 on the system if you really need it, but that’s doubtless a separate tutorial!

Reply to Alastair Stevens

Jeff Geerling avatar

If you like to use the system Python for certain things like Ansible, and are confident in your ability to not break Python, you can get around the new nag in Python 3.11 that Bookworm ships with and still install pip3 packages with system Python instead of managing virtual environments: https://www.jeffgeerling.com/blog/2023/how-solve-error-externally-managed-environment-when-installing-pip3

Note that some tools, like the pycoral library for using the Coral TPU, aren’t yet compatible with Python 3.11 and are hard to manage in a virtual environment. I’ve used Docker to encapsulate the Coral Python libraries more easily under Bookworm.

Reply to Jeff Geerling

Peter Barlow avatar

I’ll probably install either 3.11.6 or 3.12 in a venv, I think that gets around the externally managed environment feature

Reply to Peter Barlow

Kaya avatar

This is “How to temporarily bypass” not “How to solve”.
Modifying files under /usr/lib/ means they’ll get overwritten with the next update. Better to just adapt to the new ways, they were adopted for a reason.

Reply to Kaya

Jeff Geerling avatar

I’m happy with the old ways, I don’t like treating Python like something different than every other programming language I use—I don’t have to learn how to manage virtual environments for PHP, Java, Ruby, etc., I just use containers if I want to run multiple versions or have special requirements.

Most of the stuff I install via pip is system-wide like ansible, so I’m happy managing the dependencies myself. It’s a tradeoff trying to work in venvs vs system-wide, and I’d rather choose the simpler path.

Reply to Jeff Geerling

Sam avatar

I’m not sure where you work, but I certainly need to manage multiple versions of Java (using jenv and sdkman) and Ruby (using rbenv). This is very standard practice for any software company that has enough applications running under different SDK versions that you need to switch between them seamlessly.

Reply to Sam

Tom Simonsen avatar

I find using venv a pain in the behind, but pienv is much nicer to work with. I use java and node.js at work, and I think that using pipenv is python way of working with maven or npm.

Reply to Tom Simonsen

fixjunk avatar

@jeff, I just recently learned about pipx https://pypa.github.io/pipx/
which is a neat way to get around the whole venv situation but still have isolated environments. I ran into it when installing the backup tool borgmatic. There are some hiccups with super user but once addressed, it all just works like any other command line executable.

Reply to fixjunk

Peter Barlow avatar

This way they install under /usr/local/bin etc, so I don’t understand your comments

Reply to Peter Barlow

Kaya avatar

I’m referring to the tip linked in the comment I replied to, which suggests deleting a file to bypass the new restriction.

Reply to Kaya

Alasdair Allan avatar

To try and minimise confusion, we’ve customised the error message you get when you use pip the “normal” way, and it points you at https://rptl.io/venv which should hopefully help folks out that are confused about what’s going on.

Reply to Alasdair Allan

Supra avatar

@Jeff Geerling. Can I installed Python 3.12.0rc3?

Reply to Supra

luiz avatar

My biggest issue with the Chromium port is that it cannot keep up with upstream and its security updates, thus leaving Raspberry Pi OS users open to major security vulnerabilities.

For that reason I’ve been using the firefox-esr package from Debian. Although older, it is still an extended support release, which means no major security holes.

Will the new Firefox port follow the same strategy used in the Chromium port – a set o patches applied to upstream – or will it come from upstream directly?

Reply to luiz

Gordon Hollingworth avatar

The advantage of Firefox is that the upstream maintainers are actually interested in our patches so we don’t have to keep doing everything downstream!

In general, we’ve been able to release packages the same day as they’ve been released by Firefox.

Reply to Gordon Hollingworth

James W Williams avatar

In the 64-bit version, are the userland binaries still 32-bit or is it a full 64-bit OS now?

Reply to James W Williams

James Hughes avatar

Full 64 bit.

Reply to James Hughes

MW avatar

The 64bit Bullseye release was always 64bit kernel and userland and based of Debain.

The 32bit Bullseye release was always 32bit userland and a choice of either 32bit or 64bit kernel, and defaulted to 64bit kernel on models with ARMv8 SoC, and based of Raspbian.

Reply to MW

James W Williams avatar

Thanks for clarifying. I somehow missed that Bullseye 64-bit was a full kernel+userland 64-bit system.

Reply to James W Williams

MW avatar

Under the impression that the Raspberry Pi 5 only supported 64bit Raspberry Pi OS ??

Reply to MW

A Stevens avatar

I don’t recall seeing any mention of that! But I can’t see why, since the chip is still an ARMv8, which will support both 64-bit and 32-bit. I’ll have to wait for my Pi5 arrival to confirm, but I’m sure the experts can give you a definitive answer :)

Reply to A Stevens

PhilE avatar

It’s not a matter of can’t, but rather won’t (although the A76’s can’t run a 32-bit kernel) – you won’t get the best out of Pi 5 on a 32-bit OS.

Reply to PhilE

dom avatar

Pi5 can only run a 64-bit kernel. It can run a 32-bit or 64-bit OS from that kernel.

Reply to dom

Alasdair Allan avatar

Nope. Raspberry Pi 5 will happily run the OS with a 32-bit userland. But you’ll miss out on 16KB pagesize’ing, so things will run slower. We’d certainly recommend folks install “full fat” 64-bit Raspberry Pi OS on when they get their hands on a Pi 5.

Reply to Alasdair Allan

Alastair Stevens avatar

Thanks – that’s useful to know. I’ll stick with 32-bit on my collection Pi 4’s (they are all 2GB/4GB), and I’ll grab the 64-bit version ready for the Pi 5, on order!

Reply to Alastair Stevens

Chivar Pilones avatar

i just installed latest release from rpi-imager.. having problem with vnc server via raspi-config

Reply to Chivar Pilones

Simon Long avatar

Did you read the bit about RealVNC server not working at present on 32-bit images?

Reply to Simon Long

Chivar Pilones avatar

uh i missed that
” 64-bit version works fine”

Reply to Chivar Pilones

Pavel Grund avatar

Are there any plans to make RealVNC work? Sadly it is a little dealbreaker for me, as I use it a lot, on multiple computers.

Reply to Pavel Grund

Simon Long avatar

RealVNC is not going to support Wayland, but wayvnc should do most of what people require.

RealVNC is currently broken on X for 32-bit installations only – that is being worked on at the moment.

Reply to Simon Long

jambalaya avatar

Regarding “RealVNC is currently broken on X for 32-bit installations only”, I found a workaround. The RealVNC server was complaining about missing “libmmal.so”, and after googling for a fix the workaround was to “sudo rpi-update”, which updated /opt/vc/lib. After a reboot the RealVNC server icon appeared in the taskbar and all appears to be working on a Pi 2b. As others have mentioned this release on Bookworm has gone very smoothly overall – great work.

op00 avatar

Whenever Pi 4 is mentioned, can I assume it applies to the Pi 400 too?

Reply to op00

Simon Long avatar
A Stevens avatar

Exciting times – we’ve certainly been waiting for this! I’ve just done the first test installation on a Pi4 4GB, and it certainly looks great and feels snappier. I’m glad I read the note about the SenseHAT Emulator though; we use this in our Code Club (since we only have one real HAT – mine!), so I may have to hold on the upgrade for a bit. Meanwhile, I’m just waiting for my magic pre-ordered Pi5 to arrive. Thanks for the amazing work on Bookworm, which definitely moves the game forward….

Reply to A Stevens

Javier Goldman avatar

It’s already out? Nice!
any recommendation on a guide for how to backup any changes i have made to apply after updating?

Reply to Javier Goldman

Richard avatar

Why is the 32bit version still the recommended version – is there any reason not to install the 64bit version on an Pi4?

Reply to Richard

Simon Long avatar

Not at all; we recommend the 64 bit version on the higher-powered platforms, and that includes Pi 4.

Reply to Simon Long

Alasdair Allan avatar

In the future we’re going to be a bit more fine-grained about how we recommend an OS version to you, but for now the 32-bit version of Raspberry Pi OS — which actually has a 64-bit kernel and a 32-bit userland — runs on all of our released hardware so it’s the recommended release.

Reply to Alasdair Allan

Gordon Hollingworth avatar

The Imager application doesn’t currently have the ability to ‘recommend an image by destination’. That is being worked on at the moment and will go live soon allowing us (and other image providers) to customise the list based on the device you’re trying to use.

Reply to Gordon Hollingworth

MW avatar

Thank you for this forthcoming long overdue feature, general everyday users should be encourage to use 64bit OS on the BCM2711 / 12 models.

Reply to MW

Karsten Johansson avatar

Does the new Network Manager allow for static IP addressing?

This is important for me, because I use pihole, but my ISP doesn’t allow their customers to use their own DNS if they use DHCP.

Reply to Karsten Johansson

Simon Long avatar

Yes, it does. NetworkManager allows you to do pretty much anything in terms of network configuration!

Reply to Simon Long

Alastair Stevens avatar

Excellent – setting a static IP on the Pi was always a bit clunky before; so I’m glad it will be easier now. Of course, I’ve now spent time trying to understand netplan on Ubuntu, who also like to go their own way on these things, and deviate quite far from Debian. So there’s still plenty of scope for confusion in a mixed environment! But that’s not Debian or RPi’s fault :)

Reply to Alastair Stevens

Sreejith S avatar

Is it recommended for Pi Zero 2 W ?
Will it help anyway the Pi Zero 2W in using the web-browsers ?

Reply to Sreejith S

Simon Long avatar

Zero 2 W doesn’t really have enough power for a good experience with web browsers – Bookworm is unlikely to make this better over previous versions of the OS.

Reply to Simon Long

Trunks avatar

I’ve installed the 64bit version onto a 4GB raspberry Pi4B. I read the notice about VNC server which is a major pain as I mainly use this method to connect to my pis. I can get it working with TigerVNC by turning on the vnc option under raspberry pi configuration, however as soon as I disconnect HDMI this setting turns off and my vnc disconnects. With Bullseye you could run WNV headless, but with Bookworm something is buggy in terms of keeping the setting alive if you disconnect HDMI.

Reply to Trunks

Trunks avatar

Typo, it’s meant to say “with Bullseye you could run VNC headless”

Reply to Trunks

Trunks avatar

Worked around the issue by switching my pi4 to using x11 instead if weyland in raspi-config. It was only way to get VNC working headless for me.

Reply to Trunks

Steven avatar

Is there a plan / timescale to update the Raspberry Pi Desktop (i.e. the one that runs on PCs) to Bookworm? I realise the push is to support the new RPI5’s but we are still rocking RPI3’s at our code club (due to supply + funds) and have just been given some old laptops: I’d hold off setting them up with Bullseye if a newer update is forthcoming.

Reply to Steven

Simon Long avatar

Yes, we do plan to do it, but I don’t have a timescale as yet, I’m afraid.

Reply to Simon Long

Anton avatar

Please, are there any plans for omxplayer to work again or to have a replacement for it? For me, it was really useful that one could control a video player via Python, omxplayer was working just fine and it was simple and lightweight. (Sadly for me, VLC quite different kind of beast.)

Reply to Anton

James Hughes avatar

No, the underlying code that OMXPlayer uses is no longer present so it can never work. VLC/gstreamer/V4L2 are the standard Linux applications to replace it.

Reply to James Hughes

Ken Thompson avatar

MPV video player can be controlled by Python much better than VLC can. It can also display borderless windows. At least it could on Bullseye, hopefully Bookworm will not break embedded video again

Reply to Ken Thompson

Anton avatar

And thank you for the hard work!
PS: The download links for “Raspberry Pi OS (64-bit)” [1] have some weird query string in them, such as “?gl=_1*…”, perhaps you copy-pasted there something.
[1 ]https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit

Reply to Anton

luiz avatar

What about rounded corners? Shadows without them look weird.

Reply to luiz

Simon Long avatar

We deliberately removed rounded corners, because we thought the opposite – that rounded corners with shadows looked more weird…

Reply to Simon Long

Peter Jones avatar

Thanks for the update. Great news. Are you still using LXDE? Is there any chance of something a bit more ‘sexy’? (Especially with the extra power that the Pi5 offers). Thanks

Reply to Peter Jones

Simon Long avatar

As the blog post explains, we are now using a completely different window manager and panel from LXDE. We are still using the pcmanfm file manager.

As for there being more power – people using more power on rather pointless graphical tweaks is why a modern PC running Windows 10 isn’t really any faster to use than one running XP was 20 years ago! We will continue to run a lightweight DE, because it means users get a faster, smoother experience in exchange for the more powerful CPUs – plus bear in mind that backwards-compatibility is important to us, which is why the same OS image can still be booted on an original Pi 1. (And we still have a few nice graphic tweaks anyway, like window shadows and some nice animations…)

Reply to Simon Long

Peter Jones avatar

Thanks Simon,
I appreciate the need for backward compatibility, but visual appearance is important too (I don’t mean pointless gimmicks, but a more modern appealing look). I shall be using Ubuntu (which works great on the Pi4). I do appreciate I’m in the minority though. Thanks again for your work on the continuing development.

Reply to Peter Jones

Zuntz avatar

A pleasant environment helps. In my opinion, the current look is somewhat Spartan. A compromise could be reached between aesthetic improvements and performance. Or at least let the user choose.”

Reply to Zuntz

InterestedIndividual avatar

I’m not advocating you change the DE but just to note that I have been very satisfied running kde on a pi4 with no frustrations. The pi is awesome!

Reply to InterestedIndividual

Marcello Pisanu avatar

So it’s still based on LXDE or would you say it is a completly new desktop environment? In the past you have named your desktop environment Pixel. Is that still the case here? Is there a separate development branch for this and will Pixel also be offered for other distributions in the future?

Reply to Marcello Pisanu

James avatar

I’m going to be trying it soon anyway, but I thought I’d ask – are there any increases in system resource usage with this release? Just thinking of our friends with Pi 3 or 1GB Pi 4’s (or those mad lads running a desktop on 512 MB models..).

Reply to James

Gordon Hollingworth avatar

In total about 10MB extra memory usage, so not bad…

Reply to Gordon Hollingworth

James avatar

Not bad at all. Thanks Gordon, and congrats on getting this out the door.

Reply to James

Gordon Hollingworth avatar

It’s a massive combined effort from the whole software team, plus a lot of testing from the alpha and beta teams all of which have been working hard to get this over the line.
It’s not perfect, but we’ll get there in the end!

Reply to Gordon Hollingworth

Alastair Stevens avatar

Ah, the good old days. Win 95/98 used to run fine on a 64MB machine, and after switching to Linux circa 2002, those early Red Hat desktops were perfectly happy in 256MB. We forget just how horrifically bloated modern desktops are, even the “light” ones. Now, in the office, all our laptops running Ubuntu 22/23x seem to struggle with 8GB, so we now buy 16GB as the minimum! At least hardware is cheap.

Reply to Alastair Stevens

Justin Michael Vieira avatar

Really, really, really poor form to disable an install path, like this, without any forewarning. This will definitely break many existing install scripts, many of which will be part of larger packages, and therefore difficult to debug.

The proper way to do something like this is to announce the intention to do it well ahead of time, so that developers that rely on your system can make the necessary changes (in this case, seemingly to install pipx and have it do its job) instead of doing it without warning and frustrating devs who then have to deal with installer failure reports from customers/end users.

This is a “dev process maturity” thing. I understand the raspberry pi core dev team may not consider themselves “there” yet, where this is necessary, however doing deployments for decades has informed my opinion that this should be standard practice for *any* dev team.

Reply to Justin Michael Vieira

Justin Michael Vieira avatar

In case it wasn’t clear, my comment is specifically about the disabling of installing to the system python installation.

Reply to Justin Michael Vieira

MW avatar

I was under the impression that the issues regards PiP install was a decision made by the Python Developers ?

Reply to MW

Shoe avatar

Yep, if you follow the link in the blog to the relevant docs section it says:
” From Bookworm onwards packages installed via pip must be installed into a Python Virtal Environment using venv. This has been introduced by the Python community not Raspberry Pi, see PEP 668 for more details “

Reply to Shoe

MW avatar

Yes quite so, but Viera appears to be blaming RPL, hence my response, which was over polite.

Reply to MW

Justin Michael Vieira avatar

No; As I stated in my reply to Shoe, PEP 668 provides the *mechanism* to block installs to the system python installation. It is up to the developers discretion whether (and, more relevantly, when) to use it.

Justin Michael Vieira avatar

Sure, many will say “this is now the recommended behavior”, which is true according to PEP 668.

However, PEP 668 also clearly says that it’s recommended *unless there is a reason not to adopt* these recommendations. In my experience, giving at least *some* forward notice that existing scripts will be broken, and you know about it, is *always* a good reason to delay adoption of this type of (optional, at your discretion) recommendation.

Justin Michael Vieira avatar

That’s absolutely not true. PEP 668 provides the *mechanism* to block install to system Python. It is at the developers descretion, whether or not to use it.

Reply to Justin Michael Vieira

Alasdair Allan avatar

Raspberry Pi OS is based on Debian upstream. Debian implemented this in their release, we have followed suit.

Supra avatar

How do I get 12 hrs mode instead 24 hr mode?

Reply to Supra

DistroEx avatar

Right-click on the clock, Configure Plugin…
Change the %H to %I

Reply to DistroEx

Supra avatar

@DistroEx
It worked. Thank u very much.

Reply to Supra

Stavros avatar

Guys nooo not sense hat emulator… A FEW WEEKS?! Just release a new package with my PR fix in there….

Reply to Stavros

Supra avatar

One last question. Does it shipped with OpenCV 4.8.0.xx?

Reply to Supra

Vaticinator avatar

No, you need to install it manually from apt or pip.

Reply to Vaticinator

Austin Prunty avatar

This is exciting for desktop users. Moving to networkmanager exclusively was a good move, I’ve had to use my Pi4 as a hotspot a lot when I lived at college.

Reply to Austin Prunty

v avatar

Configuring wifi for a headless/hands-off installation by dropping wpa_supplicant.conf into the boot partition before firstboot no longer works. This has been around since at least 2016. What is the new mechanism ?

Secondly – there needs to be some kind of ‘breaking changes’ document mentioning things that we can easily download from the image directory rather than battling through blogs and continuously changing online docs. Stick a simple txt file with the images please. This one certainly should have been mentioned prominently.

Reply to v

Eugene Crosser avatar

One of my pi’s is a zero w hot-glued in an audiospeaker box at my bed side, acting as an alarm clock and internet radio.
Another is a 4 that lives in a datacentre of a “pi hosting” provider in a different country from where I live.
I feel compelled to say that this:
> The only way to get Bookworm is either to create an SD card
does not go too well with me…

Reply to Eugene Crosser

Simon Long avatar

It is unavoidable. The architectural changes we have made – basically the entire desktop backend is new – are so significant that an upgrade is extremely unlikely to work. The alternative would have been to stick with X11, PulseAudio and dhcpcd for ever – progress usually has a cost.

If flashing a new image is that impractical, then just stick with bullseye. Upgrades aren’t compulsory, and we maintain security patches for legacy versions anyway. It doesn’t sound as if a new desktop environment is really going to be that useful for your alarm clock…

Reply to Simon Long

v avatar

I might add that I tried rpi-imager from an ubuntu box and it failed several times with network timeouts and ssl errors.

Downloading the image manually to a Mac mini, decompressing it, and using BalenaEtcher did burn the SD ok, but of course the wpa_supplicant.conf feature is not present any more so I couldn’t do a hands-off autoconfiguration. Fortunately I had a keyboard/monitor and HDMI dongle to use to manually set it up (ugh).

Reply to v

Eugene Crosser avatar

OK, live-upgrade of a headless system on _wired Ethernet_ connection is relatively straightforward. All you need to do before the usual procedure is add a line to /etc/fstab to bind-mount /boot on /boot/firmware. (Yes, it is possible to bind-mount a directory inside itself, and the world does not end in infinite recursion.) After successful upgrade and reboot you can change the line that mounts the vfat partition to /boot/firmware and remove the bind-mount line.

Situation is worse if the system is connected over wifi. NetworkManager runs wpa_supplicant with configuration file that it constructs from its own configuration, the the previous wpa_supplicant config is not taken into effect. The worst part is that wpa_supplicant is restarted during upgrade, there is not even a time window to update the configuration before reboot. It _may_ be possible to pre-construct configuration for network manager and put it in place _before_ running upgrade, but I did not, and had then had to unscrew my alarm clock and connect keyboard and monitor…

Reply to Eugene Crosser

Joe avatar

Does it have the XFCE4 DE in the apt repositories? That’s my favorite DE.

Reply to Joe

Simon Long avatar

RPiOS is Debian. If XFCE is in the Debian repos, then yes, it will be available in RPiOS.

Although that then makes me wonder why we actually bother improving our own DE if the first thing you want to do is replace it anyway…

Reply to Simon Long

Joe avatar

Wait, the new Wayland improvements don’t work with just any old DE? Oh well, I’ll manage. Thanks! (I do like the new tweaks.)

Reply to Joe

Simon Long avatar

No, the Wayland changes are all built into the compositing window manager, so if your chosen DE does not use a Wayland-compatible WM, you won’t get Wayland on it.

Reply to Simon Long

John avatar

Huh? Why? That’s easy: because you guys are awesome. That’s why. Same reason I laugh when I see another “Raspberry Pi killer” headline. Might be faster. Might have cool feature X. It won’t have the tremendous community developed and nurtured by everyone working for the common goal to make programming and education more accessible. Someone wants to run another DE? Great. They can. I had a Commodore vic-20 and a 64. Loved it because the UI made it simple to use. That’s you now. You make the pi simple to use so the new generation of me-s can pick up a pi and just use it. And that is just cool. I should be so lucky to work for such a great cause. Seriously. I am jealous.

Reply to John

Pete Cockerell avatar
Anders avatar

Pete Cockerell!!!

You still in Mountain View??

Lorem avatar

The work you constantly perform on the Raspberry Pi OS software is always highly appreciated by the community. I was eagerly awaiting this update and was very curious to discover its evolution. You are making LXDE, a very light desktop environment, also appreciable from a graphic and functional point of view by updating it to today’s times.

Reply to Lorem

Paul avatar

Regarding XFCE4, I installed it on Bookworm yesterday – however the current version (4.18) isn’t fully compatible with wayland so your’e probably best to revert to using X11 until there’s a 100% wayland version available (4.20 I believe).

Reply to Paul

Joe avatar

Also, did you say WideVine is working on 64-bit? That’s great! It’s the only thing keeping me on 32-bit right now.

Reply to Joe

MW avatar
mlazzlo avatar

Where did you see widevine 64 bits was supported ?

Reply to mlazzlo

mlazzlo avatar

I confirm widevine 64 bits works.
Especially on Kodi

Reply to mlazzlo

max avatar

Does this work better with the official 7″ touchscreen?

Reply to max

glabifrons avatar

I’m wondering if it works with *any* touchscreen.
I’ve one or two 5″, several 4.3″, and many 3.5″ touchscreens from many manufacturers, and they’re always a pain to set up (each driver chip has its own weird quirks with its own opaque overlay file), especially since ~90% of the documentation refers to a deprecated configuration method from a very long time ago (at least two major OS versions back, long before they changed the name from Raspbian). Now even that remaining ~10% is outdated.
It looks like the KlipperScreen devs are working on adding Wayland support (I see a commit from the end of August that references it… “do not run xset, wayland needs another solution”).

Reply to glabifrons

Laurent avatar

Congratulations for this great upgrade!
You brought me back in 2013 with your first Wayland demo: https://www.raspberrypi.com/news/wayland-preview/
(unfortunately the video is no more available)

Reply to Laurent

Gustafla avatar

Wow, “The HVS is a very powerful piece of hardware, with a scaling throughput of 500 megapixels per second and blending throughput of 1 gigapixel per second. It runs independently of the OpenGL ES hardware, so we can continue to render 3d graphics at the full, very fast rate, even while compositing.”

I remember this. Really wish that would have worked out back then! Running Wayland compositors on the VideoCore GPU via OpenGL on the Pi 4 takes so much GPU resources away from the applications, it’s not very usable for me. I hope the Pi 5 is a smoother experience.

Reply to Gustafla

Laundry Day avatar

H264 hardware decoding never worked properly for me on Bullseye VLC – only H265 did. Any news on this issue with Bookworm VLC? The Debian knowledge base states that VA-API on VLC is disabled.
I run Pi4Bs as standalone video loopers and have to rely on Buster / OMXPlayer for H264 1080p files.

Reply to Laundry Day

Laundry Day avatar

Just installed a fresh Bookworm 64-bit image to test out VLC. A 4K 30fps HEVC video hits 90% GPU usage on Task Manager and plays buttery smooth (Bookworm VLC, both windowed and full screen, Pi 4B 8GB). A 1080p 30fps H264 version of that same video hits 61% GPU usage and stutters badly on playback. Both files play back fine on Windows VLC.

Reply to Laundry Day

Elwood Downey avatar

fresh install of default 32 bit version on pi4 very fast HP SSD on USB3. Crashes often and super slow. Started firefox, takes 1-2 seconds to echo each character typed in the search bar. Warning: Not ready for prime time yet.

Reply to Elwood Downey

MW avatar

Why are not running a clean install of the 64bit ARM64 release based of Debian Bookworm ??

Reply to MW

Elwood Downey avatar

Update: top showed I was using all of memory. Added 10 GB swapfile and now at least the system is useable. So this release is using MUCH more memory than bullseye.

Reply to Elwood Downey

Alasdair Allan avatar

There is in total about 10MB extra memory usage. That’s it.

Reply to Alasdair Allan

Linn Crowser avatar

When I run sudo pcmanfm in a terminal I get Segmentation fault. On all previous versions this worked I tried sudo mousepad and it worked

Reply to Linn Crowser

Simon Long avatar

Running the file manager as sudo isn’t supported under Wayland. In general, running any graphical application as root is very heavily discouraged under Wayland, as it has the potential to break Wayland’s security model.

Reply to Simon Long

Mastiff avatar

It doesn’t work under X11 either, I just found out that my Pi 3B+ that I tried to set up with Bookworm had a memory segment error when running pcmanfm sudo. And I don’t give a flying rat’s ass about security, all my Pi’s are behind pfSense firewalls with very restrictive setting, the only way to get to them is via the ports reserved for Home Assistant (which are of course non standard ports). Does this mean that there’s no way to use a real file manager sudo?

Reply to Mastiff

Ian avatar

Not being able to handle overscan is going to affect a LOT of people using TVs as their display, isn’t it?

Reply to Ian

Simon Long avatar

Mostly it will only affect people using very old TVs. Overscan was a concept from the days of CRTs. Some early LCD TVs used it just to maintain compatibility with CRTs, but it has died out almost completely – I don’t think a TV from a reputable manufacturer in the last decade will require overscan compensation.

Reply to Simon Long

Michael Kofler avatar

Mathematica on Pi 5 requires a licence key to activiate. Is this expected? (On Pi 400, it works without.)

Reply to Michael Kofler

Simon Long avatar

Yes, we’re waiting for an update for that from Wolfram.

Reply to Simon Long

Stuart avatar

There is no mention of headless release. As this does not contain the major desktop changes then is upgrade a reasonable risk? It’s no problem on amd64 servers so the future of continuing to use RPi arm64 servers does depend on the answer. Upgradeability is a core Debian feature.

Reply to Stuart

MW avatar

It would appear that the download page does have LITE images:
https://www.raspberrypi.com/software/operating-systems

Reply to MW

Stuart avatar

Yes – but that was not the question. Can you update to this release from 64 bit Bullseye Lite? Re-imaging is not an option in my case.

Reply to Stuart

Simon Long avatar

We’ve never tried it.

In theory, because the lite image does not have any of the desktop components, this ought to be a straightforward Debian version upgrade, so ought to work fine; you do not have any of the major architectural changes described in this post. But you do it at your own risk – as above, it isn’t something we have tried, so I cannot give you a definitive answer.

The lite image does, I believe, use NetworkManager, but it was possible to switch to that in raspi-config in the bullseye release – that is probably worth trying before you do anything else!

Reply to Simon Long

Stuart avatar

Thank you for your helpful reply. Network Manager is not offered as an option on the servers I updated from Buster but is present on those installed at Bullseye. So I guess I will have to install network manager on the former. Also I do use RPI Lite installations with added KDE desktop – works quite well. So I guess the same provisos apply there. I think I’ll wait for a braver person to experiment. But feasibility is a great step forward.

Alasdair Allan avatar

There are other major changes beyond Wayland, for instance, the move to Network Manager. I really wouldn’t recommend trying an upgrade in place.

Reply to Alasdair Allan

David Earl avatar

As an experiment (and because it would mean lots of downtime if I had to start over – especially on Mythic Beasts’ Pi servers, of which I run several) I tried an upgrade on a system installed relatively recently from lite bullseye, a Pi4 4GB server which primarily runs Apache, PHP FPM, Elasticsearch, Exim4, Samba, and uses nftables and ethernet (not WiFi). I’d already done a very similar VirtualBox Intel upgrade, so I was confident about all the non-platform-related issues.

Everything went very smoothly, no problems reported with the upgrade, and as far as I can tell everything is working as expected.

Milliways avatar

It is possibly to update Lite. I did some months ago to test my code but then I used a fresh Bullseye as base. I really don’t understand the reluctance to do a fresh install. Even on a full desktop installation it only takes a couple of hours at most to fully configure – and then you don’t need to debug any problems with incompatible apps.

Reply to Milliways

JumpZero avatar

Waouhhhh.
Nice. so many changes, I’m going to try that today on my 400.
How long Bullseye will be maintain (my home NAS runs it, and updating to Bookworm doesn’t seem to be an option)?
Thanks for that update

Reply to JumpZero

MW avatar

Raspberry Pi OS Legacy is supported for approx 2 years, https://www.raspberrypi.com/software/operating-systems

Reply to MW

MW avatar

Legacy is the previous release supported until the next Raspberry Pi OS release. Therefore when Trixie is released in 2025, Bookworm will become Legacy.

Reply to MW

JumpZero avatar

OK Thanks,
So I have 2 years to move my Bullseye lite server to Bookworm. Should be ok

Reply to JumpZero

MW avatar

Whilst I appreciate this question has been partially answered in various posts, can it be confirmed that Raspberry Pi 5 only supports a 64bit kernel, but userland can be either 32bit or 64bit ?

Reply to MW

Gordon Hollingworth avatar

That’s correct, the A76 processor will only support 32bit instructions in unprivileged execution levels. So the kernel has to be 64bit, but userland can be either…

Reply to Gordon Hollingworth

Codrut avatar

Kodi 20 audio passthrough mode will not work with Pipewire (at first Pulseaudio will be detected as output, allowing some settings, but after Kodi restarts, Pipewire will be detected as output – some service start delay, probably – and no more passthrough!). Also, video acceleration works (using drm_prime), but no HDR (worked in bullseye/kodi19); in Bullseye VLC both acceleration and HDR worked with drm output module (with inherent fullscreen menu problems), in Bookworm not.

Reply to Codrut

Caldimerda avatar

On Bookworm 64-bit, the wayvnc process appears to terminate when the screen is removed (in this case via an HDMI switch) . If the pi boots without a screen then wayvnc stays running.

Reply to Caldimerda

Caldimerda avatar

Aha. The solution seems to be to identify your HDMI screen resolution, set the headless resolution to be the same and then wayvnc continues to run whether there is an attached screen or not.

Reply to Caldimerda

Duane Moody avatar

Since dist-upgrade isn’t recommended and reimagining is preferred, what’s the best strategy for migrating applications, libraries, configurations and data? In my case the Pi 4 is a webserver with its own no-ip address and SSL cert (with our home router doing the necessary port forwarding), fileserver, SMB config, VNC (yes, I read that 32-bit isn’t working right now), etc. and any number of libraries/scripts I’ve added over the years.

Is there a step by step blog/forum post outlining the procedure? Assume I have a separate SD card for installing Bookworm. And would this be the same procedure for migrating from 32-bit to 64-bit?

What’s replaced LXDE?

Again, thanks for the news.

Reply to Duane Moody

Simon Long avatar

“Since dist-upgrade isn’t recommended and reimagining is preferred, what’s the best strategy for migrating applications, libraries, configurations and data?”

There’s no way we can offer any but the very vaguest advice on that – we have millions of users, and they will all have done different things to their systems. In general, use apt to reinstall any applications on the new system, and then copy your home directory across.

“What’s replaced LXDE?”

LXDE is an assembly of various components, the main ones being the openbox window manager, the lxpanel panel and the pcmanfm file manager and desktop. Openbox has been replaced with wayfire; lxpanel has been replaced with wf-panel-pi, and pcmanfm is still used, but modified to work with a Wayland backend.

Reply to Simon Long

Duane Moody avatar

One of the things I wouldn’t mind seeing in package managers like apt is a datestamped log of my activities where each line mentioning an installed/uninstalled/updated/etc. package has a greppable flag indicating whether it was a user-specified package or a dependency. I assume all the graphical PM frontends found in debian-based distros are just GUIs for apt, so using them would in theory also trigger this logging behavior. Following *nix log conventions, the log would be split and gzipped over time to save space but retained. This would allow forensics when something goes sideways, but also be usable to reconstruct an install on another system where imaging isn’t prudent or possible.

Reply to Duane Moody

Steve avatar

I like this idea of a datestamped / timestamped log of installed packages. Though there are also manual changes made to config files and probably content and other things downloaded and placed in various folders either in the user home folder or other places. Since Linux can be installed and configured in so many ways even in one distro like Raspberry Pi OS, it would be really hard to make something that doesn’t miss anything.

A idea that might be a bit over the top and probably not great in other ways. Have another local server as a local only custom APT repository and built anything you want to configure or install on a system into a package that can be installed that way. This is assuming a log could be created for apt installed packages. Though it adds some overhead to systems.

Something I really want to get into and I am sure a Pi5 will be fine for a few is containers on something like Docker. Then the Dockerfiles become the instructions for a rebuild and only a minimal install and copying of data folders might be needed on the physical Pi.

Reply to Steve

Jon avatar

Has Buster (for OMXPlayer hardware assisted H264 decoding) gone? I can no longer find it in https://www.raspberrypi.com/software/operating-system (or have I just missed it somehow)?

Reply to Jon

MW avatar

OMXPlayer is totally obsoleted..

Reply to MW

Jon avatar

Yes OMXPlayer is obsolete, but it permits a Pi Zero to play 1080p H264 videos without problems. Perfect for a video looper: https://learn.adafruit.com/raspberry-pi-video-looper/omxplayer

Reply to Jon

Laundry Day avatar

Yes, I’m still waiting for some sort of reply to a query about problematic VLC H264 playback on Bullseye and Bookworm. I’m also relying on Buster / OMXPlayer Video Looper and waiting for an updated version or alternative for these newer OS versions.

Reply to Laundry Day

tovli avatar

Where can folks get the former (Buster) Legacy 32-bit PiOS?

Reply to tovli

MW avatar

https://www.raspberrypi.com/software/operating-systems under the required variant click on the Archive link

Reply to MW

MW avatar
Jon avatar

This may be unofficial – but looking at the URLs on the download page implies it (buster) may be still hanging around:
See: https://downloads.raspberrypi.com/raspios_oldstable_armhf/images/raspios_oldstable_armhf-2023-05-03/

Reply to Jon

MW avatar

The web site I linked to has an archive of all released Operating Systems from the very beginning, though anything older than Debain Bullseye / Raspbian Bullseye based is no longer updated or supported.

Reply to MW

Rudi avatar

Nice!!! Want to autohide the taskbar like in Bullseye?
cat >> /home/$USER/.config/wf-panel-pi.ini << EOL
# automatically hide when pointer isn't over the panel
autohide=true
# The minimal size of the panel. Note that some widgets might force panel bigger than this size.
# All widgets also have individual settings for size
# Changing this requires a panel restart
minimal_height=45
# time in milliseconds to wait before hiding
autohide_duration=300
EOL

Reply to Rudi

Simon Long avatar

I wouldn’t necessarily assume that everything in the original wf-shell panel settings still works in ours! Autohide probably will, but we do not have individual size settings for widgets, for example.

Reply to Simon Long

Dean Oakley avatar

Hi thanks for the new Bookworm info and this Blog. This is my first transition to a new version. I’ll image Bookworm on a fresh SanDisk of my Pi 4 4GB. However, I have a lot of Packages installed on my current version of buster. Is there a best practice for installing all the Packages that are on buster to Bookworm? Also, will use this best practice for my new Pi 5 when it arrives. Thanks for the help in advance. I’m still learning…

Reply to Dean Oakley

Radek avatar

I love Raspberry Pi, ARM and Linux. I tested it briefly with the new Raspbian Bookworm. In WAYLAND mode, I am missing the ability to right-click on the title of the window to equip the menu. This option was also missing in Mutter.
It is not possible to place the panel on the sides of the screen – only on the top and bottom, and it is not possible to adjust it further.
Is it possible that in the future these functionalities would be added to the desktop environment?
For now I’m using Bullseye with LXQT GUI. But I’d rather use Raspbian’s native GUI.

Reply to Radek

Ferrillo raffaele avatar

I installed this latest Bookworm version but it happens that on a Pi 3+ it works but only if I remove the SD card otherwise I get a black screen.
On a pi 4 I get a black screen all the time, no matter what. Is it possible to get a little help to solve the problem. Thank you

Reply to Ferrillo raffaele

Matej avatar

Can you also include / work on setting up resolutions for custom display modules? Ones that use odd resolutions like 800×480, 400×320, 1024×600 etc… Setting it up from config.txt was PITA and not always worked…

Reply to Matej

Nikolas avatar

I fully understand that those who are using OS as desktop should stick with the clean installation in order to avoid problems. But what about us who are using the OS headless as server. We should be able to upgrade to bookworm without further implications. As we did with bullseye.

Reply to Nikolas

MW avatar

Network Manager is one such major change in Bookworm…

Reply to MW

Gordon Hollingworth avatar

Probably best to begin by backing up your image, then try and see whether it’s OK… As noted the change from dhcpcd to Network Manager means any network settings may have to be redone, but there’s isn’t a lot that should affect the update otherwise….

Reply to Gordon Hollingworth

Andrew Buckley avatar

The Bookworm was a character in the BBC kids show “Wilo the Wisp” from back in 1981

Reply to Andrew Buckley

Simon Long avatar

Different bookworm!

Reply to Simon Long

Alan avatar

On Bookworm, the Drop-down menu selection only works with 1 of the 2 usual methods. That is Click-Release-Move-Click-Release works, however Click-Hold-Move-Release doesn’t. Wouldn’t think this is an intended change?

Reply to Alan

Simon Long avatar

Sadly, menu handling in Wayland is a bit…unconventional. (For which read “broken”…) In order to get around this, menus largely activate on the release rather than the press, so click-hold will probably not actually open the menu.

As and when Wayland menu handling is fixed, I can probably change this back, but for now, it’s a necessary evil, I am afraid.

Reply to Simon Long

Alan avatar

Hope it gets fixed how it should be with both ways possible. It’s working on some applications though not most others.

Reply to Alan

John Bainbridge avatar

Any chance of a dark theme for those of us who have been staring at screens too long?
The Appearance settings don’t seem to work when I try to set to Adwaita Dark.

Reply to John Bainbridge

Simon Long avatar

Writing a dark theme is a surprisingly large amount of work. At some point, when I have a large chunk of free time, I intend to create one, but I cannot say that I am going to have that amount of free time at any point in the near future…

Reply to Simon Long

John Bainbridge avatar

Where are the colours being set? Can I hack it for the time being?
After a morning of playing around with Bookworm, I had a headache with the default theme. Not criticising your work, it’s an age thing, I can’t take bright displays anymore.

Also wondering if multiple desktops are a casualty of Wayland? I can’t see any way to add them now. Openbox configuration manager doesn’t start.

Reply to John Bainbridge

Simon Long avatar

The themes are all in /usr/share/themes – ours is called PiXflat. Most of the colours you see on the screen are from the GTK 3 theme, which is in /usr/share/themes/PiXflat/gtk-3/ – the files in there are all text and can be hacked about with any editor of your choice.

We have never supported multiple desktops – they happened to be in LXDE, and I never took them out, but we didn’t maintain them. In a world where monitor real-estate is now very cheap, and where we support multiple displays, they are a bit of an anachronism. Mutter never offered them, and wayfire has only just added support for them in a very recent update. Openbox is no longer used under Wayland, so the configuration manager wouldn’t do anything anyway.

Reply to Simon Long

John Bainbridge avatar

Thanks for pointing that out.
It seems that there is already a dark theme defined. Simply changing the contents of /usr/share/themes/PiXflat/gtk-3.0/gtk.css to:
@import url(“gtk-contained-dark.css”);

and then rebooting gets you a usable dark theme.

Dave Joubert avatar

The monitor real-estate situation is not true for those of us that work on laptops or that work with multiple machines at the same time (via VNC). In those situations a desktop pager is really critical. Is there any way that I can follow the progress of the desktop page under Wayfire? Or install it experimentally? Is there any timeline on when (if) the Pi foundation will bring a pager back to us?

Steve avatar

Thank you to everyone involved in getting Raspberry Pi to this and hopefully continues to do really well.

I finally got the standard bookworm image installed on my Pi400 to try it out quickly, very early use but it runs up fine.

I was really pleased to find that wayfire has a way to do window snapping (ctrl+alt+ arrow keys e.g. ctrl+alt+left) that I use all the time stuck on Windows for my day job. That is a feature I have missed for a long time on Raspberry Pi OS and the standard image, at least I’m quite sure it was not there before unless I missed it lol.

Reply to Steve

Simon Long avatar

Nope, the snap to left and right was certainly in there under bullseye – might have been in there before that as well!

Reply to Simon Long

Erik Hill avatar

Have you found a way to do this via the mouse? I notice that there are settings for this for wayfire, but adding them did not seem to activate the feature.

Reply to Erik Hill

Simon avatar

Would I need to stick with x11 to run xrdp or will XWayland handle it?

Reply to Simon

beta-tester avatar

when under wayland things are more resticten than unter x11, is there a screen shot function/application available?

Reply to beta-tester

Simon Long avatar

Yes, the grim screenshot tool is already installed and linked to the PrintScreen key – press that and a screenshot will appear in your Pictures directory.

Reply to Simon Long

BC avatar

Rpi OS x64 Bookwork Desktop does not work on my pi4 with 8GB ram…. When i use rpi Imager and put a ssh file and wp_supplicant.conf in the boot partition. The system boots in to the desktop but the desktop is locked, the mouse point can be moved by i cannot click on anything. When i burn the same image with Etcher… it boots into a white raspberry wallpaper and gets stuck there?
Can anyone help ???

Reply to BC

Heiko avatar

Hi,
on raspi zero w and bookworm I cannot activate dwc2 for usb gadget mode any more. Can anyone confirm? Help appreciated. Thanks Heiko
I comment #otg_mode=1 and add dtoverlay=dwc2 in config.txt and add dwc2 module in /etc/modules.
-> Just found a workaround. Editing /boot/firmware/config.txt instead of /boot/config.txt does resolve the problem.

Reply to Heiko

ap avatar

I installed the new RpiOs 32-bit on my Rpi4.
Working smooth with X11 here.
Only one odd thing here:
I installed wmctrl without any problems.
But when i try to start it i get:
-bash: /usr/bin/wmctrl: cannot execute: required file not found
Any hints?
Such error never happened to me before on Raspbian nor Debian which i use in my Desktop machine for many years now.
Tried google (of course) but couldn’t find anything about this problem.

Reply to ap

MW avatar

According to the Blog Wayland is the default not x11 ??

Reply to MW

ap avatar

Yes, but i changed it to x11 via raspi-config. Anyway, using Bookworm on my PC also with x11 and wmctrl is working perfect. The problem only occurs on raspberry pi OS.

Reply to ap

Abhishek Chowdhury avatar

Hi..I used raspberry pi for some very basic audio processing. With the current os, none of the Open source DAWs work..lmms won’t open, ardour opens for only the initial set up but then crashes..I think it’s because these applications are not Wayland compatible? Any workaround?

Reply to Abhishek Chowdhury

Abhishek Chowdhury avatar

OBS Studio also does not open in the new Bulleye Version

Reply to Abhishek Chowdhury

Fons Brand avatar

Rpi OS x64 Bookwork Desktop does not work on my pi4 with 4GB/8GB.
Black screen nothing happen..

Reply to Fons Brand

J. Bredahl avatar

how do I set up the Raspberry Pi as wireless access point under bookworm

Reply to J. Bredahl

M avatar

No keyboard layout switcher plugin for wifire panel

Reply to M

Judah Richardson avatar

In which future Raspberry Pi OS release will the new DEs be backported to the Pi 3B+?

Reply to Judah Richardson

Wayne avatar

For VNC, I note that wayvnc v0.7 introduces support for RSA AES, maybe this will increase the number of VNC clients supported. If that’s the case, it would be worth getting wayvnc v0.7 out as an update for bookworm quickly.

Reply to Wayne

Simon Long avatar

We are already trialling wayvnc 0.7 internally; we’d hope to move to it soon.

Reply to Simon Long

Alan Hopper avatar

Installing downloaded .deb files from the gui seems to be broken. Left clicking in file manager and selecting ‘Package Install’ appears to do nothing. Is this intentional? If so is there an alternative gui way to install downloaded .deb files.

Reply to Alan Hopper

Simon Long avatar

Installing files requires root access, and the file manager does not have this, so this will fail.

Go to the Tools menu, select Open Current Folder in Terminal, sudo apt install ./(name of deb file)

Reply to Simon Long

Alan Hopper avatar

Thanks for the response, but this is a change for the worst, in the past a gui would open and request admin credentials and then install the app, if this is not allowed surely the option should be removed from the file manager. I write from the perspective of a developer that distributes software via .debs and the way it worked before made life simpler for me and the users. I understand if this is a result of a change of security policy but wonder if it is just an oversight.

Reply to Alan Hopper

Nick avatar

Does anyone know what the audio situation is with the lite images? Are they still alsa only by default and is the plan to keep it that way?

Reply to Nick

Simon Long avatar

Currently still just ALSA. We might integrate PipeWire at some point in future, but no definite plans either way yet.

Reply to Simon Long

nick avatar

Thanks Simon. The simplicity of ALSA is nice on headless appliance-like systems. When you’ve got non-user processes trying to produce audio, you get a mess trying to bend pulseaudio and pipewire the wrong way. So am very happy to hear I don’t have to worry about it (yet)! Thanks for all your work.

Reply to nick

Simon avatar

On earlier releases I could hack the TARGET_END variable in the first boot script /usr/lib/raspi-config/init_resize.sh to stop the automatic resizing taking the whole card.
So far I haven’t worked this out for Bookworm – any clues where to look?

Reply to Simon

Simon avatar

That’s very odd, doesn’t match the firstboot script contents that I looked at on the SD card written by the imager at all!

Reply to Simon

gwfami avatar

I’m stuck as there is no way of getting a valid install of customtkinter. I’ve posted it on python stack overflow and on the forum here. Only response I have gotten so far is in this exchange. ‘The website are waiting for this Cross-Compiler Toolchain for Raspberry Pi OS Bookworm. It is too early. –
toyota Supra
20 hours ago
I just got the exact same error using Raspberry Pi OS Bullseye. Couldn’t be the Cross-Compiler Toolchain if it’s happening on the previous OS. –
Greg W
2 hours ago
The customtkinter could wait for update. Be patient and wait for the website update. –
toyota Supra
1 hour ago
Ok, genuinely confused now. So I know can’t use customtkinter on any OS if it’s a fresh install? Is there anyway to get past this? How long for the website to be “updated”? Sorry to ask so many questions, but this project is my top priority at the moment. –
Greg W
59 mins ago
No you can’t refresh it. You may want to ask question. raspberrypi.com/news/… –
toyota Supra
54 mins ago’

Reply to gwfami

Richard Smith avatar

I tried the old overclocking to 2Ghz I have used for some time on my cooled RPi4 without success. The auto config system only allows 1.8Ghz max. Any suggestions on how to get 2Ghz back with Raspios Bookworm? For now I will stick with Bullseye.

Reply to Richard Smith

Matt avatar

I’ve got an SD card that uses Bullseye. I use this with RPi3s and RPi4s.
I’ve just created a Bookworm SD card.
The Bookworm SD card works until I connect a USB to Ethernet adapter. It’s the same USB to Ethernet that I use with Bullseye.
Before I realized there was a problem with the USB to Ethernet, I installed nfs-kernel-server and dnsmasq.
Any thoughts greatly appreciated?

Reply to Matt

Liz Upton avatar

If you’d like to report a bug, please create an issue on https://github.com/raspberrypi/bookworm-feedback, but please note the README!

Reply to Liz Upton

Matt avatar

Thanks for the pointer Liz. I was hoping someone might know of a NetworkManger gotcha that has got me! When I get time, I’ll try and repeat what happened and provide some more detail in an issue.

Reply to Matt

Robin Newman avatar

Great new OS. I’ve managed to build the latest Sonic Pi 4.5 on it connecting via pipewire for audio and midi i/o, but have two problems running under Wayland. First, Wayland security prevents dragging and dropping files into SP to avoid typing out paths for samples etc. This is quite a drawback. Secondly varying the window transparency won’t work. Previously I used compton to do this, but wayland wont do it. I’ve swirched to Qt6, but transparency calls don’t work. SP works 100% under openbox and X11, or under wayland if you can mange without these two constraints.

Reply to Robin Newman

Robin Newman avatar

UPDATE to partially answer my own query.
Adding package qt6-wayland sorted out the file drag and drop problem for Sonic Pi….Now just the transparency to deal with.

Reply to Robin Newman

Barnouin avatar

Compatibility with Official Raspberry display 7 ” (800×480) should be checked.
So far it is not possible to use Add/Remove software with such display !

Reply to Barnouin

pedro m avatar

Installed. Work great. Know somebody how I can get really functional teamviewer ?

Reply to pedro m

Robert M. Koretsky avatar

So when I use the inxi command, with the right options, I see that the Bookworm-based Raspberry Pi OS on a Pi4b is running Xwayland, with the Wayfire compositor. X.org v: 1.21.1.7.

Reply to Robert M. Koretsky

jvoss avatar

i did a fresh install but it will not start up. screen using is a official 7in pi touchscreen… am i doing something wrong?

Reply to jvoss

Supra avatar

One last question. Does PiCamera 2 will work on Bookworm?

Reply to Supra

Lava Lamp avatar

Did this remove support for composite? Tried the same old method with config.txt and no luck.

Reply to Lava Lamp

jvoss avatar

official Raspberry Pi display touch screen is not working what do i need to redo auto_detect?

Reply to jvoss

Rick avatar

Hello. I have a Raspberry Pi model 4B with 8 GB of memory. I installed RPi OS Bookworm, and used it for a day or two, but went back to Bullseye because of some “bugs” that are important to me. For example:
1) Wi-Fi Hotspot
Creating the hotspot was easy, and it gives good connectivity, except that it does not connect to the internet, so the devices that I connect to this hotspot do not have internet access. With Bullseye there is not problem whatsoever, it works very well. This may be an issue with Raspberry Pi 4B and Bookworm, because I saw a video in YouTube where a functional Hotspot is shown with Raspberry Pi 5.
2) Wi-Fi Security
This problem is common to Bullseye and Bookworm. WPA3 is offered but it does not work. WPA & WPA2 Personal works, but it is detected by my devices as WEP (weak security). And I would not use a Wi-Fi network with less than WPA2 security.
3) Some Panel Applets are missing, notably the Weather Plugin, which is an excellent applet.
So, this is all for now. There is no need to reply to this comment. It is more like a Bug Report and an Enhancement Request for the Raspberry Pi Software Engineers. Thank you.

Reply to Rick

William Stevenson avatar

The work involved in this advance to Bookworm is much appreciated, I’m sure, by almost everyone. Much to my surprise, the change has gone smoothly even when combined with the new use of a small touchscreen (Hyperpixel Rectangular). I had only just set this up on Bullseye and would have been reluctant to change were it not for the simplicity of just using another MicroSD. Just to show how this curated comment thread is useful to those of us who have difficulty with trivial matters which we should know about but don’t: almost all my problems with Bookworm were instantly solved by a comment above about ctrl-alt-up window-snapping. Great work!

Reply to William Stevenson

Ashley Whittaker avatar

I like it when people are nice to us

Reply to Ashley Whittaker

William Stevenson avatar

In the end I had to resort to sudo raspi-config to allow a swith back to X-Windows from Wayland because the Onboard OSK is so much better than the cumbersome OSKs under Wayland. I imagine the market for OSKs on small screens is not that large so there may not be one for Wayland. Anyway, the reversion to X-Windows was simple and quick, which is another recommendation for Bookworm, for now at least

Reply to William Stevenson

Iustin Pop avatar

If anyone cares: if using the RPI as a headless server, it’s actually rather easy to upgrade. There are a few gotchas, but if you understand Debian well, it is possible. I wrote a post mostly on cross-grade (32 to 64 bit user land), but it briefly mentions the upgrade too: https://k1024.org/posts/2023/2023-10-31-raspberry-pi-upgrade-crossgrade/.

Reply to Iustin Pop

jimis avatar

Do the speed improvements on Firefox also apply to the 32-bit armhf build?
Where is the source code or patch for Firefox published?

Reply to jimis

Willi Tor avatar

Hi, I have Bookworm installed on the RPi 400. My opinion is that the Wayfire window manager, just like Mutter, is not really productive yet. That’s why I used Openbox. However, this gets with each new version more and more errors, which can no longer be corrected in the lxde-rc.xml (or which is currently active).
Examples:
1. It is no longer possible to roll up the window with the mouse wheel in Bookworm.
2. Since Buster, “ToggleMaximize” only works in one direction with the Maximize button with the middle and right mouse buttons. Both of these are very disturbing when working. I would like to report these bugs somewhere, but that seems rather complicated to me.
Greeting Willi Tor, Germany

Reply to Willi Tor

Anthony avatar

Has anyone tried installing Bookworm on a Raspberry Pi Zero 2W? I have use the imager to create a fresh install of the 64bit version on a new SD card. It boots find and I then run “sudo apt update” followed by “sudo apt full-upgrade” to try to make sure I have the latest versions of all packages.
No matter how many times I try this, it reaches “Reading changelogs… 28%” and then completely freezes the rpi. I have left it at this point overnight in case it was just taking a while but it never moves passed this point.
Any tips for a noob?

Reply to Anthony

Matt avatar

Anthony – I’m having this exact same problem as well: RPi Zero 2 W, fresh install of 64-bit version on new SD card, run “sudo apt update” and “sudo apt full-upgrade”, and then Pi on “Reading changelogs… 28%”
Would love to know how to get past this!

Reply to Matt

Jacob Davis avatar

I have the new version running on all of our Pis, but there’s one thing I can’t seem to wrap my head around: although Widevine can be installed on the system, that version works with Chromium only. Firefox gave me the option to install Widevine on it, but all I see is a “plugin will be installed shortly” message on the Extensions page. Is there anything I can do to watch Netflix VOD, or even my YouTube purchases, in Firefox on RPi?

Reply to Jacob Davis

matii avatar

firefow not working whit netflix for me newer, but cromium working well , not need addons and work good.

Reply to matii

Richard avatar

gnome-screenshot no longer works with 64bit “bookworm” Raspberry Pi OS. Running RPi4/8GB. Fresh install of 64bit bookworm OS, no additional software (beyond recommended) yet installed. Need to be able to have a “snip” type tool, with GUI, and gnome-screenshot was excellent and fast. Scrot is not appropriate for snipping figures, and small portions, etc. from displays
Here is information on version in bookworm repository.
liberator3@raspberrypi:~ $ apt-cache policy gnome-screenshot
gnome-screenshot:
Installed: (none)
Candidate: 41.0-2
Version table:
41.0-2 500
500 http://deb.debian.org/debian bookworm/main arm64 Packages
——————————————————————————-
(note the later version 41.0-2 now, previous bullseye version was 3.38-01)

Reply to Richard

Alasdair Allan avatar

Nope. That’s an X Windows tool, and Bookworm uses Wayland.

Reply to Alasdair Allan

Richard avatar

Alasdair, (aka Captain Obvious)
Why are you saying “Nope” when you agree with my comment that gnome-screenshot no longer works on 64 bit “bookworm” Rapi OS? Your comment was not helpful. From Simon’s article, it is obvious that gnome-screenshot has a problem with the new windowing system. How about being part of the solution and suggest a snipping tool/program that will work with the new windowing method?
Having a snip tool with the ability to cut and paste specific portions of a screen (or all of it) is an essential part of using a computer for many of us, and this should have been addressed before releasing a new OS that does not have one. (if it ain’t broke, don’t “fix it”)
BTW, my comment was addressed to Simon Long. I should have put his name at the beginning to make that clear.

Reply to Richard

SAIL.FPV avatar

I have a problem with Bookworm.
I cant see any serial ports:
nawrocki@raspberrypi:~ $ ls -la /dev/serial*
ls: cannot access ‘/dev/serial*’: No such file or directory nawrocki@raspberrypi:~ $

On Bullseye i get:
nawrocki@raspberrypi:~ $ ls -la /dev/serial*
lrwxrwxrwx 1 root root 7 May 3 2023 /dev/serial1 -> ttyAMA0

RPi 4B Board, fresh install of both OSs.
What happened to Bookworm?

Reply to SAIL.FPV

Paul Tourville avatar

I just got a RasPi 5 with Bookworm, and users I’ve created via ‘useradd’ @ the CLI cannot login via lightdm. PAM returns “bad password”. I can ssh and su to those users all day. This is frustrating. I haven’t found anything yet which addresses this issue. Any ideas?

Reply to Paul Tourville

Alexander avatar

Hi, I just bought a used Pi 3 model B version 1.2, to start learning about programming.
Does it make more sense to install 32 bit OS instead of 64 bit, since it’s only a 1GB ram device? I also read some things about incompatibilities with software I never heard of before, in both versions. Any tips?
Thanks.

Reply to Alexander

Kim B avatar

An impressive release. Thanks.

I was wondering about these two snippets:
“The primary advantage of Wayland is performance.”
“The performance of Wayfire on earlier platforms is still being optimised, so for now they will continue to run the old X11 display server”

Is there something about Pi 4/5 hardware or 64-bit OS that makes Wayland outperform X11 on those systems while being slower on older Pis?

Reply to Kim B

Leave a Comment