Hello<br><br>I have been playing with QVGA mode for the Neo and have some observations and <br>questions. QVGA will be important for several key Neo applications including <br>games and movie playing. It may also offer lower power usage.<br><br>The LCM register set is not documented but a patch was made by Stefan Schmidt <br>which demonstrated switching it into QVGA mode.(patch for /drivers/spi/jbt6k74.c)<br>Basically this patch changes two register values called DISPLAY_MODE and <br>QUAD_RATE, it also fills in timing values to an alternate set of registers <br>for vga or qvga.<br><br>This patch does not change the framebuffer driver (within the s3c2410 - <br>/drivers/video/s3c2410fb.c) which by default is set up to always generate a <br>VGA signal.<br><br>When I change mode to qvga with Stefan's patch, the screen does switch to a <br>240x320 resolution and the 'top-left' of the original VGA screen is shown on <br>the display. There is quite some noise in the
image and the brightness is <br>higher - I find that if I alter the pixelclock for the framebuffer<br>VGA signal from 33.25MHz to 16.625Mhz (using fbset -pixclock 60155) this <br>effect is eliminated and you end with a farily good QVGA display.<br>Its very crisp with text. I can play movies using mplayer -vo fbdev - <br>if you have recompressed the movie with mencoder to rotate the image and <br>scale to 240x320 and a bitrate of about 256 it works almost perfectly. <br>There is a small sense of horizontal lines on the image that looks a little <br>like poor interlacing.<br><br>So far so good but in order to make it usable, there are some problems:<br><br>1) Does qvga mode in the LCM require/expect a vga signal, or can it run from a <br> qvga signal? Are different setting required to the LCM to let it know what <br> its getting?<br> As it stands, we can see qvga on the screen but linux (console, X)
still <br> thinks it has a 480x640 framebuffer (which it does!) and I cant see a way <br> of forcing it to use only a part of that.<br> It is relatively straightforward to change the framebuffer (and console, X) to<br> generate a qvga signal using fbset but will the LCM accept that?<br><br>2) What's the best way to send a command from the framebuffer driver to the LCM <br> (spi) module - so that we can have a full change of mode using the<br> framebuffer's ioctl (e.g. via fbset)?<br> The way the code is currently structured, a call to the mode change function<br> in the LCM module needs a data structure which the framebuffer doesnt know <br> about. (e.g. should we store a reference to the jbt_info structure <br> statically in jbt6k74.c so that external callers dont need to specify
it?<br> or should we try to arrange a call through the sysfs user interface?)<br><br>2a) We would also need to 'recalibrate' the touchscreen when changing video mode <br> - should this be under control of fbset and/or within X?<br><br>3) There is a problem when setting the pixclock using fbset in that it causes <br> the console to freeze - it looks like only the top line of the console is <br> working and when running mplayer from this console, only the top line (y=0)<br> is shown. If I run the fbset -pixclock command while X is displaying then <br> kill X (console takes over) it works fine. I am trying to track this <br> problem - its somewhere in fbcon.c to do with a call to fbcon_modechanged()<br> I think...<br><br>I would appreciate any extra knowledge there is on the
LCM register set and <br>how it expects to receive and use qvga data!<br><br>Regards<br><br>John<br><br><p> 
<hr size=1>Looking for a deal? <a href="http://us.rd.yahoo.com/evt=47094/*http://farechase.yahoo.com/;_ylc=X3oDMTFicDJoNDllBF9TAzk3NDA3NTg5BHBvcwMxMwRzZWMDZ3JvdXBzBHNsawNlbWFpbC1uY20-">Find great prices on flights and hotels</a> with Yahoo! FareChase.