Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Mar 2014 20:59:49 +0900
From:      Seiya Nuta <nuta@seiya.me>
To:        freebsd-hackers@freebsd.org
Subject:   GSoC'14 proposal: a new bootsplash screen
Message-ID:  <038860B8-7034-4AA7-A8F8-1A7AB4D7FB1C@seiya.me>

next in thread | raw e-mail | index | archive | help
Hi, everyone

I am Seiya Nuta, a university student in Japan and I=92m going to submit =
a GSoC proposal.

I want to develop a new bootsplash mechanism to add animation such as =
progress bar.
It eases concern whether it works on boot and enhances the =
attractiveness of FreeBSD
to desktop users.

I=92m willing to work on this even if my proposal is not accepted so I =
would like you to tell
me your frank opinion about my proposal.

My proposal is as follows:

Description:
I propose a new bootsplash mechanism. Currently, we can enable =
bootsplash by adding few
options such as `splash_bmp_load' to /boot/loader.conf but it only =
displays an image
file. I worry whether it works well on boot so I assume we need a new =
bootsplash which can
display animation: progress bar, loading circle ball. Themes are kernel =
modules and draw
images in two ways: direct drawing and layered drawing.  Direct drawing =
is same as
splash_bmp; only draw an image. Layered drawing is a new way; stack =
images and text. It
also enables technique like CSS sprite.

Deliverables:
- Implementation of bootsplash direct drawing / layered drawing
- Makefile and scripts for creating bootsplash themes
- Example themes

Test Plan:
  #1:
    - write code in VM on VirtualBox
    - `make` and copy generated kernel and modules to /boot
    - launch .vdi of the VM with QEMU on host OS
    - check output and dmesg
  #2:
    - `make buildinstall` on a real machine.
    - boot it
    - check output and dmesg

Schedule:
  Work Period #1
    - (May  19 - May  25) implement direct drawing
    - (May  26 - June 8)  add changes to src/sys
    - (June 9  - June 15) write Makefile and scripts for creating themes
    - (June 16 - June 22) create and enjoy a flip book in bootsplash =
using direct drawing
  Work Period #2
    - (June 23 - June 29) print characters in a framebuffer
    - (June 30 - July 20) implement layered drawing
    - (July 21 - July 27) support layered drawing in scripts for =
creating themes
    - (July 28 - 'pencils down' date) create themes

Regards,
Seiya Nuta




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?038860B8-7034-4AA7-A8F8-1A7AB4D7FB1C>