QVGA for Neo

john cass johnpcass at yahoo.com
Fri Sep 28 11:52:00 CEST 2007


Update on the wierd 'one line only' effect I see when changing framebuffer with

> 3) There is a problem when setting the pixclock using fbset in that it causes 
>      the console to freeze - it looks like only the top line of the console is 
>      working    and when running mplayer from this console, only the top line (y=0)
>     is shown.  If I run the fbset -pixclock command while X is displaying then 
>     kill X (console takes over) it works fine.    I am trying to track this 
>     problem - its somewhere in fbcon.c to do with a call to fbcon_modechanged()
>     I think...

I have found the source of this problem: the s3c2410fb.c LCD controller driver 
in function fb_set_par (which is called when fbset changes the framebuffer 
characteristics) does this: 

fbi->fb->fix.line_length     = (var->width*var->bits_per_pixel)/8;

var->width is supposed to hold the width in mm of the screen (according to fb.h),
not the X pixel resolution.  fbset always sets var->width to 0.  

fb->fix.line_length is used to calculate offsets to the 'next line' when writing to 
the framebuffer so the effect of a 0 here is that you only ever get one line (y=0)
it should be set to the number of bytes in a line in the framebuffer

this line should probably be changed to :

fbi->fb->fix.line_length     = (var->xres_virtual*var->bits_per_pixel)/8;



Tonight's top picks. What will you watch tonight? Preview the hottest shows on Yahoo! TV.    
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.openmoko.org/pipermail/neo1973-hardware/attachments/20070928/2c398b96/attachment.html

More information about the neo1973-hardware mailing list