Low-overhead GUI toolkit for Linux w/o X11?
Grant Edwards
grante at visi.com
Sat Nov 3 19:06:39 EDT 2007
On 2007-11-03, David Bolen <db3l.net at gmail.com> wrote:
> Grant Edwards <grante at visi.com> writes:
>
>> I'm looking for GUI toolkits that work with directly with the
>> Linux frambuffer (no X11). It's an embedded device with
>> limited resources, and getting X out of the picture would be a
>> big plus.
>
> Sounds like a reasonably modern "embedded" system since traditionally
> neither X (nor Python) would likely have even been plausible in such
> environments.
Yes, it's "modern" enough to run Linux/X11 -- horsepower-wise
it's sort of in the PDA class of devices. wxWidgets has been
tried, but it's pretty sluggish. Hence the search for something
a littler lighter weight. Using Python is probably going to be
a little bit of a stretch, but using open-source libraries and
something like Python for the application langauge seems to be
an important part of the business model.
> Depending on the higher level GUI functionality you require
That's still a bit up in the air. Routines to render text
would be nice, as would sprite graphics. I don't think text
entry or much in the way of windowing is required.
> and how tight the resources really are, you might want to
> consider investigating pure drawing libraries and then
> implement any missing GUI elements (widgets and mouse
> handling) you need yourself.
There is no mouse. I'm not sure how many "widgets" are
required. Probably not very many.
> When I was looking for an embedded graphics library for a prior
> platform (ELAN 486, 2MB flash, 6MB RAM) under DOS, we took a look at
> these:
>
> * GRX (http://grx.gnu.de/index.html)
> * Allegro (http://alleg.sourceforge.net/)
>
> We ended up using GRX, primarily because it was the simplest
> to develop a custom video driver for to match our platform,
> along with having a simpler core. We were under DOS but also
> used it with a later generation of the platform under Linux.
> Both libraries support operation over the framebuffer in
> Linux. Our app was in C++ (Python wasn't an option), and we
> implemented our own buttons and text widgets (in our case we
> never needed any scrolling widgets).
>
> There aren't any Python wrappers for GRX, but the library is
> straight C which should be easy to wrap (manually or with
> something like SWIG). No built-in widget support at all (some
> sample button processing code in a demo module), but easy
> enough to implement your own if your needs are modest.
>
> Although we didn't end up using it, Allegro is more fully
> featured (actually with some non-GUI cruft too since it
> targets games), and also appears to have two work-in-progress
> Python bindings. Some basic widget support in dialog
> processing routines.
Thanks for the pointers.
--
Grant
More information about the Python-list
mailing list