Plymouth pourrait remplacer USplash dans Ubuntu?
En juillet, Red Hat annoncé son intention de remplacer rhgb par Plymouth, un nouveau processus de démarrage graphique qui est capable de tirer profit des toutes dernières capacités graphiques de Linux. La grande nouveauté tient dans l’utilisation du kernel mode-setting. C’est-à-dire que la configuration graphique est réalisée par le noyau et non par Xorg. Au boot, la configuration graphique est chargé pendant l’initialisation du système de disque RAM (initrd).
La version actuelle de Plymouth est la 0.6.0. Son développement a débuté en mai 2007 et il est effectué sous la coupe de Ray Strode. Toutefois, ce projet n’était pas très soutenu jusqu’au début de cette année ou la décision d’introduire Plymouth dans Fedora 10, a remis un coup de pompe au développement et il est maintenant en plein essor. Plymouth a son code hébergé sur le serveur Git de FreeDesktop.org. Attention il est important de préciser que Plymouth n’est pas une solution qui peut être construite ou empaquetée pour votre distribution, mais qu’elle nécessite une intégration pleinement maîtrisée dans celle-ci. Toutefois, depuis que le Kernel mode-settings est présent dans la branche principale du noyau Linux, on verra sans aucun doute d’autres distributions utiliser Plymouth et développer leur propre interface de démarrage.
Vous l’aurez donc compris, Plymouth propose un certain nombre de plug-ins et d’API pour créer des effets visuels unique ce qui va ravir les artistes et les développeurs qui vont pouvoir se lâcher. Il existe un cahier des charges sur Launchpad qui va permettre d’évaluer l’intégration de Plymouth dans Ubuntu dans le cadre du projet de remplacement de USplash. Matthew Paul Thomas de Canonical a confirmé sur la liste de diffusion des devs que l’avenir de Plymouth dans Ubuntu sera également discuté lors du Ubuntu Developer Summit (UDS) qui aura lieu début décembre.
Il serait certainement intéressant de voir Ubuntu passer à Plymouth. Si aucun doute ne plane sur le fait que l’intégration de Plymouth ne pourra pas être effective dans Ubuntu 9.04, il serait néanmoins intéressant que le noyau Linux 2.6.29 soit intégré afin de bénéficier du support du nécessaire Kernel mode-setting et ainsi pouvoir commencer à travailler sur le sujet dans le cas d’une intégration future. Fedora 10 est la seule distribution stable à l’heure ou ce billet est écrit qui utilise Plymouth.
Une petite vidéo pour vous rendre compte :



Petite précision: le kernel-based mode-setting (KMS) n’est pas encore disponible pour toutes les cartes graphiques.
En effet, il est d’abord apparu sous Fedora 9 pour les cartes Intel. Depuis, le pilote Intel est entré dans une phase de réécriture complète, et le KMS n’a pas encore été réalisé.
Pour les cartes AMD, le driver libre radeon fournit le KMS de façon correcte.
Enfin, les cartes Nvidia, tout le monde s’en doute, rien pour elle tant que nouveau n’aura pas pris son essor vu la politique menée par la société.
En conclusion, sous Fedora 10, seuls les possesseurs de carte AMD utilisant le pilote libre radeon peuvent profiter du boot graphique.
C’est sans aucun doute pour cela qu’Ubuntu attend avant d’intégrer Plymouth, les autres utilisateurs vivant cette évolution comme une petite régression (j’ai personnellement une carte Intel, j’ai droit a une barre de progression en mode texte au démarrage).
Enfin, un point sur lequel j’aimerais insister:
> « Au boot, la configuration graphique est chargé pendant l’initialisation du système de disque RAM (initrd). »
Cela signifie qu’on peut avoir un boot graphique dès la sortie de Grub, avant même que le kernel ait démarré !
En pratique, sous Fedora 10, on a complètement masqué Grub. Au boot, on a donc:
- le BIOS
- un chargement graphique avec Plymouth
- GDM
Si KMS est activé, tout ça (sauf le BIOS bien sur ^^) est graphique, avec une transitions totalement fluides entre Plymouth et GDM (pas de clignotement, pas de délai entre l’un et l’autre).
Quoi qu’il en soit, il est clair que Plymouth représente l’avenir en matière de démarrage. Son hébergement chez Freedesktop en fait un candidat idéal pour toutes les distributions.
@Bochecha
« En conclusion, sous Fedora 10, seuls les possesseurs de carte AMD utilisant le pilote libre radeon peuvent profiter du boot graphique. »
Ce n’est pas forcément l’endroit pour en discuter, mais c’est faux. Je ne peux pas te dire pourquoi et comment ça marche mais j’ai le démarrage graphique avec ma carte nvidia, en changeant le mode vga pour le boot.
@Noee:
héhé
Je l’attendais celle-ci
Alors, reprenons. Plymouth, on l’a vu, permet d’utiliser le KMS; donc, _sans lancer de serveur X_, il peut faire un affichage graphique poussé.
Les cartes n’ayant pas de KMS ne peuvent donc pas avoir de démarrage graphique avec Plymouth.
Effectivement, y a moyen de gruger le bazar. En ajoutant le ‘vga=’ qui va bien à la ligne de boot du kernel, on va forcer Plymouth à utiliser le driver vesa. Et là, effectivement, on a bien un démarrage graphique.
MAIS (car il y a un mais):
- on ne profite pas des autres améliorations apportées par KMS (la disparition des « clignotements » qui font perdre du temps par exemple)
- c’est totalement déconseillé par les devs de Plymouth (et il doit bien y avoir une raison pour ça
voila voila
En tous cas, d’ici à ce qu’Ubuntu l’intègre, gageons que KMS sera prêt pour les cartes AMD et Intel au moins. Pour les drivers proprios Nvidia, ça ne dépend pas de nous
Inutile donc … indispensable
C’est mimi tout ça. Cependant, plutôt que de faire un truc super chiadé avec l’animation des vents solaires, un truc sobre suffirait. Le plus important à mon sens est de réduire le temps de boot.
Parce que là, c’est beau, mais qu’est ce que c’est lent !
Zieutons du côté du Mac, ou le boot se fait graphiquement de A à Z en une trentaine de secondes au pire…
Le point positif : pas de flickering, une transition propre dès le boot jusqu’au bureau.
On est sur la bonne voie… Patience. (comme souvent)
@giz404:
N’oublie pas que MAC maitrise tant son hardware que son software. Quand tu n’as pas des milliers de systèmes différentes à supporter, ça aide à booter plus vite.
Enfin, contrairement à ce qui a été dit, Plymouth ne change rien concernant la vitesse du boot. C’est juste une jolie couche graphique bien foutue permettant tout et n’importe quoi (dont des trucs plus sobres, comme le magnifique thème spinfinity par exemple
)
Fedora (entre autres évidemment) est en train de travailler sur le process de boot pour le rendre plus rapide. Le KMS était une étape nécessaire. Un gros travail a aussi été fait sur readahead. Ubuntu a apporté Upstart qui, même s’il n’apporte pas grand chose pour l’instant, pose les fondations pour une refonte du système de boot permettant éventuellement de grosses améliorations futures.
A noter aussi les deux conférenciers du LPC 2008 qui ont fait booter leur netbook en 5s, tant à partir d’une Fedora que d’une Ubuntu (donc modifications cross-distribs et non pas spécifiques). Ca devrait permettre une bonne réflexion pour l’avenir.
Bref, comme tu le dis, on est sur la bonne voie. Et à la vitesse où bougent les choses dans le libre, on ne peut qu’espérer une fin heureuse sous peu
Ca sent les plantages graphiques dès le boot ca …..
En plus il faudrait peut etre se poser la question : A quoi ca sert ?
J’ai bien une réponse du style : Pour faire plaisir a toute une génération de gens qui n’ont d’intéret que pour les zolis effets graphiques un max partout meme dans leur telephone !
Il faut effectivement voir a quoi sert son Os … si c’est pour en mettre plein la vue aux potes… ca peut être bien…. je l’essairai bien juste pour cela
Est-ce que quelqu’un a l’adresse du site du projet Plymouth?
@korbé: Suffisait de demander
http://www.freedesktop.org/wiki/Software/Plymouth
Oui, c’est chez FreeDesktop, donc totalement non spécifique à Fedora
@sgamier: A quoi ça sert ? A avoir un boot qui a de la gueule, à rien d’autre.
Le boot, c’est le premier truc qu’on voit d’un OS. Avoir un boot entièrement graphique, ça permet de donner un look beaucoup plus « pro » à ton OS.
Enfin, pour ta crainte sur le plantage graphique dès le boot, c’est effectivement possible, mais relativisons:
- pas de serveur X lancé => risque moindre
- KMS permettra d’afficher graphiquement les kernel oops, afin d’obtenir de bons messages d’erreurs lisibles et exploitables.
Le BSOD est donc enfin à notre portée