4

I'm interested in creating a GUI for a Linux operating system. What I'm trying to do, is, a program will be the GUI -- the program will have be quite basic. I think this question will go into Embedded Linux development, but I'm not sure where to start neither the amount of tutorials or help available.

Thank you for any help.

Sam Davis
  • 99
  • 2
  • 2
    Do you want to write a replacement for X, or a window manager, or just a GUI program that runs maximized in X with no wm? – nmichaels Oct 15 '10 at 20:36
  • I'd just stick something to basic, and write a program that's maximized and won't let you access the OS. My GUI will essentially be a branded GUI instead of showing windows (window manager) and the OS behind. Thanks for your help, Nathon! – Sam Davis Oct 15 '10 at 20:38
  • 1
    What kind of mebedded processor are you working with, in what primary role? Lots of embedded Linux boxes have done well with web-only UIs (cf. Linksys and other access points/routers). – Bill Gribble Oct 15 '10 at 20:40
  • @Nathon ...or a graphical shell that runs on the framebuffer device or... – dmckee --- ex-moderator kitten Oct 15 '10 at 20:40
  • @Sam: I'm a little confused. How do you think a normal linux box running X "shows the OS behind", and how do you think that your system will be less dependent? Are you aware that X is a standard not linked to any particular platform? – dmckee --- ex-moderator kitten Oct 15 '10 at 20:42
  • I don't think I've added enough detail here. Quoting Nathon's text " just a GUI program that runs maximized in X with no window manager". It's essentially that. I'm a bit new to the embedded area. – Sam Davis Oct 15 '10 at 20:46
  • @Sam: The mechanism that a "normal" desktop linux system running KDE or gnome uses to display things on the screen is a complicated, multi-layered beast. Something like `kernel<-driver<-X<-window-manager<-[desktop-manager|program]`. Embedded systems either use the same or something a bit simpler depending on their power and audience. We can't really give any advice without knowing *"At which layer do you hope to intervene?"* and *"What do you hope to gaim by doing this?"* and *"How much man power to you have available?"*. – dmckee --- ex-moderator kitten Oct 15 '10 at 20:57
  • This will not be complicated. What I'm aiming to do, is start simple. I'm trying to get into the embedded area; just for simplicity, all I'll do is create a program (the GUI) running a clock, from that I can extend it. Thanks for your help, dmckee. – Sam Davis Oct 15 '10 at 21:07
  • @Sam: OK. That looks like either of the answers you're got are reasonable. Be aware, however, that writing a graphical interaction layer--even a simple one--from there is a big task. Not entirely beyond reason for a hobby project, but I'd say the same for a simple compiler or OS. – dmckee --- ex-moderator kitten Oct 15 '10 at 21:09
  • Thanks for all your help, dmckee, I really have appreciated your help. One last question, do you have any resources (links) which could benefit me? – Sam Davis Oct 15 '10 at 21:21

3 Answers3

5

I would suggest looking at using Qt with the Linux framebuffer driver. That way you can have an embedded GUI without the overhead of running an X server.

Amardeep AC9MF
  • 18,464
  • 5
  • 40
  • 50
4

Already done? DirectFB

DirectFB adds graphical power to embedded systems and sets a new standard for graphics under Linux.

0

CodeTyphon can let you easily code, visually design and cross compile GUI applications for embedded linux with custom canvas if you want.

http://www.pilotlogic.com/sitejoom/index.php?option=com_content&view=article&id=96&catid=68&Itemid=147

avra
  • 3,690
  • 19
  • 19