Re: splash(4) support in vt
- Reply: Gleb Popov : "Re: splash(4) support in vt"
- In reply to: Gleb Popov : "splash(4) support in vt"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 15 Mar 2023 19:56:44 UTC
On Wed, 15 Mar 2023 at 12:59, Gleb Popov <arrowd@freebsd.org> wrote: > > Hello hackers! > > I found an old post [1] regarding splash(4) support for vt. The > company I'm working for wants to invest some time into making the > FreeBSD boot process as shiny as possible. Can someone knowledgeable > on the topic give us some insight on where to start? > > Our ultimate task is being able to render a GIF logo right from the > boot splash screen and until X session kicks in. That's great, I'd very much like to see this supported. HelloSystem has the same desire, you can see the issue at https://github.com/helloSystem/ISO/issues/226. There are many individual tasks to be taken on; we need at least to get the image displayed earlier in the boot process, support more than just a 2-colour image, and support a user-provided (rather than compiled-in) image. We probably also need some animation support (e.g. a spinner). These tasks are all related but are mostly independent, so could be taken on in any order. What is your priority on these? The Wiki page linked from the mailing list posting is https://wiki.freebsd.org/MateuszPiotrowski/ImproveVtSplashScreenSupport, and it has a basic introduction. Looking at the source, the current logo is stored in sys/dev/vt/logo/logo_freebsd.c as a C array holding a 257x219 bitmap. If you look at vt_fb_bitblt_bitmap (and similar functions in other drivers) you can see that it loops over each pixel where the image will be drawn, and sets it to either the foreground or background color. The compiled in logo is passed to the specific driver's vd_bitblt_bmp function in vtterm_splash().