I finally have my fbcon working OK.  The "bug" I saw in the line_length
miscalculation was actually due to the mode->nonstd value getting
set to 24 (non-standard) when it was supposed to be 0 (for bpp=16,
which is standard.  The fix was to add in pxafb_parse_options():

   case 8:
   case 16:
        inf->modes[0].bpp = bpp;
        inf->modes[0].nonstd = 0; // standard bpp

I'm not sure how the nonstd value ever got set to 24, since I modified
gumstix.c to have ".nonstd = 0" for the mode item for my added
display.  There was no previous parsing of a '/' character from other
options lists, so the 24 was from a pre-stored mode item.  In any
case, this is the right code fix.

The problem I now have is fbcon keeps getting its fbcon_blank()
called after some minute or so, which kills the screen forever.
The existing pxafb code just shuts off the LCD driver.  I've tried
fixing fbcon_blank() to simply return, but the display is shut off
anyway.  Does anyone know how this blanking/unblanking
is supposed to work?  How is a program supposed to wake up
the display?

Thanks for all help.

On 8/31/07, Peter Lu <plu777@gmail.com> wrote:

I followed the instructions from Jason and configured Linux to have the FB
attached to tty0.  The diffs of my additions to Linux .config were:

< # Fri Aug 31 14:48:27 2007
> # Fri Aug 24 08:50:32 2007
> # CONFIG_VT is not set
< #
< # Console display driver support
< #
< # CONFIG_VGA_CONSOLE is not set
< # CONFIG_FONTS is not set
< CONFIG_FONT_8x16=y
> # CONFIG_FB_VIRTUAL is not set

and I added the CONFIG_INPUT=y and CONFIG_VT=y to my initrd Linux as
well to provide kernel support for stuff fbcon.ko needs.

I modprobe fbcon via /etc/modules, without attaching a getty on tty0 since
I only need tty0 to display ASCII chars.

When I do a "echo abcdef >/dev/tty0" I do see something displaying on
the LCD, but the font is pretty messed up (bunch of faint dots).  I'm
supposedly using the 8x8 or 8x16 default fonts, but have no idea what
is really happening.

Also, pxafb seems to shut off after some time, probably on request from

I know the pxafb is set up right because the penguin.ppm displays
properly using ppmv.

Could somebody give me some hints on what to do at this point?


On 8/31/07, Peter Lu <plu777@gmail.com> wrote:
Could you clarify what the steps are to enable the virtual terminal?  I can't find
the exact directions on the Wiki.  I have CONFIG_LOGO=y in the Linux
.config and I know about the tty0 line in /etc/inittab.  I don't think my /dev/tty0
is linked to the LCD at this point, though.


On 7/26/07, Craig Hughes < craig@gumstix.com > wrote:
On Jul 26, 2007, at 10:06 AM, Jason Peterson wrote:

> I have  enabled the necessary options in the kernel to get the Gumstix
> logo splash screen to show up on an LCD during boot.  I can see the
> cursor flashing in the upper left hand corner along with the logo.
> 1.  How do I write messages to the frame buffer console during boot?

/dev/tty0 should be connected to the fbcon, so you can do stuff like

echo "Hello world" > /dev/tty0

> 2.  How do I disable the flashing cursor during boot?

I forget how you turn the cursor black -- some escape sequence you
can send to the tty probably.  According to this:

<http://linux.die.net/man/4/console_codes >

it *might* be:

ESC [ ? 25 h
     DECTECM (default on): Make cursor visible.

So you'd do something like:

echo -ne '\033[?25h' > /dev/tty0

It might be '\0033[?25h' -- I never remember whether you need that
extra 0 in octal escape sequences or not...


This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
gumstix-users mailing list