Opened 12 years ago

Closed 11 years ago

Last modified 11 years ago

#1119 closed enhancement (fixed)

The boot screen doesn't have "some" kind of animation to indicate system activity or inactivity.

Reported by: kaoutsis Owned by: stippi
Priority: normal Milestone: R1
Component: System/Kernel Version: R1/pre-alpha1
Keywords: Cc: harakash@…
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

The boot screen doesn't have "some" kind of animation to indicate system activity or inactivity. A proposal: the three leaves would be fall at three different major system activities, at different times.

  • The black background is somehow oppressive and ... mourning?

Attachments (7)

bootsplash.diff (14.4 KB) - added by aljen 11 years ago.
hbsg.c (8.4 KB) - added by aljen 11 years ago.
needs libpng to build
splash.png (5.1 KB) - added by aljen 11 years ago.
example logo
icons.png (4.8 KB) - added by aljen 11 years ago.
example icons
bootsplash3.png (125.4 KB) - added by aljen 11 years ago.
bootsplash in action
bootsplash_final.diff (388.9 KB) - added by aljen 11 years ago.
bootsplash.png (64.9 KB) - added by aljen 11 years ago.
new version using example data

Download all attachments as: .zip

Change History (21)

comment:1 Changed 11 years ago by aljen

Cc: harakash@… added

hey, i implemented hrev5 way of boot progress with icons indicating whats happening

here's diff and tool to generate .raw files from .png which are used in loading/displaying splash logo&icons + sample .png's which i used to test

splash data are loaded from boot_volume/home/config/settings/kernel/[splash|icons|palette].raw

br, aljen

Changed 11 years ago by aljen

Attachment: bootsplash.diff added

Changed 11 years ago by aljen

Attachment: hbsg.c added

needs libpng to build

Changed 11 years ago by aljen

Attachment: splash.png added

example logo

Changed 11 years ago by aljen

Attachment: icons.png added

example icons

Changed 11 years ago by aljen

Attachment: bootsplash3.png added

bootsplash in action

comment:2 Changed 11 years ago by axeld

Type: bugenhancement

Thanks! While I'm not sure Haiku needs such an indication, there are a the following problems with your way of doing it: 1) The boot loader only runs for a very short time; to make this thing useful, the kernel or even the Bootscript would actually need to update those icons. 2) We do have a coding style that you don't follow at all; when in doubt, always follow the style in the file you're changing (else, see http://www.haiku-os.org/documents/dev/haiku_coding_guidelines)

comment:3 Changed 11 years ago by meanwhile

Can you achieve the same richness in colour that the Desktop icons have? Even if that can be done, I think it gives away too much of the 'icon-splendour' that's best introduced in its working context (i.e. on the -loading- Desktop) instead of already on the boot screen. If booting goes so fast, why not design a non-boring version of a progressbar, for example simply through attractive use of colour?

comment:4 in reply to:  2 Changed 11 years ago by jackburton

Replying to axeld:

Thanks! While I'm not sure Haiku needs such an indication,

I think it would be useful and nice. Although the regular boot process is fast enough, cd-booting is not, and having some kind of visual indication that the process isn't hanged is definitely useful. Moreover, this way one can tell where the booting process hanged, in case of problems. And anyway, it's definitely nicer than an "empty" black screen, even with the logo :)

comment:5 Changed 11 years ago by axeld

Component: System/Boot LoaderSystem/Kernel

Indeed, I didn't think of the CD boot; there, a progress bar of some kind would definitely be nice (something unobtrusive). In any way, it has to be the kernel, not the boot loader that is responsible for that.

comment:6 Changed 11 years ago by aljen

ok i will follow haiku coding style in the future :) ahh sorry my mistake it was my first attempt in haiku boot/kernel development ;/ i could try to reimplement it into kernel, but i will need some guidelines how it should look and who i can ask if i get in trouble understaning the kernel code :)

comment:7 Changed 11 years ago by aljen

fixed version, using resources generated from .pngs to headers/private/kernel/boot/images.h screenshot included (using example data)

Changed 11 years ago by aljen

Attachment: bootsplash_final.diff added

Changed 11 years ago by aljen

Attachment: bootsplash.png added

new version using example data

comment:8 Changed 11 years ago by jackburton

That looks good!

comment:9 Changed 11 years ago by mmlr

This indeed looks a lot better than the previous versions. But I have some observations:

  • You mixed in a darwin build fix which doesn't really belong to the rest of the patch
  • You left stray spaces on a otherwise blank line at least once (probably just a leftover)
  • The coding style generally looks good now, but you should also put two blank lines between functions
  • The terminating endif of the header guard in "splash.h" is missing
  • In "splash.cpp" you include a local "images.h" which doesn't exist
  • The "headers/private/kernel/boot/platform.h" prototype forplatform_switch_to_logo() is not up to date (probably left out of the diff?)

Then it would be nice if the generator would write "0x%02x" instead of just "0x%x" so that the generated files have uniform lines.

Otherwise this looks very nice, good work!

comment:10 in reply to:  9 Changed 11 years ago by jackburton

Replying to mmlr:

This indeed looks a lot better than the previous versions. But I have some observations:

Just to clarify: I meant it looks good purely from an aesthetic POV, I didn't even had a look at the code :)

comment:11 Changed 11 years ago by axeld

I wrote this while mmlr wrote his comment, so there might be some duplicate comments:

There are still a number of problems with this patch:

  • It does not seem to be complete, at least bios_ia32/video.cpp looks like it would not compile (maybe a leftover from a previous version?).
  • It contains stuff that doesn't belong into that patch (ie. src/tools/fs_shell/unistd.cpp). If that's needed to let Haiku build on Mac OS X, please provide a separate patch for this.
  • You're mapping the frame buffer twice; it is already mapped in debug/frame_buffer_console.cpp, and that one can and should be reused.
  • The coding style demands a prefix for const variables, and that should also be honoured in the images your hbsg app creates (since that app is separated, I guess we can live with the style violations there ;-))

Other than that, it looks pretty nice this time (the patch, not the example images, but that's just my personal taste). Thanks!

comment:12 Changed 11 years ago by stippi

Owner: changed from axeld to stippi
Status: newassigned

In general, the patch looks very good though and it does fix the problem of the outdated logo + has the bonus of animating the boot screen! :-)

So I am currently looking into applying this patch, with the needed fixes as pointed out by Axel and Michael.

comment:13 Changed 11 years ago by stippi

Resolution: fixed
Status: assignedclosed

Hi Artur, thank you very much for your work. I have applied everything in separate patches, but ultimately in hrev24434. Please have a look at my commit comments, maybe you would like to work on some of the TODOs I pointed out? Thanks again!

As far as this bug goes, I consider it fixed, despite the room for improvement (build system integration, removal of hardcoded values...).

comment:14 Changed 11 years ago by stippi

Artur, I hope it's not too late. I am currently working generate_boot_screen and the splash.cpp. I need it all to support 32 bit artwork. The way it handles palettes cannot work right. I mean, I want the artwork to be in the best possible quality to begin with, so that means 24 bit RGB data. For the case that the VGA device can only run in 8 bit palette mode, I want to handle that too, but this is a case that the code currently does not support either. I am on it.

Note: See TracTickets for help on using tickets.