Vue lecture

Raspberry Pi 5, évolution ou révolution ?

Les méandres de l'espace de rédaction sont parfois mystérieux. La rédaction de certaines dépêches s'étalent parfois sur de long mois, parfois sans même comprendre pourquoi la dépêche ne part pas vers le stade de la publication. C'est ce qui est arrivé à cette dépêche qui ne suit donc pas autant qu'elle aurait pu l'actualité de la sortie de la nouvelle mouture de la microcarte de la Fondation Raspberry Pi, qui porte le nom très original de Raspberry Pi 5. Cette dépêche - qui nous offre une comparaison de cette nouvelle édition avec son illustre ancêtre ainsi qu'une investigation de ses nouveautés - reste substantielle et il nous a semblé qu'il valait mieux la publier même tardivement plutôt que de la plonger dans l'oubli éternel.

    Sommaire

    Cette dépêche ne traitera pas de l’ensemble de ce que l’on peut faire, la précédente dépêche sur les SoC faite pour la sortie de la Raspberry Pi 4 est toujours d’actualité en ce qui concerne ces sujets.

    Comparaison entre Raspberry Pi 4 et Raspberry Pi 5

    Sorti en 2019, le RPi4 avait fait forte impression—mais quasiment en constante pénurie entre 2020 et 2023, il commençait par accuser le coup par rapport à la concurrence du Rockchip RK3588 (Quad-core Cortex-A76 + Quad-core Cortex-A55).

    Aussi, la Raspberry Pi 5 introduit des avancées significatives par rapport à la Raspberry Pi 4, dont le Tableau 1 présente une synthèse des différences.

    Composants Raspberry Pi 4 Raspberry Pi 5
    SoC Broadcom BCM2711 Broadcom BCM2712
    CPU Quad-core Cortex-A72 (1.8 GHz) Quad-core Cortex-A76 (2.4 GHz)
    GPU VideoCore VI (500 MHz) VideoCore VII (800 MHz)
    Mémoire 1, 2, 4, 8 GB LPDDR4-3200 SDRAM 4, 8 GB LPDDR4X-4267 SDRAM
    Wi-Fi Dual-band 802.11ac Dual-band 802.11ac
    Bluetooth 5.0, BLE 5.0, BLE
    USB 2 USB 3.0, 2 USB 2.0, 1 Type-C port 2 USB 3.0, 2 USB 2.0, 1 Type-C port
    Stockage MicroSD MicroSD (SDR104⟹R/W↗ˣ²) + ligne PCIe pour NVME M.2 SSD
    Ethernet Gigabit Ethernet Gigabit Ethernet
    Puissance Jusqu’à 7.5 W 2 modes : jusqu’à 15 W et jusqu’à 25 W
    Gestion HDMI 2 HDMI 2.0 (1 gérant 4k@60 Hz) 2 HDMI 2.0 (tous les deux gérant 4k@60 Hz)
    Format vidéo H.264 (AVC) H.265 (HEVC)
    PCIe Non 1 lane PCIe pour périphériques haute performance
    Bouton d’alimentation Non Oui

    Tableau 1 : comparatif des Raspberry Pi 4 et 5

    Détail des améliorations de la Raspberry Pi 5

    La Raspberry Pi 5 introduit des avancées significatives par rapport à la Raspberry Pi 4, en particulier avec l’introduction du southbridge RP1. Voici une comparaison détaillée mettant en évidence les principales différences et l’impact du RP1 :

    • Processeur : La Raspberry Pi 5 est équipée d’un CPU ARM Cortex-A76, une amélioration substantielle par rapport au Cortex-A72 trouvé dans la Raspberry Pi 4. Cette mise à niveau fait que la Pi 5 est deux à trois fois plus rapide que son prédécesseur.
    • RAM : La Raspberry Pi 5 utilise de la LPDDR4X-4267 SDRAM, nettement plus rapide que la LPDDR4-3200 SDRAM utilisée dans la Pi 4. Cette amélioration offre plus de bande passante, contribuant à des performances globalement plus rapides.
    • Puissance graphique : La Raspberry Pi 5 dispose d’un GPU VideoCore VII plus puissant, cadencé à 800 MHz et prenant en charge OpenGL ES 3.1 et Vulkan 1.2. C’est une avancée par rapport au GPU VideoCore VI de la Raspberry Pi 4, qui prend en charge OpenGL ES 3.1 et Vulkan 1.0. Le GPU de la Pi 5 comprend également un nouveau processeur de signal d’image pour la gestion des données des caméras.
    • Chip RP1 Southbridge : La puce RP1 est une innovation majeure dans la Raspberry Pi 5. Elle agit comme un southbridge, gérant la plupart des fonctions I/O (entrée/sortie), réduisant ainsi la charge sur le CPU. Cela permet une augmentation de la bande passante I/O, bénéficiant aux dispositifs de stockage, USB et autres périphériques.
    • Vitesse des cartes MicroSD : Le port microSD de la Pi 5 prend en charge le mode haute vitesse HDR 104 avec les cartes microSD UHS-1, offrant des vitesses de lecture de 80-90 Mbps, soit le double de la vitesse de 40-50 Mbps de la Pi 4.
    • Ports USB : Dans la Raspberry Pi 5, chacun des deux ports USB 3.0 dispose d’une bande passante dédiée de 5 Gbps, grâce à la puce RP1. C’est une amélioration par rapport à la Pi 4, où les deux ports USB 3.0 partageaient la bande passante de 5 Gbps.
    • Connecteur PCIe : La Pi 5 inclut un connecteur PCIe (PCI Express), une nouvelle addition répondant à la demande pour des interfaces plus rapides. Cependant, l’interface PCIe de la Pi 5 n’est pas un connecteur M.2 standard ; elle nécessite un câble ruban pour se connecter à un HAT, et le dispositif M.2 se connectera au HAT. Caractéristiques
    • Un bouton marche/arrêt : Eh oui, on est quand même dans le 3ᵉ millénaire ;-)
    • Alimentation : Tout comme la Raspberry Pi 4, la Raspberry Pi 5 utilise un connecteur d’alimentation au format USB Type-C. En revanche, doublement de la puissance oblige, la puissance nécessaire à son fonctionnement passe de 7.5 W à 15 W, il faudra donc une alimentation en 3A minimum pour être tranquille. À noter que si vous souhaitez utiliser des périphériques externes qui consomment beaucoup comme des disques durs ou SSD, il est conseillé d’avoir une alimentation de 25 W (5A). La Raspberry Pi détecte si l’alimentation fournit plus de puissance et passe la limite de consommation USB à 1,6A au lieu de 1,2A.

    Raspberry Pi 5 : Nouveau South Bridge RP1 vs Raspberry Pi 4

    Le RP1 est un contrôleur d’entrée/sortie (I/O) conçu pour le Raspberry Pi 5, représentant le programme d’ingénierie le plus complexe et coûteux entrepris par Raspberry Pi, avec un développement s’étendant sur plus de sept ans et ayant coûté environ 25 millions de dollars. Ce contrôleur est le premier produit phare de Raspberry Pi à utiliser une puce conçue en interne​.

    Architecture du South Bridge RP1

    — Description : Le RP1 est un southbridge de 12×12 mm avec un pas de 0.65 mm en BGA (Ball Grid Array), fournissant la majorité des capacités d’E/S pour la Raspberry Pi 5.
    — Caractéristiques : Il comprend un point de terminaison PCIe 2.0 à 4 voies, un contrôleur Ethernet MAC Gigabit et deux contrôleurs hôtes USB 3.
    — Améliorations : Plus du double de la bande passante USB utilisable par rapport à la Raspberry Pi 4.
    — Documentation RP1 : RP1 Datasheet

    Sources des informations sur le RP1

    — L’article d’Eben Upton pour annoncer le RP1 : RP1 : the silicon controlling Raspberry Pi 5 (ce court article est accompagné d’une vidéo YT de 35 minutes à ce sujet, mais dont le contenu est reproduit textuellement en suivant un lien)
    — Lien direct vers la vidéo YT : RP1 : the silicon controlling Raspberry Pi 5

    Impacts du RP1

    Le RP1 constitue une avancée importante, puisque les GPIOs “physiques” de la carte ne sont plus directement reliées aux GPIOs du microprocesseur et de leurs fonctions possibles (SPI/I2C/UART/I2S) attribuées par le fondeur dans le silicium.

    1. Connectivité principale : Le RP1 se connecte à un processeur d’application (AP) via un bus PCIe 2.0 x4, consolidant de nombreux contrôleurs numériques et PHYs analogiques pour les interfaces externes du Raspberry Pi 5​​.
    2. Contrôle du trafic : Le tissu interne du RP1 permet de prioriser le trafic en temps réel de la caméra et de l’affichage sur le trafic non en temps réel de l’USB et de l’Ethernet. Des signaux de qualité de service (QoS) sur le lien PCI Express soutiennent la priorisation dynamique entre le trafic provenant du RP1 et le trafic des maîtres de bus en temps réel et non en temps réel au sein de l’AP​​.
    3. Fonctionnalités supplémentaires : Pour une flexibilité maximale des cas d’utilisation, le RP1 dispose de plusieurs fonctionnalités telles qu’un contrôleur DMA à huit canaux pour les périphériques à basse vitesse, trois PLL intégrées pour la génération d’horloges vidéo et audio indépendantes, un convertisseur analogique-numérique à cinq entrées, 64kB de SRAM partagée, et des générateurs de base temporelle pour le rythme de la DMA ou pour le debouncing des événements GPIO​​​​.
    4. Gestion des contrôleurs de bus : Les modules de régulation intégrés à chaque port de contrôleur de bus permettent de surveiller ou de limiter leur comportement. Ces modules régulent le flux de données selon le nombre de transactions en attente, assurent le respect des limites d’adresses AXI et PCIe, et disposent de compteurs statistiques pour évaluer la qualité de service ou les performances.
    5. Interfaces clés externes : Le RP1 fournit des interfaces externes clés telles que deux contrôleurs XHCI indépendants connectés à un seul PHY USB 3.0 et un seul PHY USB 2.0, deux contrôleurs de caméra MIPI CSI-2 et deux contrôleurs d’affichage MIPI DSI connectés à deux PHY transceivers MIPI DPHY à 4 voies partagées, et un contrôleur d’accès média (MAC) intégré pour l’Ethernet Gigabit​​​​.
    6. Compatibilité et évolution : Le RP1 maintient la compatibilité avec la gamme de fonctions offerte sur le Raspberry Pi 4 Model B, tout en permettant une évolution vers des processus de géométrie réduite, sans avoir à reproduire tous les éléments analogiques du système. Cela pourrait permettre à changer plus facilement de fournisseur de SoC.

    Évolution des performances

    Afin de permettre de mieux visualiser les évolutions des performances Alasdair Allan a fait un benchmark complet dont certains éléments sont repris ici.

    Tout d’abord une analyse des performances du CPU avec geekbench. Les Figures 1 et 2 montrent une augmentation des performances en single core d’approximativement 2.2x,
    performances single core

    Figure 1. : Comparaison des performances single core entre RPi4 et 5
    performances multi core

    Figure 2. : Comparaison des performances multi core entre RPi4 et 5

    Compilation de différents benchmarks entre RPi 4 et 5

    Benchmark Unités Raspberry Pi 4 Raspberry Pi 5 Augmentation de Performance
    Sysbench Mono-Thread MBps 699 1041 x1,49
    Sysbench Multi-Thread MBps 2794 4165 x1,49
    Stress-ng Mono-Thread op/s 104,78 182,68 x1,74
    Stress-ng Multi-Thread op/s 413,12 737,21 x1,78
    Bzip Mono-Thread secondes 44,98 20,53 x2,19
    Bzip Multi-Thread secondes 28,59 14,36 x1,99
    Gimp Redimensionner secondes 67,01 29,95 x2,24
    Gimp Rotation secondes 77,24 32,77 x2,36
    Gimp Niveaux Auto secondes 80,52 34,64 x2,32
    Gimp Masque Flou secondes 115,16 49,71 x2,32
    Speedometer 2.1 score 20,5 62,5 x3,05
    Glmark2 score 97 202 x2,08
    Openarena Timedemo FPS 8,77 27,05 x3,08
    RAMspeed Écriture MBps 4391 29355 x6,69
    RAMspeed Lecture MBps 5902 27931 x4,73
    HDparm Lecture MBps 43,81 90,05 x2,06
    dd Écriture MBps 34,49 61,23 x1,78
    Iozone 4 K Écriture RAND MBps 9,38 15,22 x1,62
    Iozone 4 K Lecture RAND MBps 4,71 4,6 x0,98
    Temps de démarrage secondes 33,4 19,1 x1,74

    performances des I/O

    La Figure 3. issue du travail d’Adafruit permet de mettre à jour le graphique sur la vitesse performance de la commutation des I/O proposé dans la dépêche sur la RPi4. La Figure 4. quant à elle montre une légère amélioration de la performance par Watt sur le nouveau modèle.

    Titre de l’image
    Figure 3. Évolution de la vitesse de commutation d’une sortie numérique

    Titre de l’image
    Figure 4. Évolution de la performance en fonction de la puissance électrique

    Interfaces USB et Ethernet

    — Interfaces: Le RP1 fournit deux interfaces USB 3.0 et deux interfaces USB 2.0, ainsi qu’un contrôleur Ethernet Gigabit.
    — Source: Circuit Digest – The New Raspberry Pi 5 is here

    Le Gigabit Ethernet fourni par le RP1 est en tout point semblable à celui du RBPi4 (voir : RP1 : the silicon controlling Raspberry Pi 5:

    Liam 13:21: So we’ve got the Ethernet MAC but not the PHY. So the Ethernet’s brought out to an RGMII interface, which then connects to an on-board Ethernet PHY.

    Eben 13:35: And this is a fairly similar architecture to Raspberry Pi 4, except that in that case, the MAC was in the Broadcom device, but there was still an external – in fact exactly the same external – PHY, [BCM]54213. Cool. So that’s the overall structure of the design.

    Interfaces MIPI CSI/DSI

    Ces interfaces d’entrée/sortie vidéo peuvent être qualifiées d’historiques dans l’écosystème RaspberryPi puisqu’elles sont présentes depuis la version 1. Le RBPi5 apporte toutefois une nouveauté assez remarquable par rapport à ses prédécesseurs : au lieu d’avoir un port CSI (pour une caméra) et un port DSI (pour un écran), les ports du RBPi5 peuvent être configurés pour l’une ou l’autre fonction. Malheureusement, cela s’est traduit par des changements notables au niveau de la disposition des composants sur la carte, qui ne sont pas sans susciter quelques grincements de dents parmi les utilisateurs.

    Les points discutables/discutés

    Le réarrangement de la carte

    — Le port audio a disparu, pour laisser sa place au port MIPI DSI (qui peut faire CSI à présent), lui-même remplacé, au-dessus du lecteur de carte microSD, par un connecteur FPC exposant les lignes PCIe.
    — le port DSI est passé de 15 pins à 22 pins (comme sur la carte CMIo4)
    — Et, encore une fois, les ports Ethernet et USB ont été inversés.

    Si cela ne pose pas de problèmes particuliers pour un utilisateur lambda, de nombreux projets basés sur les cartes RasperryPi à la recherche de performance de calcul (et donc potentiellement intéressés par ce nouveau RBPi5) doivent entièrement revoir la conception de leur matériel.

    Le non réarrangement de la carte

    C’est un reproche que l’on peut trouver dans de nombreux témoignages : mettre un HAT (carte d’extension) sur un RBPi, juste au dessus du CPU, c’est un non-sens en termes de refroidissement (et ce, quelle que soit la version du RBPi).
    Mais, pour relativiser, on peut dire la même chose de quasiment toutes les autres solutions alternatives au RBPi.

    Les limites du format carte de crédit

    Ce format (86x56 mm) est devenu une référence pour presque tous les acteurs du monde des SBC. Et donc, il s’agit là aussi d’un constat plus général, non spécifiquement adressé à RaspberryPi. Mais sachant que ce sont les locomotives du marché, peut être pourraient-ils initier une nouvelle approche…
    Certes, ce format permet d’élaborer des solutions compactes, mais l’on peut constater :

    — qu’augmenter la puissance et les fonctionnalités des puces embarquées tout en restant sur ce format conduit à un gaspillage inutile de ressources : il est en effet impossible d’implémenter toutes les fonctionnalités matérielles proposées par les puces sur une si petite surface, et par ailleurs il devient difficile de refroidir efficacement le système.
    — pour exposer le port PCIe, RaspberryPi a supprimé le port audio, déplacé le port DSI ; mais pour alimenter le bouzin, il vous faut du 5V 4A. Ensuite un peu tout le monde se trouve planté là : débrouillez-vous.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Hyprland, un compositeur Wayland « tiling »

    Hyprland est un compositeur Wayland pavant (tiling) créé par Vaxri et placé sous licence BSD 3-Clause. Si vous n’avez aucune idée de ce que cela signifie, un compositeur inclut des fonctionnalités de gestion de fenêtres. D’autres compositeurs Wayland incluent GNOME, KDE et ceux basés sur wlroots.

    Plus de détails dans la suite de la dépêche.

    Sommaire

    Hall of fame

    Avant Hyprland, Vaxri avait créé Hypr, qui fonctionnait sous Xorg et utilisait XCB, tout en adoptant une philosophie similaire en matière de gestion des fenêtres. Revenons à Hyprland : c’est un « compositeur moderne avec du style » pour traduire leur formulation. La dernière version est la v0.47.2 (une mise à jour mineure), la v0.47 datant de janvier 2025. Il existe des paquets officiels pour Arch et NixOS, mais le site fournit des instructions pour l’installer ailleurs. Je l’ai testé sur Arch, j’ai voulu me faire une idée et j’ai trouvé que ça valait le coup de partager l’expérience (NdM: « Je » est l’auteur du journal, saltimbanque).

    Notez que Hyprland est principalement un compositeur avec des fonctionnalités de gestion des fenêtres, mais pas un environnement de bureau complet. Plus de détails sur ça plus tard.

    D’après le site officiel : « Hyprland fournit les dernières fonctionnalités de Wayland, un tiling dynamique, de nombreux effets visuels, des plugins puissants et bien plus, tout en restant léger et réactif ». Sans surprise, son créateur apprécie tout ce qui touche à l’esthétique graphique.

    Ah, l’apparence !… a probablement beaucoup contribué à faire connaître Hyprland. D’après les sondages du créateur, r/unixporn a été l’un des principaux vecteurs de sa popularité. J’aime aussi, dans une certaine mesure, les effets visuels et j’apprécie l’effort fait en ce sens : de beaux espacements, des bordures, des animations. Nous avons tous joué avec Compiz quelques minutes… avant de le jeter à la poubelle car ça ne sert à rien. Heureusement, Hyprland ne se limite pas à l’esthétique et lorsque nous travaillons quotidiennement sur un ordinateur, nous pouvons apprécier son autre atout : la configurabilité. Vous pouvez utiliser plusieurs fichiers de configuration ou un seul, mais tout passe par fichier texte.

    Petit détail : modifiez le fichier texte de config, enregistrez-le et votre configuration se recharge automatiquement à chaud. Simple détail, mais agréable. Si vous faites une erreur de syntaxe, un bandeau apparaîtra et affichera les erreurs qui empêchent le rechargement. Il vous suffira alors de corriger et de sauvegarder à nouveau.

    Gestion des fenêtres

    Pour comprendre la personnalisation, il faut d’abord comprendre les bases. Hyprland est un gestionnaire en mosaïque. Par défaut, il utilise la mise en page (layout) “Dwindle”, qui était déjà utilisé par le gestionnaire de fenêtres BSPWM. La description la plus courte de ce layout serait : « Pensez Fibonacci ! »

    Fibonacci

    Bon appliqué à des fenêtres… voilà un extrait du README de BSPWM

                         a                          a                          a
                        / \                        / \                        / \
                       1   b         --->         1   c         --->         1   d
                          / \                        / \                        / \
                         2   3                      4   b                      5   c
                         ^                          ^  / \                     ^  / \
                                                      3   2                      b   4
                                                                                / \
                                                                               3   2
    
             +-----------------------+  +-----------------------+  +-----------------------+
             |           |           |  |           |           |  |           |           |
             |           |     2     |  |           |     4     |  |           |     5     |
             |           |     ^     |  |           |     ^     |  |           |     ^     |
             |     1     |-----------|  |     1     |-----------|  |     1     |-----------|
             |           |           |  |           |     |     |  |           |  3  |     |
             |           |     3     |  |           |  3  |  2  |  |           |-----|  4  |
             |           |           |  |           |     |     |  |           |  2  |     |
             +-----------------------+  +-----------------------+  +-----------------------+
    
                         X                          Y                          Z
    
    

    Un autre layout standard est “Master”. Vous pouvez modifier votre fichier de configuration pour l’utiliser à la place ou même assigner une touche pour basculer entre eux. Le layout Master fonctionne avec une fenêtre occupant la moitié de l’écran, tandis que les autres s’empilent sur l’autre moitié. Vous pouvez également changer la fenêtre maîtresse.

    Bon cette fois partageons les GIF enragés du wiki de Hyprland :

    MasterLayout

    Hyprland offre aussi des fonctionnalités de gestion des fenêtres, communes aux différents layouts :

    • plusieurs espaces de travail (avec placement manuel ou automatique des fenêtres),
    • un espace de travail spécial,
    • un système de “groupement”, permettant de regrouper et dégrouper des fenêtres,
    • mode plein écran,
    • fenêtres flottantes.

    Hyprland propose aussi un système de plugins. Et devinez quoi, un plugin a été développé pour ajouter le layout de i3 (i3 étant un WM pavant sous Xorg, dont l’équivalent sous Wayland est Sway, qui est dév. par Drew DeVault). Ce plugin s’appelle hy3. Dans i3, il y a des conteneurs, en gros c’est un layout « manuel avec des découpages horizontaux/verticaux, très simple et efficace, et la doc i3 est très bien. Parce que la doc Sway, ce sont juste des man page, ok c’est très bien aussi passons… Bref, voilà, maintenant j’ai un compositeur i3 avec des gaps et de belles animations, vous vous souvenez de i3-gaps – qui a entre-temps été intégré à i3 ? Bref, hy3 c’est ça en mieux.

    Configuration, doc, outils

    Notez que d’autres plugins existent, pour les animations, pour changer des comportements. La communauté pourrait être un bel axe de développement maintenant que d’après l’auteur le code se calme.

    À un moment un gestionnaire de plugins a été ajouté, hyprpm (pm pour package manager je suppose). Alors j’ai essayé d’installer hy3 avec, mais j’ai rencontré des soucis de versions me rappelant le bon vieux temps où les dév. de plugins gnome-shell hurlaient comme des putois quand une nouvelle version sortait. Bon bref j’ai compilé hy3 à la main à la place, mais sortez cpp et une bonne tasse de café, c’est pas juste un script Emacs en Lisp qui prend 3 secondes. Mais au moins ça a bien marché.

    Sinon la configuration permet de personnaliser le layout clavier, la résolution d’écran, l’esthétique et les animations. Beaucoup de possibilités, par ex. pour les raccourcis on peut faire des “submap” (oui je sais, i3 aussi). On peut modifier plein de choses sans redémarrer.

    On peut aussi utiliser la commande hyprctl pour communiquer avec hypr.

    Côté documentation, l’API technique est très bien couverte, mais il manque une documentation simplifiée pour une prise en main rapide. Et puis de base ne vous attendez pas à plein de raccourcis claviers pré-configurés, vous allez devoir faire les vôtres.

    Ou alors vous pouvez aussi utiliser des configurations préexistantes. On se croirait dans Doom Emacs !

    Hyprland n’est pas un environnement de bureau complet. Il vous faudra un tableau de bord, un lanceur d’applications et d’autres outils. Quelques options populaires :

    • barre d’état : Ashell (prêt à l’emploi) ou Waybar (très personnalisable). A noter qu’il y a maintenant des mini libs pour se faire ses barres facilement comme quickshell, astal ;
    • lanceur d’applications : Wofi (simple, clavier + souris) ;
    • ou le fait d’utiliser un tiling peut même vous donner envie de changer de terminal ? Foot, Kitty, Alacritty, etc.

    Mais Awesome Hyprland vous listera bien plus de choses.

    Je n’ai pas encore testé ibus, et je sais que je vais rencontrer des soucis avec cela, comme j’en aurai sous Sway… (Pas trop envie de passer sous fcitx mais on verra)

    Aspects techniques, conclusion

    Au cours du développement de Sway, Drew Devault a conçu une bibliothèque, wlroots, qui est devenue indépendante de Sway et utilisée par d’autres compositeurs wayland.

    Hyprland a démarré en 2022. En 2024, la dépendance à wlroots, qui était inclus sous forme de « submodule git », a été abandonnée au profit de Aquamarine, un moteur de rendu en C++. L’abandon de wlroots, d’après l’auteur, tient au fait que

    • wlroots est en C,
    • wlroots manque de doc,
    • faire évoluer wlroots prend du temps,
    • et accessoirement parce qu’il a été banni ! (Bon là désolé je préfère passer du temps sur la revue de Hyprland que sur les feux de l’amour, voyez ici).

    Mais Aquamarine n’est pas un compétiteur de wlroots.

    Conclusion

    Hyprland, comme d’autres, ça prend un max de temps à s’approprier. Il faut lire et configurer à tout-va, même si après-coup on se rend compte que c’était simple. Ce qui l’est moins, c’est de choisir sa manière de travailler.

    J’adore jouer avec les gestionnaires de fenêtre en mosaïque et Hyprland est une belle découverte. J’avais peur d’un simple ensemble d’animations flashy, mais il offre bien plus que cela. J’aimerais voir un tableau de bord style “Activités” de GNOME pour visualiser toutes les fenêtres et espaces de travail en un coup d’œil. Peut-être qu’avec le temps, quelqu’un développera cette fonctionnalité… ou alors je finirai par coder un petit quelque chose moi-même ! j’ai déjà remarqué que quelqu’un a codé « hot corner », surprenant pour un tiling!

    Commentaires du journal

    Sources 1 et 2

    • multi-écran possible
    • définition des raccourcis et des règles.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Cloonix version 46

    Cloonix est un outil d’aide à la construction de réseau virtuel, sous AGPLV3 (inclus qemu-kvm, openvswitch, spice, crun et wireshark).

    C'est pensé comme Docker, dont le succès provient de l'absence de tracasseries au moment de l'empaquetage, en mettant bibliothèques et binaires dans un espace de nommage (namespace). Docker est un produit de grande qualité mais il n'y a pas que sa méthode. Cloonix utilise les mêmes principes de namespace, sans infrastructure d'accueil pour faire tourner les conteneurs. Notez qu'un logiciel qui s'installe puis tourne avec les droits limités d'un utilisateur normal est la meilleure façon de décourager un pirate. Donc, pour essayer Cloonix 46, un fichier auto-extractible sans dépendance à la distribution qui l'héberge vous attend ! Téléchargez, cliquez…

    Cloonix est un outil pour étudier les réseaux. Il permet de faire des scripts de scénarios avec plusieurs machines connectées, les machines étant soit des vraies machines virtuelles tournant avec kvm, soit des conteneurs tournant avec crun. Cette maquette simplifiée de réseaux avec leur visualisation permet de transmettre des démonstrations réseaux entre utilisateurs. J'ai présenté Cloonix plus largement dans mes dépêches précedentes.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Atelier : Mieux comprendre l'impact du Cyber Resilience Act sur les pratiques Open Source !

    ATELIER du lundi 31 mars de 11h30 à 13h30 à Paris (participation en ligne possible).

    Titre de l'image

    Etes-vous prêts pour les échéances de 2026 et 2027 du Cyber Resilience Act (CRA) ?

    Le CRA est un dispositif adpoté par la Commission Européenne en 2024 pour répondre à la vulnérabilité accrue aux cyberattaques des entreprises et services publics européens,. Il vise à renforcer la cybersécurité et la cyberrésilience des produits logiciels (et matériels qui comportent des éléments numériques) connectés.

    Le premier guide de conformité au CRA dédié aux acteurs de l’open source, proposé par le CNLL et inno³ a pour objectif de faciliter la compréhension du CRA et les effets attendus, et de proposer des recommandations concrètes.

    N'attendez pas pour commencer à évaluer vos obligations nouvelles à venir et les adaptations nécéssaires de vos processus, rejoignez l'atelier du 31 mars !

    📅 Quand ? Le 31 mars de 11h30 à 13h30, la rencontre sera suivie d'un buffet pour les personnes sur place.

    📍 Où ? 137 Boulevard de Magenta 75010 Paris (nombre de places limité, participation en ligne possible).

    L'objectif est de rendre la session de discussion la plus active possible, n'hésitez pas à lire d'un œil critique et intéressé le guide en amont. Vous pouvez même nous envoyer dès aujourd'hui vos diverses questions ou remarques afin de nous aider à préparer l'atelier : mission-cra-cnll@framagroupes.org.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Première publication libre de Multigit

    Multigit est un outil graphique conçu pour simplifier la gestion de projets composés de beaucoup de dépôts git.

    Une image et une vidéo valant mieux qu'un long discours, voici à quoi ça ressemble:

    Screenshot

    Je l'ai développé dans le cadre de mon travail chez IDEMIA où nous sommes souvent confrontés à plus de trente (voire plus de soixante) dépôts à gérer conjointement sur un projet. Dans ce contexte, la moindre opération git devient un mini-défi qu'il fallait relever quotidiennement.

    Multigit est abouti et stable, il est utilisé au quotidien par plus d'une centaine de personnes (sous Windows), depuis plusieurs années. Mon employeur m'a aimablement autorisé à le publier en Open Source, ce dont je lui sais gré. Il est publié sous licence Apache 2.0

    La problématique de gestion de plusieurs dépôts git conjoints pour un projet est assez peu répandue dans le monde du logiciel libre. Mais beaucoup plus dans le monde de l'entreprise. En effet, git ne gère pas la notion de droit d'accès à une partie d'un dépôt. La seule façon de restreindre l'accès à certains parties d'un projet est donc de créer un dépôt spécifique pour les y stocker, avec des droits d'accès au niveau du dépôt. Ajoutons à cela beaucoup de personnes, beaucoup de projets parfois complexes, beaucoup de sous-projets, beaucoup d'historique et on se retrouve avec une gestion des sources particulièrement complexe. Complexe … avant l'arrivée de Multigit en tout cas.

    Installation

    Sous Linux, la seule option d'installation disponible à l'heure actuelle est Python + pip, ou encore mieux avec pipx:

        $ sudo apt install python-pipx
        $ pipx install multigit_gx
        $ multigit
    

    Sous Windows, un installeur graphique click-and-play vous permettra d'arriver au même résultat.

    J'ai bien tenté de fournir un snap pour Linux mais snap est conçu pour empêcher à peu près tout ce que veut faire Multigit: accèder à tous vos fichiers et lancer des programmes de votre distribution (git, gitk, …)

    Je ferai mieux dans la prochaine version. D'ailleurs, si vous avez des recommandations pour un packaging moderne, simple, facile à maintenir et couvrant toutes les distributions Linux, je suis preneur.

    Contribution

    Le projet est géré sous GitHub, les contributions ou les retours sont les bienvenus.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    ❌