Developing a simple GUI in Beagleboard

3,474 views
Skip to first unread message

amit

unread,
Jan 25, 2010, 2:48:11 PM1/25/10
to Beagle Board
Hi,

I would like to develop and run a simple GUI based application on
Beagleboard,
using either C or C++. But I am not sure, what could be the best
feasible solution
for GUI development on BB.

I thought of options like GTK+ and QT. But I am not sure if these
packages are
available on BB. If not what could be other possible solution for GUI
development
or how to get those packages on BB.

If someone has got a GUI working on BB, it would be great it you can
post
a small tutorial on that.

Frans Meulenbroeks

unread,
Jan 25, 2010, 2:58:00 PM1/25/10
to beagl...@googlegroups.com
2010/1/25 amit <amitsh...@gmail.com>:

> Hi,
>
> I would like to develop and run a simple GUI based application on
> Beagleboard,
> using either C or C++. But I am not sure, what could be the best
> feasible solution
> for GUI development on BB.
>
> I thought of options like GTK+ and QT. But I am not sure if these
> packages are
> available on BB. If not what could be other possible solution for GUI
> development
> or how to get those packages on BB.

WxWidgets is a different widget set with a nice dialog editor (DialogBlocks).
See www.wxwidgets.org and www.dialogblocks.com
Wt is a web based solution. (webtoolkit.eu)
Both have recipes in OE.
I have no tutorial for either. One way to develop is install
build-essential and develop on the board.
You should then be able to follow the tutorisals that exist for those pacakges.

Frans

>
> If someone has got a GUI working on BB, it would be great it you can
> post
> a small tutorial on that.
>

> --
> You received this message because you are subscribed to the Google Groups "Beagle Board" group.
> To post to this group, send email to beagl...@googlegroups.com.
> To unsubscribe from this group, send email to beagleboard...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/beagleboard?hl=en.
>
>

Ben Gamari

unread,
Jan 25, 2010, 10:58:19 PM1/25/10
to beagleboard
Excerpts from amit's message of Mon Jan 25 14:48:11 -0500 2010:

> Hi,
>
> I would like to develop and run a simple GUI based application on
> Beagleboard, using either C or C++. But I am not sure, what could be
> the best feasible solution for GUI development on BB.

I'm not a huge fan of C nor C++ for GUI work. You might want something a
little lighter. Just a thought though.

>
> I thought of options like GTK+ and QT. But I am not sure if these
> packages are available on BB. If not what could be other possible
> solution for GUI development or how to get those packages on BB.

I am pretty much certain that GTK+ is available in OE. GTK also has an
excellent GUI designer, glade. There is no shortage of documentation
describing how to get started.

Cheers,

- Ben

Jan Ekholm

unread,
Jan 26, 2010, 2:51:26 AM1/26/10
to beagl...@googlegroups.com

Not to start a flame fest here, but saying that you don't like C/C++ and then
recommend GTK which is best used with C is a little bit strange. Python & co
which also work with GTK can't be said to be "light" either.

I would recommend C++ and Qt though. :)

--
Jan Ekholm
jan.e...@smultron.net

Jason Kridner

unread,
Jan 26, 2010, 2:58:15 AM1/26/10
to Beagle Board

If you do choose Qt, I know there are several others doing it. See
http://labs.trolltech.com/blogs/2009/11/20/building-qt-to-make-use-of-the-beagle-boards-sgx-gpu/.

The ICS guys have a note about Qt training at http://beagleboard.org/resources.

>
> --
> Jan Ekholm
> jan.ekh...@smultron.net

djlewis

unread,
Jan 26, 2010, 9:28:11 PM1/26/10
to Beagle Board
GTK works very well on BeagleBoard. Geany is a very good
editor, compile and execute manager IDE. Been there, Done that.
:)

Don Lewis

Ben Gamari

unread,
Jan 26, 2010, 10:47:30 PM1/26/10
to beagleboard
Excerpts from Jan Ekholm's message of Tue Jan 26 02:51:26 -0500 2010:

> Not to start a flame fest here, but saying that you don't like C/C++ and then
> recommend GTK which is best used with C is a little bit strange. Python & co
> which also work with GTK can't be said to be "light" either.
>

Fair enough. Although to say that GTK is best used with C is also a
little strange; one of the primary reason GTK & co are written in C is
to create a least-common-denominator so that bindings can be easily
written. I find GTK all but unusable in its native form.

> I would recommend C++ and Qt though. :)
>

Another excellent choice.

- Ben

Neel Goyal

unread,
Jan 27, 2010, 11:43:30 AM1/27/10
to beagl...@googlegroups.com
If you want GTK + C++, you can look into gtkmm - it's C++ bindings for GTK.  Not everything is there so you might have to delve into the C API a little, but what I used was sufficient.  You can also look into cairomm and pangomm.

If you're ambitious - look into OpenVG :)  You will probably get some HW Acceleration out of it. 

Neel

timmins

unread,
Jan 27, 2010, 2:18:06 PM1/27/10
to Beagle Board
I have a rather more high-level suggestion.

I'm working on a Beagleboard platform used in a set of manufacturing
test fixtures, complete with GTK graphic UI, and a bank of I2C port
expanders, and ADCs.

I found the neatest, fastest way to develop the GUI was to use Glade 3
on my host machine. This produces an XML file that can be used on the
target. http://glade.gnome.org/

The bindings are all handled by a Python script, using the PYGTK
module. This is available via the package manager within Angstrom.

All of this allows you to make rapid tweaks to the GUI's appearance on
your host machine, and then you copy the glade (XML) file over to the
target. This makes it very easy to re-skin your application, without
touching the Python back-end. Also, because Python is a scripting
language you can obviously make changes on the fly, without
recompiling anything.

If you need to do something low-level, then you can write your own C
modules that plug into Python.

Hope this helps.

TylerWilson

unread,
Jan 27, 2010, 7:23:50 PM1/27/10
to Beagle Board
I strongly concur with timmins: I have had great success with PyGTK
and Glade. Though
it was primarily on Windows, I regularly tested my application on
Linux (OS X was never well
supported).

Also note that Glade/GTK/PyGTK has been moving over from using the
'external' libglade to the built-in
GtkBuilder. They are similar APIs, but the GtkBuilder is the path
forward. I would try to focus on that one.
It is well supported in recent builds of the Glade GUI builder.

I have also used the PyQt bindings using the dynamic loading of .ui
files that are created with QtDesigner. This
solution is currently much better solution for cross-platform
applications. Also keep an eye on PySide - the open
source Python Qt bindings from Nokia.

Later,
Tyler

Kurt Mueller

unread,
Jan 28, 2010, 12:07:22 PM1/28/10
to beagl...@googlegroups.com
Neel Goyal schrieb:

> If you want GTK + C++, you can look into gtkmm - it's C++ bindings for
> GTK. Not everything is there so you might have to delve into the C API
> a little, but what I used was sufficient. You can also look into
> cairomm and pangomm.
> If you're ambitious - look into OpenVG :) You will probably get some HW
> Acceleration out of it.


How about using python/wxpython on beagleboard?

Regards
--
Kurt Müller, m...@problemlos.ch

NotZed

unread,
Jan 28, 2010, 9:00:17 PM1/28/10
to Beagle Board

Wow you guys are trying to make things complicated. This is what the
original query was:

"I would like to develop and run a simple GUI based application on
Beagleboard, using either C or C++."

If you want to use C, using gtk+ is the clear choice. It's really
quite easy to use - very mature and stable and very well documented
with lots of examples and a huge community - any of the linux examples
or tutorials will work. Using it from C is the lightest weight
option, if that is a deciding factor (but really the machine is beefy
enough it shouldn't matter). If you're using any linux based system
(angstrom, etc), it will be available as many applications use it.
There's no reason to mess with wxwidgets or python or anything like
that.

If you want to use C++, then qt is also an option I guess (you can
also use gtkmm or the gtk+ c api from C++). It should probably also
be available - and it is easy to check yourself.

"One way to develop is install build-essential and develop on the
board. "

This would be the easiest route if you already have a system running -
the prebuilt images already come with the compilers at least. The
board is more than capable of running a compiler and editor for C
development natively - it is faster and has more memory than any
machine i had on my desk until about 2000, and I certainly didn't have
trouble developing C applications before then. But there's always the
cross-compile route if you desire.

I would just use gtk+ on the board itself. But then again I'm a C/
Unix programmer so I would say that.

amit

unread,
Feb 2, 2010, 9:33:24 PM2/2/10
to Beagle Board
Thanks all for your tips and suggestions. It was really useful.
As of now I have decided to work with GTK+ using glade.
I went through some tutorials and was able to get GUI
working on host pc. But has some problems when trying to
build it on BB.
Is GTK+/-2.0 libraries available on BB. When I tried to compile the
program on BB it says not gtk.h library not available.

Can anyone guide me on this. A small example may be very useful.

Once again thanks to everyone for your response.


On Jan 28, 1:18 pm, timmins <timtimm...@googlemail.com> wrote:
> I have a rather more high-level suggestion.
>

> I'm working on aBeagleboardplatform used in a set of manufacturing
> test fixtures, complete withGTKgraphic UI, and a bank of I2C port

priyanka sharma

unread,
Feb 2, 2010, 9:56:49 PM2/2/10
to beagl...@googlegroups.com
hi
gtk and glade work well on beagle board. I have tested them. Using clutter toolkit is another gud solution. There are plenty of online tutorials regarding this
Priyanka

Petri Koppinen

unread,
Feb 3, 2010, 2:30:23 PM2/3/10
to beagl...@googlegroups.com
Are you using Ubuntu distribution or some other with Glade and GTK+ ?

Siji Sunny

unread,
Feb 3, 2010, 2:35:45 PM2/3/10
to beagl...@googlegroups.com
On Thu, Feb 4, 2010 at 1:00 AM, Petri Koppinen <petri.k...@gmail.com> wrote:
>
> Are you using Ubuntu distribution or some other with Glade and GTK+ ?

Hi,
I haven tested both and GTK and Clutter successfully with beagle board
and Ubuntu.IF you are looking for animations and etc. Clutter is the
right choice which is based on C.

--
Siji Sunny

amit

unread,
Feb 3, 2010, 3:10:39 PM2/3/10
to Beagle Board
I am using Angstrom distribution. I build an application using (Gtk+
and Glade) on my host PC.
Now I am trying to compile this application on BB and having some
problems with library files.
It says gtk-2.0/gtk/gtk.h and other libraries are missing.

Now, doing
#opkg install gtk+
says me that this package is already installed on my board. I am not
sure what the issue is.

Has anyone successfully build an GTK+ application on BB (preferably
using Glade).
Can you tell me what all library files are required for Angstrom
distribution and how to
get them or install them on BB.

Thanks,

On Feb 3, 1:30 pm, Petri Koppinen <petri.koppi...@gmail.com> wrote:
> Are you using Ubuntu distribution or some other with Glade and GTK+ ?
>

> On Tue, Feb 2, 2010 at 8:56 PM, priyanka sharma <priyanka...@gmail.com>wrote:
>
>
>
> > hi
> > gtk and glade work well on beagle board. I have tested them. Using clutter
> > toolkit is another gud solution. There are plenty of online tutorials
> > regarding this
> > Priyanka
>

> >> beagleboard...@googlegroups.com<beagleboard%2Bunsubscribe@googlegr oups.com>


> >> .
> >> For more options, visit this group at
> >>http://groups.google.com/group/beagleboard?hl=en.
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Beagle Board" group.
> > To post to this group, send email to beagl...@googlegroups.com.
> > To unsubscribe from this group, send email to

> > beagleboard...@googlegroups.com<beagleboard%2Bunsubscribe@googlegr oups.com>

Siji Sunny

unread,
Feb 3, 2010, 3:20:09 PM2/3/10
to beagl...@googlegroups.com
On Thu, Feb 4, 2010 at 1:40 AM, amit <amitsh...@gmail.com> wrote:
> I am using Angstrom distribution. I build an application using (Gtk+
> and Glade) on my host PC.
> Now I am trying to compile this application on BB and having some
> problems with library files.
> It says gtk-2.0/gtk/gtk.h and other libraries are missing.
>
> Now, doing
> #opkg install gtk+
> says me that this package is already installed on my board. I am not
> sure what the issue is.
>
Just check whether the Include path is proper, sometimes it got
installed at usr/local/..In this case either u have to set the config
path while compiling or copy the header files to usr/include ...

> To unsubscribe from this group, send email to beagleboard...@googlegroups.com.


> For more options, visit this group at http://groups.google.com/group/beagleboard?hl=en.
>
>

--
Siji Sunny

Pawel Potera

unread,
Feb 3, 2010, 3:22:27 PM2/3/10
to beagl...@googlegroups.com
gtk+ is likely just binaries. Try installing gtk+-dev.


amit

unread,
Feb 20, 2010, 3:13:21 PM2/20/10
to Beagle Board
Hi,

Thanks all for your suggestions. I figured out how to get glade going
on BB.
Are there any good tutorials or books available for glade gtk
development.

- Amit

> > beagleboard...@googlegroups.com<beagleboard%2Bunsubscribe@googlegr oups.com>

NotZed

unread,
Feb 20, 2010, 8:14:59 PM2/20/10
to Beagle Board

Probably a little off-topic? There are glade and gtk lists, groups,
forums, irc channels that specialise in this type of thing.

Just try searching, there's tons of stuff out there, and tons (and
tons) of code. Although code with complex examples don't teach you
much.

e.g. first result on google: http://live.gnome.org/Glade/Tutorials

Don't waste your money or time on books which will just be out of date
at best.

Apart from the layout managers which take a little while to get used
to (to create exactly what you want), it's pretty straightforward.

To be honest, for such types of software, nothing works as well as
just firing it up and playing with it, and only look up a reference
when you can't work out how to do something you think you should be
able to.

!Z

carlos...@ewh.org

unread,
Jan 4, 2014, 12:13:17 AM1/4/14
to beagl...@googlegroups.com
How did you get glade going on BB? Does it have ANgstrom or Ubuntu?
Thanks

Hamza Chaouch

unread,
Apr 3, 2021, 6:31:09 PM4/3/21
to BeagleBoard
hello ,
i want to make a GUI with c++ and opencv for live video .
it's possible to compile this Gui ( GTK+ glade /gtkmm) in carte amlogic s905x is the same bb i thing 
with toolchain arm-gnueabi-g++!!
Reply all
Reply to author
Forward
0 new messages