Normale Ansicht

Es gibt neue verfügbare Artikel. Klicken Sie, um die Seite zu aktualisieren.
Ältere BeiträgeHaupt-Feeds

Raspberry Pi OS »Bookworm«

12. Oktober 2023 um 17:21

Seit gestern ist die neue Version von Raspberry Pi OS auf der Basis von Debian 12 (»Bookworm«) verfügbar. Diese Version ist Voraussetzung für den Raspberry Pi 5, läuft aber natürlich auch auf älteren Raspberry Pis. Ich habe meine Tests auf einem Pi 5 sowie einem Pi 400 durchgeführt.

Auf den ersten Blick sieht der Desktop auf der Basis von LXDE nahezu unverändert aus. Aber dieser Eindruck täuscht erheblich: Raspberry Pi OS verwendet jetzt Wayland, PipeWire und den NetworkManager.

Auf den Modellen Pi 4, Pi 400 und Pi 5 läuft der Pixel Desktop unter Wayland

Wayland für Pi 4 und 5, Abschied von X in Raten

Auf aktuellen Raspberry-Pi-Modellen (Pi 4, Pi 400, Pi 5) kommt nun standardmäßig Wayland statt xorg als Fundament für das Grafiksystem zum Einsatz.

pi5$ echo $XDG_SESSION_TYPE
  wayland

Das ist ein großer Schritt, weil dafür viele Komponenten verändert bzw. hinzugefügt werden mussten:

  • Compositor: Wayfire
  • Panel/Desktop-Shell: wf-panel-pi

Zusammen mit dem Panel mussten auch die diversen Plugins für das Menü, die Bluetooth- und WLAN-Konfiguration, Lautstärkeeinstellung usw. neu implementiert werden.

Das für Wayland neu implementierte Panel hat zwei Plugins, die die CPU-Auslastung und -Temperatur anzeigen

Der Wayland-Umstieg ist mit den von anderen Desktop-Systemen bekannten Einschränkungen bzw. Kinderkrankheiten verbunden: Fernwartung, Screenshots usw. zicken bzw. funktionieren gar nicht. Auf das Thema VNC und Remote Desktop gehe ich hier in einem eigenen Artikel ein. Zum Erstellen von Screenshots verwenden Sie am besten das Kommando grim (siehe Projektseite). Gimp und scrot liefern lediglich schwarze Bilder, shutter stürzt ab.

Ältere Raspberry-Pi-Modelle (Pi 3, Zero etc.) verwenden aufgrund von Performance-Problemen weiterhin xorg. Aber auch bei diesen Modellen ist in Zukunft der Wechsel zu Wayland geplant.

Audio-System PipeWire

Nach Fedora, Ubuntu & Co. verwendet nun auch Raspberry Pi OS das neue PipeWire-Audiosystem. Es ersetzt PulseAudio. Für die Desktop-Nutzung der Audio-Funktionen sollten sich dadurch nichts ändern. Wenn Sie Audio-Funktionen per Script steuern möchten, müssen Sie sich an die neuen pw-xxx-Kommandos gewöhnen (siehe https://docs.pipewire.org/page_tools.html).

Netzwerkkonfiguration mit dem NetworkManager

Ähnlich wie beim Audio-System passt sich Raspberry Pi OS auch bei der Netzwerkkonfiguration den anderen Distributionen an und verwendet nun den NetworkManager als Backend. dhcpcd hat ausgedient. Wiederum ist von der Änderung an der Oberfläche nicht viel zu sehen. Die Konfigurationswerkzeuge zur Herstellung einer WLAN-Verbindung sehen ähnlich aus wie bisher. Allerdings gibt es nun diverse neue Funktionen, z.B. zur Herstellung von VPN-Verbindungen. Änderung ergeben sich auch, wenn Sie die Netzwerkkonfiguration per Script verändern möchten. Das wichtigste neue Kommando ist nmcli. Die Konfigurationsdateien werden in /etc/NetworkManager gespeichert. WLAN-Passwörter landen in /etc/NetworkManager/system-connections/*.conf.

Bei meinen Tests traten im Zusammenspiel mit dem Raspberry Pi Imager bei der Vorweg-Konfiguration (z.B. für Headless-Systeme) noch Fehler auf. Es ist aber zu erwarten/hoffen, dass diese bald gelöst sein werden.

Webbrowser: Firefox oder Chromium?

In der Vergangenheit galt Chromium als Default-Webbrowser für Raspberry Pi OS. In Kooperation mit Mozilla wurde nun auch Firefox besser an die Hardware- und Software-Eigenheiten angepasst und wird nun als gleichwertige Alternative angeboten. Standardmäßig sind beide Programme installiert. Den Default-Webbrowser können Sie im Programm Raspberry-Pi-Konfiguration festlegen.

Mathematica

Aus nostalgischen Gründen bin ich ein großer Fan von Mathematica und finde es fantastisch, dass das Programm Raspberry-Pi-OS-Anwendern kostenlos zur Verfügung steht. Das gilt auch für die neue Version von Raspberry Pi OS — aber aktuell nicht auf dem Pi 5. Dort erscheint beim Start der Hinweis, dass ein Lizenzcode erforderlich ist. Anscheinend soll dieses Problem
noch behoben werden. Die Raspberry Pi Foundation wartet diesbezüglich auf ein Update von Wolfram (Quelle).
Update 9.11.2023: Mit den neuesten Updates funktioniert nun auch Mathematica wieder — und zwar schneller denn je!

Versionsnummern

Dank des neuen Fundaments auf der Basis von Debian 12 haben sich viele Versionsnummern geändert:

Basis             Desktop              Programmierung   Server
---------------   ------------------   --------------   --------------
Kernel      6.1   Gimp          2.10   bash       5.2   Apache     2.4
glibc      2.36   LibreOffice    7.4   gcc       12.2   CUPS       2.4
Mesa       23.2   LXDE            11   Java        17   MariaDB  10.11
Systemd     247   VLC            3.0   PHP        8.2   OpenSSH    9.2
X-Server   21.1                        Python    3.11   Samba     4.17
Wayland    1.21

Python-Module

Bisher war es unter Python gebräuchlich, Zusatzmodule einfach mit pip bzw. pip3 zu installieren. In aktuellen Python-Versionen ist das nicht mehr erwünscht und führt zu einem Fehler:

$ pip install --user matplotlib

error: externally-managed-environment

  This environment is externally managed
  To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

    For more information visit http://rptl.io/venv

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

Es gibt zwei Auswege:

Der geänderte Umgang mit Python-Modulen hat übrigens nichts mit Raspberry Pi OS zu tun, sondern ist eine von der Python-Entwicklergemeinde vorgegebene Änderung, die alle modernen Linux-Distributionen betrifft.

32 oder 64-Bit?

Auf https://www.raspberrypi.com/software/operating-systems sowie im Programm Raspberry Pi Imager wird nach wie vor die 32-Bit-Version von Raspberry Pi OS empfohlen. Die 64-Bit-Version ist dort nur die zweite Option.

Ich habe meine Tests dagegen mit der 64-Bit-Version durchgeführt, die für Pi-Modelle mit mehr als 2 GByte zweckmäßiger ist, einzelnen Prozessen mehr RAM zuordnen kann und etwas mehr Geschwindigkeit verspricht.

Interessanterweise kommt je nach Raspberry-Pi-Modell eine unterschiedliche Pagesize zum Einsatz: 16 kByte auf dem Raspberry Pi 5 aber wie bisher 4 kByte auf dem Raspberry Pi 400.

pi5$ getconf PAGESIZE
16384

pi400$ getconf PAGESIZE
4096

Die 16-kByte-Pagesize ist übrigens zu manchen Programmen inkompatibel. Unter anderem kann deswegen Geekbench 6.2 nicht in der 64-Bit-Version von Raspberry Pi OS ausgeführt werden.

Lüftersteuerung

Der Raspberry Pi 5 enthält eine Buchse zum Anschluss eines CPU-Lüfters. Raspberry Pi OS kümmert sich darum, den Lüfter nur nach Bedarf einzuschalten, und auch dann dynamisch (also nur in der erforderlichen Drehzahl). Im Leerlaufbetrieb bleibt der Raspberry Pi 5 lautlos.

Upgrade

Ein Upgrade eines bereits installierten Raspberry Pi OS »Bullseye« auf Version »Bookworm« ist theoretisch durch eine Veränderung der Paketquellen möglich (siehe z.B. hier im Raspberry-Pi-Forum). Diese Vorgehensweise wird aber explizit nicht unterstützt und führt nach meinen eigenen Erfahrungen oft zu massiven Problemen. Wenn Sie die aktuelle Version von Raspberry Pi OS nutzen möchten, müssen Sie also eine SD-Karte neu damit einrichten. Das hat natürlich den Nachteil, dass Sie alle Konfigurationsarbeiten wiederholen und ggfs. Ihre eigenen Projekte bzw. Ihren Code manuell übertragen und womöglich auch adaptieren müssen.

Quellen/Links

Pipewire unterstützt Bluetooth MIDI

27. Januar 2023 um 08:10

Die neue Version 0.3.65 des Audio- und Video-Systems Pipewire behebt eigentlich nur Fehler, die Entwickler haben ihrer Software aber dennoch ein paar interessante kleine neue Funktionen spendiert. Dazu gehört unter anderem ein neues Combine-Stream-Modul.

Über dieses Modul kann man die Ausgaben an mehrere Sinks gleichzeitig leiten oder ein virtuelles 5.1-Audiogerät mit drei Stereo-Soundkarten simulieren. Darüber hinaus unterstützt Pipewire 0.3.65 erstmals Bluetooth MIDI. Dies setzt allerdings voraus, dass der MIDI-Support im Bluez-Stack deaktiviert ist.

Eine neue ALSA-Plugin-Regel soll dafür sorgen, dass die Videoschnittsoftware Davinci Resolve mit einer „akzeptablen Latenz“ arbeitet. Dank der Hilfe von tinycompress unterstützt Pipewire die Weiterleitung von komprimiertem Audiomaterial via ALSA an entsprechende Hardware-Decoder. Passend dazu kann das Tool „pw-cat“ FFmpeg einspannen, um komprimierte Streams zu Demuxen.

Der Beitrag Pipewire unterstützt Bluetooth MIDI erschien zuerst auf Linux-Magazin.

Fedora 35

03. November 2021 um 19:01

Die Fertigstellung der Herbst-Edition von Fedora hat zwar ein paar Wochen länger gedauert als bei Ubuntu, aber dafür ist der Software-Stack spürbar moderner: Kernel 5.14, Gnome 41 und Python 3.10 lassen grüßen. Auf technischer Ebene schreitet vor allem die PipeWire-Integration voran.

Die Workstation-Variante von Fedora 35 verwendet Gnome 41 als Desktop

Versionsnummern

Wie üblich konzentriere ich in dieser Kurzvorstellung auf die Workstation-Variante von Fedora. Die wichtigsten Versionsnummern des Software-Stacks sehen so aus:

Basis             Desktop             Programmierung   Server
---------------   ------------------  --------------   --------------
Kernel     5.14   Gnome          41   bash       5.1   Apache     2.4
glibc      2.34   Firefox        93   gcc       11.2   CUPS       2.3
X-Server   1.20   Gimp         2.10   Java   8/11/17   MariaDB   10.5
Wayland    1.19   LibreOffice   7.2   PHP        8.0   OpenSSH    8.7
Mesa         21   Thunderbird    91   Python    3.10   qemu/KVM   6.1
Systemd     249                                        Postfix    3.6
NetworkMan 1.32                                        Samba     4.15
GRUB       2.06 

Nicht in meiner Versionsnummernübersicht enthalten ist FirewallD. Dennoch ist dieses Paket diesmals erwähnenswert, weil es endlich den Sprung auf die Versionsnummer 1.0 geschafft hat. Dabei haben sich einige Defaulteinstellungen geändert, die im Projektblog dokumentiert sind.

WirePlumber

Bereits mit Version 34 ist Fedora auf das Audio-System PipeWire umgestiegen (siehe auch meinen Blogartikel zu Fedora 34). Neu in Fedora 35 ist der Session-Manager WirePlumber. An der Bedienung für Endanwender ändert sich dadurch wenig (außer dass alles noch besser funktionieren sollte), aber für Entwickler bietet PipeWire eine klare Schnittstelle zur Integration und Nutzung der Audio-Funktionen. WirePlumber läuft als systemd-Dienst auf User-Ebene:

systemctl --user status wireplumber
● wireplumber.service - Multimedia Service Session Manager
     Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2021-11-03 19:13:26 CET; 34min ago
   Main PID: 1667 (wireplumber)
      Tasks: 4 (limit: 3352)
     Memory: 8.5M
        CPU: 367ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/wireplumber.service
             └─1667 /usr/bin/wireplumber

Nov 03 19:13:26 fedora systemd[1422]: Started Multimedia Service Session Manager.

Dokumentation zu WirePlumber finden Sie hier:

btrfs und Flatpak

Wenig Änderungen hat es rund um das Dateisystem btrfs gegeben. Es kommt weiterhin standardmäßig zum Einsatz, die Defaulteinstellungen haben sich aber nicht geändert (zwei Subvolumes für /home und /, aktive Komprimierung mit zstd).

Als alternatives Paketsystem favorisiert Fedora FlatPak. Standardmäßig ist aber kein einziges Programm als FlatPak installiert. Gnome Software ist FlatPak-kompatibel und zeigt entsprechende Pakete an, sofern FlatPak-Quellen eingerichtet wurden. Das kann während der Inbetriebnahme von Fedora 35 erfolgen oder direkt im Menü von Software (Menüpunkt Softwarequellen).

Quellen / Links

❌
❌