Plymouth is a very advanced bootsplash that can show also show animations and supports DRM/kernel modesetting, so if the graphical drivers support it the transition from VT to X is flickerless. I think it would be cool to add it to Portage - at least the users with kernel modesetting drivers might welcome it. As the project started on Fedora, a Gentoo user already asked on the Plymouth mailing list how it would be possible to install it on Gentoo and got this response: http://lists.freedesktop.org/archives/plymouth/2009-May/000087.html If you want to see what Plymouth is capable of you can see an earlier version on Fedora 10, tested by Phoronix: http://www.phoronix.com/scan.php?page=news_item&px=Njg3Nw ...or just search the YouTube :P There's some more info about the project on Fedora's wiki: https://fedoraproject.org/wiki/Features/BetterStartup
I'm very much in favor of this. Has there been any progress on this?
First someone would have to make a working ebuild that installs the libs/bins to the correct places. Next step is to get initscripts make it apperes during boot, disappear when it is logintime, maybe also appear during shutdown time. Last step is to make a patch for genkernel so it is possible to place it into an initramfs. Currently I know of noone working on this, and I hope this bug will remain silent until someone has something to present, like for example anything of the above, or need help getting the pieces together. Comments about "I want this too" will not help, only spam this bugreport and possibly irritate CCs. But comments like "I have done something and need help with it" will help.
At least there seems to be an ebuild for it: http://gentoo-overlays.zugaina.org/bangert/portage/sys-boot/plymouth/
Created attachment 208174 [details] sys-boot/plymouth-0.7.2.ebuild Updated ebuild for 0.7.2
Created attachment 208176 [details] 0001-Gentoo-does-not-have-dev-fb-but-dev-fb0-at-least-on-.patch Patch that was necessary to get plymouth running on my system. Might be solved better using some udev-foo.
Created attachment 208201 [details] plymouth-0.7.2-r1.ebuild plymouth-set-default-theme script requires "nash", so added runtime dep for sys-apps/mkinitrd
It does not really need mkinitrd, you can just as well omit it from the deps. Having that as a rdepend is somewhat like *-sources rdepend on genkernel becouse it is offers a convenient way to generate kernel- and initrd- files.
Well it feels like it needs something, as the script errors when you run it without the package. Maybe it should be an option as a use flag?
nash dependency has been removed 3 days ago: http://cgit.freedesktop.org/plymouth/commit/?id=8e70c530ea2937ac5a621e7974e35554108f2e2b General question: does it work? I mean did you managed to make it run? I found an another guide http://wiki.archlinux.org/index.php/Plymouth but can't make use of it. Can you list down steps briefly for Gentoo specifically?
I've gotten it to run before. It's not horribly difficult. I did something similar to Fedora's method. I hacked at their mkinitrd to work reasonably well with Gentoo, compiled/installed Plymouth, set up my kernel to use KMS by default on Radeon cards (and of course enabled initrd support), and set grub.conf to use the initrd. There are some pretty gaping holes feature-wise, though. Gentoo's init system doesn't currently signal Plymouth to let it know whether there's progress, an error, etc. So it will stay on the graphical boot screen until it gets terminated (I set /etc/init.d/local to do this via some command similar to "plymouth --exit"), the user switches VTs or hits escape, or until X starts. It's pretty, but somewhat less functional than you might like. Plymouth's git repository has some documentation about how to get it to work nicely (in INSTALL or README, I can't remember which).
Now that Ubuntu is also using plymouth (with their 10.04 release), it looks like plymouth will be the new standard bootsplash for linux. So imho it should be also supported in gentoo. And it does not only look cool but also has nice features :) So, has there been any progress lately?
I had a short conversation with Roy Marples about bootsplash integration with openrc, which is basically what we want to do. From what I known noone is working on this. But Roy gave me this hint: I also have a side project called CurSplash which is basically a curses based splash screen + progress bar for OpenRC and Linux. I mention this, because you can just look at the code to find out how I made this work as early in the boot process as possible and how you can hook into the boot events. Basically, http://roy.marples.name/projects/cursplash/browser/openrc/cursplash.c lines 614-665 are of direct interest and rc_plugin_hook(3) should document that a lot better. Also Ray Strode gave me this hint: Normally plymouthd is started from the initramfs. If you start plymouthd with --attach-to-session it redirects all messages going to /dev/console to offscreen (boot.log) Checkout the INSTALL file in the plymouth source tree for some tips. I currently lack the time to look at this but basically this is all one needs to know to implement it.
Is there any progress on this? (meanwhile, ubuntu also uses plymouth, so i expect it to be (more or less) the standard for bootsplash. So gentoo-users should have the option to use it too.)
(In reply to comment #13) > Is there any progress on this? > > (meanwhile, ubuntu also uses plymouth, so i expect it to be (more or less) the > standard for bootsplash. So gentoo-users should have the option to use it too.) > The attached ebuild works fine with dracut. However, about how to terminate plymouth upon successful boot, it is now handled by gdm.
There is already 0.8.3 version on http://cgit.freedesktop.org/plymouth/ Waiting for the moment when I can use it with my Gentoo (^_^)
This ebuild should depend on multipath-tools. I tried plymouth-set-default-theme -R and get an "which: no multipath in..." error. (Or is this dracut related?)
I've modified the ebuild for plymouth 0.8.3 and also the patch, since the file which needs to be patched was renamed and is located in another directory - to work around the Q/A warning i had to remove 2 other files, maybe ther's another solution? I was able to install plymouth 0.8.3 and generate the initrd with dracut. But now i get an error: /pre-trigger/10plymouth-pretrigger.sh: 20: /lib/udev/console_init: not found I've found the file which causes the error, ther's the command /lib/udev/console_init tty0 Since console_init seems to be fedora&co specific, it's not included in gentoo. How could this command be achieved in gentoo? Maybe we need another patch... If i get it working i could write a howto, maybe someone will make a gentoo specific plymouth bootsplash...
Created attachment 238207 [details] plymouth-0.8.3.ebuild
Created attachment 238209 [details, diff] 0001-Gentoo-does-not-have-dev-fb-but-dev-fb0-at-least-on-.patch
Thank you for the ebuild! I was looking forward to it. :-) console_init is installed by 10redhat-i18n (which is, as name says, strictly RH/Fedora specific) up to 006 version. The latest git version has generic 10i18n. It includes console_init rewritten in sh. I've prepared rough fixup for that. See: http://bugs.gentoo.org/show_bug.cgi?id=324705
Created attachment 238383 [details] QA bugfixes
Bug #329003 - dracut-006-r1 with fix mentioned above. To run append "quiet splash" to kernel arguments.
Nice to see the progress. Btw, anyone tried to get that working with encrypted partitions? Seems that on Fedora plymouth also gives graphical prompt for password: grep luks /etc/init.d/livesys plymouth ask-for-password --command="cryptsetup luksOpen $homedev EncHome"
(In reply to comment #23) > Btw, anyone tried to get that working with encrypted partitions? Seems that on > Fedora plymouth also gives graphical prompt for password: I tried ebuild in Gentoo with dracut-006-r1.ebuild and worked for me.
In /etc/dracut.conf enable the crypt module, by default it is listet under the line "modules to omit" and therefore not enabled. I read some docs about how to enable plymouth with nvidia drivers under arch and ubuntu, but still get only a blue progressbar at boot - anyone with more success?
Guys, I suggest to move all discussion to the wiki: http://en.gentoo-wiki.com/wiki/Plymouth and keep this long term bug clear.
configure: error: Package requirements (libdrm libdrm_intel libdrm_radeon libdrm_nouveau) were not met: No package 'libdrm_intel' found No package 'libdrm_nouveau' found I am using xf86-video-ati and it seems that there should be patch to allow users to install only used videodriver.
I managed to get plymouth working with dracut, but now init seems to hang. Initrd boots, but then the hole console output hangs. If I keep pressing "Enter" the output scrolls along and the system continues booting... Is anybody else experiencing this? I tried it on two different machines but with the same results...
Created attachment 243221 [details] plymouth-0.8.3-r2.ebuild fix for amd64
Created attachment 243231 [details] plymouth-0.8.3-r3.ebuild some QA fixes
When I try to install plymouth-0.8.3-r3.ebuild, I receive a message from portage saying thet the package is masked by missing keyword. How to fix that?
Either add suitable keyword to KEYWORDS variable in the ebuild or append following line to /etc/portage/package.keywords: sys-boot/plymouth **
Created attachment 259657 [details] Gentoologo for branding plymouth I've just put a random Gentoo image to replace the BIZCOM logo in plymouth :)
Created attachment 259658 [details] Plymouth init script
Created attachment 259660 [details] sys-boot/plymouth git ebuild It can be improved but kind of work for me.
Created attachment 260027 [details] Gentoologo for branding plymouth can still be better...
Created attachment 260028 [details] Gentoo logo for branding plymouth can still be better...
Comment on attachment 260027 [details] Gentoologo for branding plymouth Sorry for the duplication
Created attachment 261231 [details, diff] makes makes libdrm_intel, libdrm_radeon, libdrm_nouveau independently optional This patch makes makes libdrm_intel, libdrm_radeon, libdrm_nouveau independently optional, thus libdrm dependency can be made entirely optional if none of these drivers are enabled, and not even libkms. That way, plymouth can be built and used on systems without DRM / KMS support, for usage with uvesafb for example, like users of the proprietary Nvidia or ATI drivers are forced to use for the bootsplash. Patch also submitted upstream, see http://bugs.freedesktop.org/show_bug.cgi?id=29804
Created attachment 261233 [details] updated ebuild with optional libdrm dependency contriolled by USE and VIDEO_CARDS This new version of the ebuild honors the patch which makes DRM / KMS optional, and also drops calling any plymouth initrd utility scripts in the install phase as this is totally senseless at that time, the utilities might not even yet be present on the system on a fresh install...
Created attachment 261316 [details] updated ebuild (patch integrated upstream) Ray Strode, the upstream maintainer commited my patch, so it's no longer needed in the ebuild.
FYI: I'm improving ebuild a bit and will commit into tree as soon as I will have write access to it. (I'm waiting for final recruiters approval.)
Created attachment 261457 [details] plymouth-0.8.3-r4.ebuild What's new: - libdrm_intel, libdrm_nouveau and libdrm_radeon are optional and controlled by USE flags (Lucian Muresan) - branding (Favero Francesco) - initd script (Favero Francesco, but slightly modified) - dropped dracut dependency (it's not required) - mounting /boot is not necessary - works with libpng-1.4.x - static libraries are disabled - *.la files handled by autotools-utils eclass - EAPI changed to 3 - more informative postint message Related new files: 0.8.3-drm-reduce-minimum-build-requirements.patch 0.8.3-image-replace-deprecated-libpng-function.patch plymouth.initd
Created attachment 261459 [details, diff] 0.8.3-drm-reduce-minimum-build-requirements.patch [Related to: plymouth-0.8.3-r4.ebuild] drm: reduce minimum build requirements This patch adds the respective configure options to make it possible to disable libdrm_intel, libdrm_radeon, libdrm_nouveau independently from each other. NOTE: The patch is based on work of Lucian Muresan <lucianm@users.sourceforge.net> that fixes bug report: https://bugs.freedesktop.org/show_bug.cgi?id=29804 This one is adjusted to version 0.8.3 which doesn't support libkms yet.
Created attachment 261461 [details, diff] 0.8.3-image-replace-deprecated-libpng-function.patch [Related to: plymouth-0.8.3-r4.ebuild] The png_set_gray_1_2_4_to_8 function is deprecated and has been removed from libpng14. Now png_set_expand_gray_1_2_4_to_8 is used instead which is compatible with libpng-1.2.9 and greater. Patch by Brett Witherspoon <spoonb@cdspooner.com>, see: http://cgit.freedesktop.org/plymouth/commit/?id=07329b72687ccc7a9015de4a48fae297d6d5ff96
Created attachment 261462 [details] plymouth.initd Slightly modified Favero Francesco's plymouth.d (attachment #259658 [details]).
Created attachment 261464 [details] plymouth-0.8.3-r4.ebuild I have restored dependency >=media-libs/libpng-1.2.16. In #261457 I have unnecessarily changed it to >=1.4.x. Related files: 0.8.3-drm-reduce-minimum-build-requirements.patch 0.8.3-image-replace-deprecated-libpng-function.patch 0.8.3-gentoo-fb-path.patch (attachment #238209 [details, diff]) plymouth.initd
Created attachment 261479 [details] updated live ebuild @Amadeusz ?o?nowski: I aligned the live ebuild to yours, now it can even be renamed for the next upstream release if no more essential things will change.
(In reply to comment #48) ... > @Amadeusz Żołnowski: I aligned the live ebuild to yours, now it can even be > renamed for the next upstream release if no more essential things will change. Maybe it would make sense you'd adopt it in your overlay, too, for other users convenience? Also, i.m.h.o. the sed line adjusting /dev/fb0 makes maintenance of the released ebuilds easier.
Created attachment 261487 [details] plymouth-0.8.3-r4.ebuild Using PATCHES array instead of manually invoking epatch.
Created attachment 261488 [details] plymouth-9999.ebuild Live ebuild based on attachment #261479 [details] by Lucian Muresan and stripped from conditions to be git-only and therefore simpler. I have pushed 9999 to my overlay, too. Lucian Muresan, thanks!
(In reply to comment #49) > (In reply to comment #48) > ... > > @Amadeusz Żołnowski: I aligned the live ebuild to yours, now it can even be > > renamed for the next upstream release if no more essential things will change. > Maybe it would make sense you'd adopt it in your overlay, too, for other users > convenience? Also, i.m.h.o. the sed line adjusting /dev/fb0 makes maintenance > of the released ebuilds easier. I think patches are better, because if patch will fail you immediately see that something important has been changed. With sed you might miss that. Multi-purpose (live&stable) ebuild is nice, but in fact imho it's easier to maintain shorter and simpler one even if one needs to change a bit. Converting from live to stable is just a matter of updating URI, src_prepare() and possibly PATCHES.
Created attachment 261498 [details] plymouth-0.8.3-r4.ebuild dracut dependency is required. Sorry for confusion. :-)
Created attachment 261500 [details] plymouth-9999.ebuild dracut dependency is required. Sorry for confusion. :-)
I've just updated wiki: http://en.gentoo-wiki.com/wiki/Plymouth Please correct me if I have missed something.
I added info about the fact that plymouth actually can be used also without DRM or libkms drivers, maybe lots of users which for some reason cannot use such a driver do not know this.
(In reply to comment #56) > I added info about the fact that plymouth actually can be used also without DRM > or libkms drivers, maybe lots of users which for some reason cannot use such a > driver do not know this. Cool, thanks. (I've put it into a note block.)
Created attachment 261506 [details] plymouth-0.8.3-r5.ebuild Updated postinst message with link to wiki and did a few other fixes in the ebuild.
Created attachment 261508 [details] plymouth-9999.ebuild Updated postinst message with link to wiki and did a few other fixes in the ebuild.
I'll commit ebuild for 0.8.3 today/tomorrow CEST evening with ~amd64 keyword. Does plymouth-0.8.3-r5 works for all of you? I'll later do tests on some x86 machine.
Gentoo logo's red letters have some tiny artifacts in solar theme and it could be bigger. I'll try to improve it unless someone's willing to do it. Also need to perform a few more tests. Sorry for delay.
To get rid of the artifacts i took the logo at http://www.gentoo.org/images/gentoo-logo.svg and made a 150x157 png of it. looks good if you ask me, but if the other logo is better i will try to get rid of the artifacts.
Created attachment 263153 [details] replacement for the gentoo plymouth logo alternate gentoo logo for plymouth, replaces /usr/share/plymouth/bizcom.png
Tested with radeon and nouveau. brot reported to me it works with intel as well. Eventually committed into tree as plymouth-0.8.3. I've also updated Wiki page and removed 0.8.3-r5 from my overlay. Thank you all for contribution and feel free to report future bugs. :-)
Don't know if this is the right place to ask for this question; but why plymouth depends of gtk? I have not installed it, is strange that I should install it and its dependencies only for plymouth.
(In reply to comment #65) > Don't know if this is the right place to ask for this question;but why > plymouth depends of gtk? I have not installed it, is strange that I should > install it and its dependencies only for plymouth. Upstream doesn't support making it optional, although it could be made in an ebuild with some hacks. Please file another bug report about that if you're interested in that feature. I'd take a deeper look at it later.
(In reply to comment #66) > Upstream doesn't support making it optional, although it could be made in an > ebuild with some hacks. Please file another bug report about that if you're > interested in that feature. I'd take a deeper look at it later. Thank you so much for your answer, here is the bug report: http://bugs.gentoo.org/show_bug.cgi?id=359483.
I'm closing. Any issues with Plymouth please file as new bug reports.