Hi Tung, thanks for your answer,
You were right, i was using the msm7k gralloc and it was allocation
the memory on GPU, i simply changed the name of /system/libs/hw/
gralloc.msm7k.so lib to force HAL to search for the
gralloc.default.so, and now i can use any resolution.
Now i have another issue, the colors of the screen aren't right. I've
been looking in ./libhardware/modules/gralloc/framebuffer.cpp, and i
see i don't need to set colour information on VFB because it is set on
"int mapFrameBufferLocked(struct private_module_t* module)"
Something like:
/*
* Explicitly request 5/6/5
*/
info.bits_per_pixel = 16;
info.red.offset = 11;
info.red.length = 5;
info.green.offset = 5;
info.green.length = 6;
info.blue.offset = 0;
info.blue.length = 5;
info.transp.offset = 0;
info.transp.length = 0;
However using the VNC server (i'm guessing it isnt a VNC issue) the
colors are wrong... I've attached a pic so you can see what's wrong...
http://zeluispereira.no.sapo.pt/vfb.png
I/gralloc ( 123): using (fd=25)
I/gralloc ( 123): id = Virtual FB
I/gralloc ( 123): xres = 1024 px
I/gralloc ( 123): yres = 768 px
I/gralloc ( 123): xres_virtual = 1024 px
I/gralloc ( 123): yres_virtual = 1536 px
I/gralloc ( 123): bpp = 16
I/gralloc ( 123): r = 0:5
I/gralloc ( 123): g = 5:6
I/gralloc ( 123): b = 11:5
I/gralloc ( 123): width = 163 mm (159.568100 dpi)
I/gralloc ( 123): height = 122 mm (159.895081 dpi)
I/gralloc ( 123): refresh rate = 25.43 Hz
Thanks
On 6 Set, 04:47, Tung Dang <[email protected]> wrote:
> Hi onaips,
>
> I run your VNC server with VFB and the screen resolution is 800x520 is ok
> Can u try with this resolution ?
>
> logcat:
>
> W/gralloc ( 1960): page flipping not supported (yres_virtual=520,
> requested=1040)
> I/gralloc ( 1960): using (fd=22)
> I/gralloc ( 1960): id = Virtual FB
> I/gralloc ( 1960): xres = 800 px
> I/gralloc ( 1960): yres = 520 px
> I/gralloc ( 1960): xres_virtual = 800 px
> I/gralloc ( 1960): yres_virtual = 520 px
> I/gralloc ( 1960): bpp = 16
> I/gralloc ( 1960): r = 11:5
> I/gralloc ( 1960): g = 5:6
> I/gralloc ( 1960): b = 0:5
> I/gralloc ( 1960): width = 127 mm (160.000000 dpi)
> I/gralloc ( 1960): height = 83 mm (159.132523 dpi)
> I/gralloc ( 1960): refresh rate = 27.20 Hz
>
> Btw, try to run kernel with a generic build of system.img , dont use the HAL
> layer of msm
>
> Cheers.
> Tung
>
>
>
> On Mon, Sep 6, 2010 at 4:56 AM, onaips <[email protected]> wrote:
> > Hi, i compiled android kernel with virtual framebuffer support and
> > msm_fb disabled, so i can access the framebuffer only using a
> > framebuffer viewer (for example a VNC server).
>
> > However if i use a high resolution (800x600) gralloc returns me an Out
> > of Memory error...
> > If i use 320x480 its working fine.
>
> > Is there any constant limit i should raise?
>
> > Thanks
> > José Pereira
>
> > (logcat)
> > W/SurfaceFlinger( 124): mBuffers[0] is null (mWidth=480, mHeight=775)
> > E/gralloc ( 124): gralloc failed err=Out of memory
> > D/Sensors ( 124): sensors=00000000, real=00000000
> > W/ ( 124): alloc(480, 775, 1, 00000133, ...) failed -12 (Out
> > of memory)
> > D/ ( 124): Allocated buffers:
> > D/ ( 124): 0xed4d8: 32.70 KiB | 91 x 92 | 1 |
> > 0x00000133
> > D/ ( 124): 0x12e388: 750.00 KiB | 480 x 800 | 4 |
> > 0x00000130
> > D/ ( 124): 0x2095f8: 931.25 KiB | 320 x 745 | 1 |
> > 0x00000133
> > D/ ( 124): 0x214c58: 46.88 KiB | 480 x 25 | 1 |
> > 0x00000133
> > D/ ( 124): 0x276868: 0.94 KiB | 12 x 20 | 1 |
> > 0x00000133
> > D/ ( 124): 0x280800: 750.00 KiB | 480 x 800 | 4 |
> > 0x00000133
> > D/ ( 124): 0x29b6e8: 1453.12 KiB | 480 x 775 | 1 |
> > 0x00000133
> > D/ ( 124): 0x2a4a18: 931.25 KiB | 320 x 745 | 1 |
> > 0x00000133
> > D/ ( 124): 0x2d5628: 28.44 KiB | 91 x 80 | 1 |
> > 0x00000133
> > D/ ( 124): 0x2d7a30: 1453.12 KiB | 480 x 775 | 1 |
> > 0x00000133
> > D/ ( 124): 0x2fdb28: 46.88 KiB | 480 x 25 | 1 |
> > 0x00000133
> > D/ ( 124): 0x3032e0: 750.00 KiB | 480 x 800 | 4 |
> > 0x00000133
> > D/ ( 124): 0x35fcd8: 750.00 KiB | 480 x 800 | 4 |
> > 0x00000133
> > D/ ( 124): Total allocated: 7924.58 KB
> > E/SurfaceFlinger( 124): Layer::requestBuffer(this=0xea950), index=0,
> > w=480, h=775 failed (Out of memory)
> > E/Surface ( 124): Surface (identity=2) requestBuffer(0, 00000033)
> > returneda buffer with a null handle
> > E/Surface ( 124): getBufferLocked(0, 00000033) failed (Out of memory)
> > E/Surface ( 124): dequeueBuffer failed (Out of memory)
> > E/ViewRoot( 124): OutOfResourcesException locking surface
>
> > -->
> > unsubscribe:[email protected]<android-porting%2Bunsubscribe@
> > googlegroups.com>
> > website:http://groups.google.com/group/android-porting
--
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting