Raspberry Pi OS (Debian Trixie): What’s New and What to Know

Raspberry Pi OS Trixie is the first major rebase of the official Pi operating system since Bookworm. It moves the platform to Debian 13, ships with Linux kernel 6.12 LTS, replaces the scattered settings apps with one Control Centre, and fixes the Year 2038 problem with 64-bit time. The first Trixie images appeared on October 1, 2025. This guide covers the changes that affect your builds, your scripts, and your upgrade plan.

Quick Takeaways

  • Base: Debian 13 “Trixie” with kernel 6.12 LTS, plus a refreshed desktop (PiXtrix and PiXonyx themes).
  • Hardware: Supported on all Pi models. A 32-bit image is still available, even though Debian 13 itself has dropped 32-bit x86 installs.
  • Settings: One plugin-based Control Centre replaces Raspberry Pi Configuration, Appearance, Mouse and Keyboard, Screen Configuration, and Printers.
  • Upgrade path: A clean install is the recommended route from Bookworm. In-place upgrades work for many users but have reported package conflicts.

Trixie at a Glance

Feature Bookworm Trixie
Debian base Debian 12 Debian 13
Kernel 6.1 → 6.6 → 6.12 (late updates) 6.12 LTS at launch
Python 3.11 3.13
Time representation 32-bit time_t on 32-bit builds 64-bit time_t
Settings apps Several separate tools Single Control Centre
Desktop theme PiXflat PiXtrix / PiXonyx (dark)
Custom image setup Flat package lists Hierarchical metapackages

What Changed Under the Hood

Debian 13 Base and Kernel 6.12

Trixie rebases Raspberry Pi OS on Debian 13. You get newer libraries, newer compilers, and a longer security-support runway. Debian made the jump from kernel 6.1 to 6.12. Raspberry Pi OS was already shipping a 6.12 kernel before the rebase, so the kernel experience feels familiar if you kept your Bookworm system updated.

Newer toolchains matter for embedded work. Cross-compiling for a RP2040 or RP2350 companion board, building a C extension, or compiling a kernel module all start from a more current GCC and binutils.

64-bit Time and the Year 2038 Fix

Systems that store time as a signed 32-bit integer overflow in January 2038. Trixie switches to a 64-bit time_t, including on the 32-bit build. This affects any compiled code that stores timestamps in binary formats, such as sensor logs, custom protocols, or database files.

Recompile your own C and C++ projects against Trixie headers. Check any binary file format that embeds a 4-byte timestamp.

Python 3.13 and Virtual Environments

Debian 13 ships Python 3.13. System Python remains marked as externally managed, so a plain pip install fails with an error. Use a virtual environment for every project:

# Create an isolated environment that can still see system packages (needed for gpiozero/lgpio)
python3 -m venv --system-site-packages ~/pi-env

# Activate it
source ~/pi-env/bin/activate

# Install extras inside the venv only
pip install smbus2

/tmp Moves to tmpfs

Debian 13 mounts /tmp as a RAM-backed tmpfs by default. This reduces SD card wear. It also means files in /tmp vanish on reboot and consume RAM. A logging script that writes large temporary files on a 1 GB board can hit memory pressure. Move bulky data to /var/tmp or a dedicated data directory.

Package Sources and APT

Trixie ships a newer APT that supports the deb822 source format. Check your current sources with:

# Show the APT version and configured repositories
apt --version
apt policy | head -n 20

Desktop and Usability Changes

New Theme: PiXtrix and PiXonyx

Trixie introduces two GTK themes: PiXtrix (standard) and PiXonyx (dark). It also adds a matching icon set, a new system font (Nunito Sans Light), and new wallpapers. The panel uses the Foundation’s own fork of lxpanel, and browser packages (Chromium and Firefox) are updated.

Control Centre

The new Control Centre merges the old preference tools into one lightweight application. Its pages load as runtime plugins, so the Foundation can add tabs without rewriting the core. Printer management has its own page, which replaces the previous printer tool.

For headless work, raspi-config remains your friend:

# Open the terminal configuration menu
sudo raspi-config

Lock Screen and Auto-login

Trixie adds a front end for swaylock, so the lock screen has a proper password prompt. Console auto-login and desktop auto-login can be configured independently. A kiosk that boots to desktop can keep a locked-down console.

Wayland with labwc

The desktop on newer boards runs on Wayland using the labwc compositor. X11-only tools such as xdotool and some screen-capture scripts will not behave as they did before. Use Wayland-native alternatives such as grim for screenshots and wtype for keystroke injection.

Keyboard Utilities

Two command-line tools ship for official Raspberry Pi keyboards: rpi-keyboard-config and rpi-keyboard-fw-update. They configure layout options and update keyboard firmware without a separate flashing tool.

Modular Packaging with Metapackages

Trixie reorganizes the image into a hierarchy of metapackages. This helps if you build custom images or maintain a fleet.

  • Lite images can add desktop-adjacent tools with metapackages such as rpd-utilities, which installs the Utilities and Help menu contents, including Raspberry Pi Connect, SD Card Copier, and Bookshelf.
  • Desktop images can remove groups of applications cleanly instead of purging dozens of individual packages.
# Add the utilities set to a Lite install
sudo apt update
sudo apt install rpd-utilities

Hardware Support and 32-bit Status

Trixie supports every Raspberry Pi model, from the original Pi 1 and Zero to the Pi 4, Pi 5, and Pi 500. Debian 13 dropped 32-bit installs for x86, but the Pi project kept a 32-bit armhf image alive. If you run an old Pi Zero in a remote sensor node, you do not need to migrate.

Board Recommended image Notes
Pi Zero / Pi 1 32-bit Lite Low RAM, skip the desktop
Pi 3 / Zero 2 W 64-bit Lite or Desktop 1 GB RAM, keep services lean
Pi 4 64-bit Desktop Best all-around choice
Pi 5 / Pi 500 64-bit Desktop Wayland with labwc by default

Cloud-init and Headless Provisioning

Fresh Trixie images support cloud-init for first-boot configuration. This is how newer versions of Raspberry Pi Imager (2.0 and later) apply settings such as hostname, user, Wi-Fi, and SSH keys. It is also how some features, like USB gadget Ethernet mode, can be enabled on new images.

For fleets, write a user-data file once and reuse it across SD cards. That beats walking through a GUI wizard on each board.

Bookworm to Trixie: Upgrade vs. Clean Install

The Foundation recommends a clean install for anyone coming from Bookworm. The metapackage reorganization and the theme replacement leave behind old package ownership conflicts. Community reports of in-place upgrades show failures in the middle of apt full-upgrade, including file conflicts with older panel plugin packages like lxplug-batt.

Use this decision table:

Situation Best path
Desktop with many customizations Clean install, restore dotfiles
Headless Lite server with simple services In-place upgrade, with a backup
Production device in the field Clean install on a spare card, then swap
Pi 5 with NVMe boot Clean install to the NVMe, test, then retire the old drive

If you do attempt an in-place upgrade, image your SD card first:

# On another Linux machine: back up the card before touching anything
sudo dd if=/dev/sdX of=pi-bookworm-backup.img bs=4M status=progress

Then follow the Debian release notes. The sources must switch from bookworm to trixie for both the Debian and Raspberry Pi repositories, followed by a full upgrade and a reboot. Expect to resolve conflicts by hand.

Real-World Project: Pi Health Monitor with a Status LED

This project validates your fresh Trixie install. It reads the SoC temperature and drives an LED on GPIO17 with a 330 Ω resistor.

Wiring:

  1. Connect GPIO17 (physical pin 11) to one end of a 330 Ω resistor.
  2. Connect the other end to the LED anode (long leg).
  3. Connect the LED cathode to GND (physical pin 9).

At 3.3V logic with a 330 Ω resistor, the LED draws roughly 4 mA, well inside the safe per-pin limit.

#!/usr/bin/env python3
# Pi health monitor: blink faster as SoC temperature rises.
# Run inside the venv created earlier (gpiozero ships with Raspberry Pi OS).

from gpiozero import LED, CPUTemperature
from time import sleep

led = LED(17)          # GPIO17 drives the LED through a 330-ohm resistor
cpu = CPUTemperature() # Reads the SoC temperature sensor

while True:
    temp = cpu.temperature  # Degrees Celsius

    if temp < 50:
        led.on()                       # Solid: healthy
        sleep(1)
    elif temp < 70:
        led.blink(on_time=0.5, off_time=0.5, n=2)   # Slow blink: warm
        sleep(2)
    else:
        led.blink(on_time=0.1, off_time=0.1, n=5)   # Fast blink: throttling risk
        sleep(1)

    print(f"SoC temperature: {temp:.1f} C")

To check throttling from the shell:

# Print SoC temperature and throttling flags
vcgencmd measure_temp
vcgencmd get_throttled

A get_throttled result of 0x0 means no undervoltage or thermal events. Anything else points to a weak 5V supply or inadequate cooling.

Post-Install Checklist for Trixie

  1. Run sudo apt update && sudo apt full-upgrade immediately after first boot.
  2. Confirm the kernel with uname -r (expect a 6.12.x build).
  3. Rebuild any compiled projects against the new headers.
  4. Move large temporary files out of /tmp.
  5. Recreate Python environments with python3 -m venv.
  6. Test any script that depends on X11 tooling under Wayland.
  7. Check I2C, SPI, and UART with sudo raspi-config under Interface Options.

FAQ

Is Raspberry Pi OS Trixie based on Debian 13?

Yes. Raspberry Pi OS Trixie is built on Debian 13, with Raspberry Pi’s own kernel, firmware, and desktop packages layered on top. The first image was released on October 1, 2025.

Should I upgrade from Bookworm to Trixie or reinstall?

Reinstall when you can. The Foundation recommends a clean install because Trixie reorganizes packages into metapackages and replaces the desktop theme. Simple headless servers can often upgrade in place, but back up the SD card first.

Does Raspberry Pi OS Trixie still support 32-bit Raspberry Pi models?

Yes. A 32-bit Trixie image is available, and all Pi models, from the Pi 1 and Zero through the Pi 5 and Pi 500, are supported. Use the 64-bit image on any Pi 3 or newer for the best performance.

Why does pip refuse to install packages on Trixie?

Python 3.13 on Debian 13 is marked externally managed, so system-wide pip install is blocked. Create a virtual environment with python3 -m venv, activate it, and install packages there.

Hot this week

C++26 Explained: Reflection, Contracts, and std::execution in Plain English

Learn C++26 reflection, contracts, and std::execution with working code, comparison tables, and refactoring examples. Read the guide and upgrade your C++ today.

Revive an Old PC With Linux After Windows 10: The Best Options

Windows 10 support ended. Learn which Linux distro fits your old PC, how to install it, and how to fix common boot issues. Start reviving your hardware today.

Linux Is Now Wayland-First: What It Means for Your Desktop (X11 vs Wayland Explained)

Your Linux desktop probably already runs Wayland, and the option to go back is disappearing. GNOME 50 removed the X11 session entirely, so Wayland is the only display server available at login.

Ubuntu 26.04 LTS: What’s New and Should You Upgrade?

Ubuntu 26.04 LTS brings Linux 7.0, GNOME 50, and Wayland-only. See what changed, what breaks, and how to upgrade from 24.04 safely. Read the guide.

Intel Macs and macOS 27: What the End of Support and Rosetta Means

macOS 27 Golden Gate is Apple silicon only, and Rosetta 2 ends in macOS 28. Audit your Intel apps, plan your Mac, and fix breakage. Read the guide.

Topics

C++26 Explained: Reflection, Contracts, and std::execution in Plain English

Learn C++26 reflection, contracts, and std::execution with working code, comparison tables, and refactoring examples. Read the guide and upgrade your C++ today.

Revive an Old PC With Linux After Windows 10: The Best Options

Windows 10 support ended. Learn which Linux distro fits your old PC, how to install it, and how to fix common boot issues. Start reviving your hardware today.

Linux Is Now Wayland-First: What It Means for Your Desktop (X11 vs Wayland Explained)

Your Linux desktop probably already runs Wayland, and the option to go back is disappearing. GNOME 50 removed the X11 session entirely, so Wayland is the only display server available at login.

Ubuntu 26.04 LTS: What’s New and Should You Upgrade?

Ubuntu 26.04 LTS brings Linux 7.0, GNOME 50, and Wayland-only. See what changed, what breaks, and how to upgrade from 24.04 safely. Read the guide.

Intel Macs and macOS 27: What the End of Support and Rosetta Means

macOS 27 Golden Gate is Apple silicon only, and Rosetta 2 ends in macOS 28. Audit your Intel apps, plan your Mac, and fix breakage. Read the guide.

macOS 27: What’s New, Compatibility, and Should You Upgrade?

macOS 27 Golden Gate drops Intel, adds Siri AI, and ships with early bugs. Check compatibility, fix known issues, and decide when to upgrade. Read the guide.

iOS 27: What’s New and Should You Update?

iOS 27 is live. See every new feature, compatible iPhones, known bugs, and a clear verdict on whether to update now or wait. Read the guide.

Android 17: What’s New and Which Phones Get It

Android 17 is live: App Bubbles, location indicators, app memory limits. See which Pixel, Samsung, OnePlus and Xiaomi phones get it. Check yours now.

Related Articles

Popular Categories