Raspberry-Pi 5: Bookworm - le Raspberry-Pi OS qui charge plus vite que son ombre

Bonjour à tous,

Impossible de rater la sortie du Raspberry-Pi 5 et les nombreux détails techniques de cette nouvelle plateforme.
La sortie du Pi 5 s'accompagne d'une version de Raspberry-Pi OS (basé sur Debian BookWorm). 

Raspberry-Pi OS < Bookworm >

L'OS a reçu de nombreuses améliorations et ses performances sur Pi 5 sont impressionnantes!

Temps de boot = ~10 sec

Croyez le ou pas mais le temps de boot jusqu'au bureau graphique est de 7 secondes montre en main depuis la première activité de la carte SD.

Suivant les circonstances je dirais de 7 à 12 sec (12 sec depuis la mise sous-tension). C'est quand même vraiment impressionnant !

Je me demande ce que cela va donner avec le Hat M.2 sur PCIe?

Wayland sinon rien!


Cela faisait un petit moment que Wayland était au centre des discussions.

Wayland est un protocole de gestion d'affichage (son prédécesseur le plus connu est X Server). WayLand est donc l'élément utilisé par le Gestionnaire de Fenêtre pour communiquer avec l'application (qu'elle soit le l'ordinateur/Pi ou distante sur une autre machine).

Dans son implémentation, Wayland est beaucoup plus facile a mettre en oeuvre, réclame beaucoup moins d'interaction avec le gestionnaire de fenêtre (celui qui compose le bureau).

Cette légèreté profite aussi au Raspberry-Pi. Si Gnome (gestionnaire de bureau) supporte Wayland depuis Debian Stretch, cette association reste un assez grand consommateur de ressources (principalement a cause de Gnome plutôt prévu pour des environnement PC).

En intégrant WayLand directement a son gestionnaire de Bureau, la fondation obtient finalement une solution peu gourmande en ressource et impliquant moins d'appels (entre le bibliothèque).

Wayland sur Raspberry-Pi 5 est donc beaucoup plus performant et cela se ressent vraiment. C'est aussi pour cela qu'il est possible d'utiliser un double moniteur 4K avec une telle fluidité.

Firefox

Firefox est devenu le navigateur WEB par défaut. Son temps de chargement est inférieur à 10 secondes sur un Pi 5 8Go depuis la carte SD !

Raspberry-Pi 5 - Raspberry-Pi OS Bookworm

Nous avons appris de la fondation que certaines optimisations avaient été opérées au sein du code de Firefox.

La navigation sur les divers sites est fluide et réactive. J'ai aussi essayé le site d' Adafruit.com  dont je sais que les multiples animations produits font souvent souffrir plus d'un ordinateur (comprenez... aussi mon Core I7).

J'ai été surpris de constater que la navigation Internet est excellente. C'est quand même impressionnant d'obtenir une telle réactivité.

Un bon point pour Raspberry-Pi OS.

Bookshelf

En droite lignée de la mission de Raspeberry-Pi.org, la fondation Raspberry-Pi propose aujourd'hui une bibliothèque eu sein même du système d'exploitation.

Bookshelf est une nouvelle application permettant de télécharger les éditions de:

  • MagPi: Raspberry-Pi Magazine
  • Books:  Apprenez à programmer votre Pi
  • HackSpace: le magazine des hackers

Soit un total de 7.3 Go de livres/magazine pdf  à votre disposition (sept. 2023).

La liste d'ouvrage et les couvertures sont téléchargées depuis le Net. Bookshelf sera donc toujours à jours avec les sorties d'ouvrages de la fondation.

Bookshelf - liste MagPi

Une iconographie spécifique permet de savoir si l'ouvrage est déjà ou non téléchargé.
une icon de nuage en sur-impression signifie que le document est encore dans le cloud (sur Internet). Il devra donc être téléchargé.

Pour télécharger un ouvrage, faire un click droit sur le volume et cliquer sur téléchargement. 

BookShelf - Téléchargement d'un magazine

A noter: que lors du premier démarrage, les images de couverture doivent également être téléchargées depuis le Net.

Bookshelf - image de couverture manquante

Le haut du bookshelf est divisé en trois volet couvrant les différents domaines/revues éditées par la fondation.

Bookshelf - Books

BookShelf - HackSpace

Enfin, le Bookshelf doit permettre de visualiser directement le contenu PDF téléchargé en double-cliquant dessus. Ceci étant, les fichiers PDFs sont également disponible dans le système de fichier.

Revues disponibles dans le répertoire utilisateur

PipeWire : le nouveau serveur audio

PulseAudio était utilisé pendant des années, il est maintenant remplacé par PipeWire (wikipedia)

Source: PipeWire.Org

PipeWire est un framework multimédia de bas niveau à faible latence destiné à remplacer PulseAudio et JACK.
PipeWire offre un interface pour les applications PulseAudio, JACK, ALSA et GStreamer qui s'intègre par ailleurs très bien à Wayland.

PipeWire n'est pas un projet récent, son développement à débuté en 2006 et le projet n'a reçu le nom PipeWire qu'en 2017.

PipeWire est capable de capturer de multiples sources/flux pour les distribuer vers différentes destinations/sorties.

Source: PipeWire Guide

PipeWire s'est vraiment fait connaître depuis 2022 sur les différentes plateformes Linux dont Ubuntu, ArchLinux, Debian, OpenSuse et quelques autres distributions de renom.

Plus d'information: pipewire.org , PipeWire Guide

CameraLib

La bibliothèque Camera est en cours de travail depuis plus d'un an.
Un long travail de re-architecture et d'optimisation a été conduit et tire aujourd'hui le plein profit de la nouvelle architecture du Pi 5 et de la montée en puissance du GPU et CPU.

Durant le Partner Event 2023, nous avons déjà eu l'occasion de constater le résultat sur Pi 4 et Pi 5.

Dans la première démonstration ci dessous, un Pi 4 avec un caméra (le flux vidéo étant traité par l'ancienne bibliothèque et la nouvelle bibliothèque) pour faire un engistrement.

Enregistrement vidéo avec Nouvelle Bibliothèque vs Ancienne Bibliothèque

Bien que cela ne soit pas visible sur une photographie d'écran, il était possible de constater:

  • Une notable réduction du bruit:
    ces pixels de couleur légèrement différente de leur voisin qui forme un peu comme une légère neige colorée sur l'écran. 
  • Une amélioration de la netteté:
    Puisqu'il y a moins de bruit, les couleurs sont aussi plus stable autour des angles et des bords. Cela améliore donc la netteté des tranchants/bords des objets sur l'image. L'image est donc, au final, plus nette.

Dans la deuxième démonstration, un Raspberry-Pi 5 est utilisé pour réaliser du HDR logiciel. Cela permet d'utiliser une caméra non HDR (ex: Cam HQ) pour réaliser des captures rapides et un traitement quasi instantané.

La photo ci-dessous présente deux caméras HQ (12 MegaPixels) branchées sur un Raspberry-Pi 5.
L'image de gauche sur le moniteur présente une capture caméra en contre-jour (sans traitement informatique) tandis que l'image de droite applique un HDR logiciel.

Exemple de HDR logiciel avec Camera HQ (12 MegaPixels)

Alors il faut savoir que pour réaliser un HDR, il faut:

  1. Effectuer des captures a plusieurs expositions
  2. Recombiner les images de sorte à obtenir une image avec la meilleure balance des blancs dans toutes régions de l'image (avec le plus d'éléments visibles).

Un traitement HDR est un processus vraiment lourd et il est intéressant de constater que le traitement HDR ne créer qu'un très léger retard d'affichage.

Il n'est pas question de tourner un films CamHQ en HDR.
il est possible d'obtenir des images statiques HDR de 12 MegaPixels tout en gardant un système réactif.

Surveillance de l'étage d'alimentation

Le nouveau PMIC (Power Management IC) dispose d'un bus I2C. 

Cela permet au système d'exploitation d'être informé sur la disponibilité d'un bloc Power Delivery (USB PD) capable de délivrer 5A pour afficher le message ad-hoc sur le bureau. Il s'agit d'ailleurs de la seule notification qui ne disparaît pas automatiquement.

A noter qu'il est également possible de surveiller les différentes tensions et courants gérés par le PMIC (et donc d'en connaître la puissance) avec la commande vcgencmd pmic_read_adc

$ vcgencmd pmic_read_adc
 3V7_WL_SW_A current(0)=0.00683151A
   3V3_SYS_A current(1)=0.05562801A
   1V8_SYS_A current(2)=0.18347480A
  DDR_VDD2_A current(3)=0.01854267A
  DDR_VDDQ_A current(4)=0.00000000A
   1V1_SYS_A current(5)=0.21568060A
   0V8_SYS_A current(6)=0.33084030A
  VDD_CORE_A current(7)=1.18769000A
   3V3_DAC_A current(17)=0.97680000A
   3V3_ADC_A current(18)=0.67155000A
   1V1_SYS_A current(16)=6.16605000A
      HDMI_A current(22)=0.00964590A
 3V7_WL_SW_V volt(8)=3.69420800V
   3V3_SYS_V volt(9)=3.30446500V
   1V8_SYS_V volt(10)=1.79340500V
  DDR_VDD2_V volt(11)=1.10329600V
  DDR_VDDQ_V volt(12)=0.60842430V
   1V1_SYS_V volt(13)=1.10988900V
   0V8_SYS_V volt(14)=0.80476110V
  VDD_CORE_V volt(15)=0.83890020V
   3V3_DAC_V volt(20)=3.30311000V
   3V3_ADC_V volt(21)=3.29761600V
   1V1_SYS_V volt(19)=0.79736190V
      HDMI_V volt(23)=5.15364000V
     EXT5V_V volt(24)=5.15632000V
      BATT_V volt(25)=0.01025640V


Le boot révisée

Le Raspberry-Pi 5 est le premier de la série à mettre en place l'InitRamFS (Initial RAM FileSystem) qui permet de mettre le répertoire racine temporaire en RAM.
Ce procédé est utilisé par les systèmes Linux pour carher une "image" du Kernel en RAM et démarrer le noyaux.

Source: Vocal.com

Par ailleurs, il n'existe plus de fichier start5.elf. Le fichier elf chargé par le bootloader en ROM, permettait de mettre en place les pilotes nécessaires au fonctionnement de la machine. Le plus éloquent étant le pilote DDR permettant à l'OS d'utiliser/manipuler le module RAM. 

Sur le Raspberry-Pi 5, ces pilotes sont chargés depuis l'EEPROM (si j'ai bien compris), ce qui permet de gagner un temps non négligeable durant l'initialisation système.

L'intérêt de cette méthode est qu'elle permet de modifier le système de fichier InitRamFS pour y inclure des éléments complémentaires, ce qui permet de fortement personnaliser une distribution Bookworm en fonction de besoins spécifiques.

Création de HotSpot simplifié à l'extrême

Il est maintenant super facile de transformer votre RPi en HotSpot.

Cliquez sur l'icône WiFi --> Options avancées --> créer un Hotspot WiFi dans la barre de menu et sélectionner l'entée HotSpot.

Raspberry-OS Bookworm - Création d'un HotSpot

Remplissez les quelques paramètres de la boîte de dialogue et c'est parti.


Recompilation kernel pour KVM IP

Les KVM IP permettent de prendre le contrôle à distance de solution informatiques en capturant les signaux Clavier, Video et Souris d'une machine distante.

Les solutions à base de RPi (ex:PiKMW) nécessitent la recompilation de modules du Kernel, ce qui s'avère être une tâche plutôt hardue et difficile à mettre en oeuvre pour les créateurs de telles solutions.

Bookworm contiendra les entêtes kernel nécessaires à la recompalition des modules Kernel concernés. De la sortie cela simplifiera la maintenance des solution KVM IP.

Bookworm Pour Pi 4 et Pi 5

Il faut savoir lire entre les lignes, Bookworm n'est pas recommandé pour les Pi 1, Pi 2, Pi 3 (et les Pi Zero x) selon la fondation.

Si BookWorm fonctionnera sur ces plateformes, il sera plus lent dans ces conditions. 

Il est donc préférable de s'arrêter à Raspberry-Pi OS Bullseyes sur les plateformes Pi 1 à Pi 3. 

Logiciels recommandés et paquets logiciels

Le menu du bureau propose les entrées suivantes:

  • Préférences --> Logiciels recommandé 
  • Préférences --> Ajouter/retirer logiciel

Ce sont des applications que je n'utilise jamais puisque que je suis un habitué de la ligne de commande.

Logiciels recommandés

Dans l'installateur des logiciels recommandés j'ai noté:

  • Libre Office 7.4: (déjà installé) même s'il date un peu son démarrage est assez rapide si l'on tient compte de l'imposant logiciel qu'il est. Je ne l'ai pas beaucoup utilisé mais il semble fluide à l'usage.
  • Visual Studio Code: (non installé) probablement déjà présent dans l'édition prédente de l'OS, cela me fait toujours froid dans le dos de croiser un logiciel Microsoft dans un environnement Linux. Ceci étant, la réputation de VSCode n'est plus à faire.
  • Kicad: (non intalssé) je ne m'attendais pas le trouvé là. Kicad permet de dessiner des cartes électroniques (des PCB), logiciel aussi bien utilisé par les Maker que par les professionnels du domaine (dont MCHobby).
  • Chromium: (déja installé) qui a céder sa place de premier plan à Firefox sur Bookworm, Chromium reste disponible et installé sur l'OS.

Ajout/retrait logiciel

Ce logiciel permet d'installer une myriade de logiciel sur votre Raspberry-Pi OS.

Je n'y avait pas fait vraiment attention mais la section "électronique" s'est pas mal enrichie ces dernières années. Le nombre de paquet présent est vraiment impressionnant et dépasse largement l’implémentation Arduino Raspberry-Pi.

Faudra que je m'y penche sérieusement... si Kicad est rentré sur le Pi il doit y avoir d'autres outils tout aussi croustillant.

Encore plus

Je suis certain qu'il y a encore tellement a dire/écrire à propos de Raspberry-Pi OS Bookworm!
Pourtant cet article est déjà bien assez long... nous verrons plus tard s'il y a des ajouts.

Où acheter

Achetez votre Raspberry-Pi chez un Raspberry Pi Approved Reseller afin d'éviter les arnaques!

Raspberry-Pi 5 chez MC Hobby

Aucun commentaire