[lkml]   [2003]   [Jan]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[Linux-fbdev-devel] Re: New logo code (fwd)
---------- Forwarded message ----------
Date: Fri, 17 Jan 2003 17:01:55 +0100 (MET)
From: Geert Uytterhoeven <>
To: Linux Frame Buffer Device Development
Subject: [Linux-fbdev-devel] Re: New logo code

On Sun, 12 Jan 2003, Geert Uytterhoeven wrote:
> The current logo code is messy, complex, and inflexible. So I decided to
> rewrite it. My goals were:
> - Logos must be accessible easily by an image editor (currently: hex C source
> data must be converted to another format first)
> - Logos must be stored in ASCII-form in the source tree
> - Support arbitrary logo sizes (currently: fixed 80x80)
> - Allow the logo to be selected statically (at compile time) and/or
> dynamically (at run-time, based on machine type) (currently: at compile
> time only).
> - Allow simple adition of new logos
> - Support grayscale logos (not used yet)
> The patch achieves all of these. Logos are stored in ASCII PNM format in
> drivers/video/logo/, and automatically converted to hex C source arrays using
> scripts/pnmtologo. I chose ASCII PNM because (a) it's ASCII, (b) it's very
> simple to parse without an external library (XPM is more difficult to parse),
> and (c) it can be handled by many image manipulation programs.
> Code that wants to display a logo just calls fb_find_logo(), specifying the
> wanted logo type, and receives a pointer to a suitable logo (or NULL).
> I also modified fb_show_logo() to return the number of scanlines that are used
> by the logo, so fbcon knows how many lines to reserve.
> So far I tested it on Amiga only (with amifb), using the standard 3 logos
> (mono, vga16, and clut224, all 80x80), and using resized (171x171) versions of
> the standard logos, to verify that arbitrary logo sizes are working.
> Initial logo display is still a bit weird, because fbcon is initialized before
> the logo is drawn. What you see is this:
> - Initial text screen contents are drawn, starting at the top of the screen,
> - The logo is drawn,
> - New kernel messages are printed, until the bottom of the screen is reached,
> - The logo is drawn again, and the top of the screen is reserved for the
> logo,
> - New kernel messages are printed, and scrolling scrolls the text part only,
> leaving the logo at the top
> To do:
> - More testing
> - Clean ups:
> o Protect all drawing code by CONFIG_FB_LOGO
> o Move logo drawing code from fbmem.c to logo/logo.c?
> o Logo selection in Kconfig and logo.c?

I put a new version at

- Merge with 2.5.59
- New logo (CLUT224 only) for PA-RISC
- Let hgafb and newport_con include logo sources directly, since they need
access to the logos in non-init code

All comments are welcomed! Thanks!



Geert Uytterhoeven -- There's lots of Linux beyond ia32 --

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:32    [W:0.130 / U:2.164 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site