Raspberry Pi has recently unveiled the latest version of its Raspberry Pi OS, based on Debian 12, known as "Bookworm." This release marks an upgrade from Debian 11, referred to as "Bullseye," which has served as the foundation for the Raspberry Pi operating system since November 2021.
From a user's perspective, transitioning from Debian 11 to Debian 12 doesn't bring about substantial visible changes. However, there have been significant alterations under the hood, as well as some additional features tailored specifically for Raspberry Pi OS.
One of the most prominent changes is the transition from the traditional X11 window manager to the more contemporary Wayland system, coupled with the WayFire compositor. This shift has several advantages, including improved window drawing performance and enhanced security, as it departs from the server/client architecture of X11.
It's essential to note that Wayland is enabled by default on Raspberry Pi 4 and 5 boards, while earlier and less powerful models still rely on X11. Work is in progress to optimize the new window manager for these older models. In terms of appearance, the default wallpaper is the only noticeable change.
Most programs in Debian are now compatible with Wayland. For those still dependent on X11, XWayland handles X11 calls to ensure compatibility with Wayland. In theory, this works well, but in practice, a few issues remain unresolved due to the shift to the new window manager:
- Overscan compensation is not yet available in Wayland, affecting HDMI displays and video composite outputs.
- The system tray relies on a new mechanism, which may lead to some applications not appearing.
- RealVNC is incompatible due to Wayland's security model, so "wayvnc" is used as an alternative.
- The Magnifier accessibility tool doesn't function with Wayfire, necessitating the use of the built-in magnifier (toggle with ctrl-alt-M).
- BlueJ and Greenfoot Java IDEs are incompatible with Wayland and have been removed from Raspberry Pi OS Bookworm.
Separate from the Wayland changes, there is a regression issue with the RealVNC server, which is still used on older Raspberry Pi models running Bookworm. While the 64-bit version is functional, the 32-bit version isn't compatible with Bookworm, so users needing remote desktop access on older SBCs are advised to stick with Raspberry Pi OS Bullseye for now. Efforts are underway to resolve these issues.
Two new plugins have been introduced:
- The "Power" plugin monitors power supply issues, like low voltage or excessive USB current. It is enabled by default.
- The "GPU" plugin displays the Raspberry Pi's GPU load graph but is not enabled by default.
Audio is now managed via PipeWire, replacing the PulseAudio/ALSA sound interface. PipeWire provides better audio support for video and reduces latency. It also offers improved management of Bluetooth audio devices, automatically reconnecting them at boot. However, this transition affects the availability of Sonic Pi, which has been removed from the package repository.
Other notable changes include the NetworkManager becoming the default network controller, Firefox optimization for Raspberry Pi, V4L2 codec support, Widevine DRM support, graphics performance enhancements, and support for CSI cameras in video calls using Firefox.
While most changes are not immediately visible to users, both Wayland and PipeWire represent significant behind-the-scenes developments. In case of unexpected issues, users have the option to re-enable the X11/Openbox display system and PulseAudio through the Advanced Settings menu in raspi-config.
The Raspberry Pi team recommends upgrading from Bullseye to Bookworm by reflashing the microSD card. Attempting an upgrade via modifying the /etc/apt/sources.list is likely to result in data loss. The recommended method for installing Raspberry Pi OS Bookworm is by using the Raspberry Pi Imager. Alternatively, you can manually download 32-bit or 64-bit images and flash them using your preferred utility.