[maemo-developers] GTK+/X based system on 64MB flash and ram size budget?

From: sampo.nurmentaus at movial.fi sampo.nurmentaus at movial.fi
Date: Wed Oct 31 11:29:11 EET 2007
Dear Trilok,

>> ext Trilok Soni wrote:
>>> We need to select an open-source GUI library for system where it will
>>> have 64MB of total flash and same RAM size running on the embedded
>>> processor like OMAP/DaVinci with around 300MHz. The number of GUI
>>> applications running will be only one main control application acting
>>> as say recorder, player and streamer and other control
>>> functionalities, think video server.
>>>
>>> Does GTK+/X combination will be a nice fit for this flash, ram and cpu
>>> speed budget? OR will be too bloated in terms of minimum
>>> functionalities and single GUI application we need?
>>>
>>> Flash will also have other software images like kernel, bootloader,
>>> busybox, uclibc/glibc, boa like embedded webserver stored along with
>>> the gtk+/x libraries and gui application.
>>>
>>> Please give your suggestions/inputs. Thanx.
>>
>> If you don't have something that needs to show arbitrary amounts
>> of data to user such as www-browser or PDF viewer, 64MB is enough.
>> (regardless of widget set or whether you use X or directly fb).
>
> Thanx for the inputs. True, it is no where like Internet Tablet, it
> will not have applications like www-browser or pdf reader. It might
> support local playback, streaming player, recorder with preview and
> some other functionalities to control various input and output
> sources/sinks. In this case using GTKFb looks good, and having d-bus
> with it to communicate with other CLI daemon applications to transfer
> messages. Hope GTKfb doesn't limit the use of d-bus, AFAIK. Only
> limiting thing with GTKFb will be like one should one binary (GUI app)
> doing everything we want to show it to the end-user. Hope I understood
> this point.

I agree with Eero. We have provided an GTK+/X based linux platform to 
customers running a 200MHz ARM with 32MB of flash and 64 megs of memory 
and it all works smoothly. The platform, even if not optimized perfectly, 
fits into less than 32 megs including a desktop environment that has 
loaded GTK+ into memory.

So this leaves already 32 megs for application to use.

For example, doing a VOIP phone, with simple contact list driven UI this 
is more than enough. One can even add a simple browser, to allow user to 
login to WLANs etc.

Please note that the screen size is one important factor here. The bigger 
screen means more graphics etc.  Also in some cases X can be more memory
efficient than DirectFB, for example. Later uses backbuffers for each
window where X is more configurable.

People always say that X is designed for high end desktops, which is 
of course true. Only that X11 protocol was designed 20 years ago, so
the definition of "high end" might have changed a little :-)

Br,
Sampo

More information about the maemo-developers mailing list