Skip to content

Home News Screenshots Wiki Themes Bugtracker Members Logos Search
  You are not logged in Link icon Log in Link icon Join
You are here: Home

Latest Screenshot
by micah on
Image icon Curses frontend for PGBuild
Curses frontend for PGBuild

Lately I've been working on PGBuild, a generic configuration, download, building, and installation tool that will be used in the current code starting in v0.46, and in the v2.0 architecture when it's ready. It can't actually compile anything yet, but many of the pieces are falling into place- SCons for the actual build process, a flexible XML-based configuration system, package downloading and updating, and support for multiple front-end modules. Shown here is PGBuild with the Curses frontend, running a mirror speed test before starting a package download and configuration merge.

more screenshots...
Latest News
by lalo on
News icon PicoGUI 0.46 "Lagbored" released

PicoGUI 0.46, codenamed Lagbored, was just released. This is the first release with the new directory layout and windows support. You can read the release notes straight off sourceforge.

by micah on
News icon Lack of Interest

I'm sure some of you have guessed by now that the PicoGUI project isn't going anywhere.

by micah on
News icon The CIA in IRC

PicoGUI has had a simple bot to report changes to the repository in our IRC channel for about a week now. Today, that bot became open to all projects. Read more about it at the bot's info page. It's already being used by autopackage, picogui, gaim, gnupdate, bloat, gnome, gstreamer, bzflag, fresco, and!

by micah on
News icon The Ghost of PicoGUI Past

I have written a short paper describing the motivation behind the planned rewrite of PicoGUI.

by lalo on
News icon We run in That Other OS!

After some tweaking (not as much as we expected), Micah and I managed to compile and run pgserver on That Other OS (the one most people use, even when most people know it sucks). There is a screenshot, and the binaries are available in the standard location.

Log in


PicoGUI is an Open Source project to create a new GUI architecture designed to be usable on systems ranging from embedded to desktops.

Current status

As you can see here Micah (the original author of PicoGUI) is disinterested with the project. This means development is all but halted. The only other developer (Lalo Martins, who wrote this section of the page) is busy with other stuff more directly related to the acquisition of food and maintenance of roof.

However, there are still people who are interested in seeing continued development and who believes in PicoGUI - Lalo for one thinks PicoGUI is one of the best things in its category, and plans to continue making releases as necessary.

In short, what the project needs to continue to exist is more developers. Micah and Lalo are available to review and merge patches and even to grant svn access to the codebase.

What it is and isn't

It is not a widget toolkit or a window server, though it provides features similar to both. In the X Window System, for example, PicoGUI would be roughly equivalent to:

  • The X server
  • A widget set, like GTK or Qt
  • A window manager
  • A widget layout system like Glade

So why go to all this trouble if the same functionality can be had using existing software?

PicoGUI applications can very easily be moved between a wide variety of platforms.
PicoGUI makes it easy for developers to separate presentation, layout, and content. This makes it easy to change the look and feel of an app, and for all apps to be consistent with each other.
PicoGUI is a chance to completely rethink the design behind a GUI system and try new things.
PicoGUI is designed to be tweaked and configured at compile-time to create a system that's right for any application. You can create large feature-packed binaries for the desktop, or simpler configurations for a wide range of embedded systems.

Instead of compatibility with existing software, PicoGUI is focusing on an innovative architecture especially well suited to handheld computers, PDAs, cellphones, and other embedded systems. It is client-server, but almost everything is implemented in the server, including widgets and themes. The theme system and flexible video architecture allow it to run on a wide variety of displays, from large desktop monitors to text-only LCDs and everything inbetween.

The project has been underway since early 2000 - It was originally designed for very low-end embedded systems, but has expanded to run on many architectures including the TuxScreen, VTech Helio, Agenda VR3, Psion, uCsimm, desktops, in-game UI systems, and a few commercial products in development.

There is still much to be done. PicoGUI needs more applications, mainly a PIM. We could use programmers to write applications, port PicoGUI to new architectures or programming languages, and work on PicoGUI itself. We're also in need of documentation authors, and artists (preferably with a little programming experience) to create new themes for PicoGUI.

Browse around (specially the wiki) for more information. The "contacts" sidebar has links for getting in touch with developers.

Quick info checklist

  • PicoGUI isn't X, or X compatible. It's a completely new GUI framework. It's design goal is not compatibility with other GUIs, but to explore a unique architecture that especially benefits handheld computers and other embedded systems
  • PicoGUI is very scalable. It will run on a 32bpp 1024x768 display, your average handheld, even something with a 16mhz Dragonball CPU (the same used in Palm handhelds). The video drivers are flexible enough PicoGUI has no trouble running over ncurses or a text LCD.
  • PicoGUI is client-server like X, but that's about where the similarity stops. PicoGUI implements as much as possible on the server side including widgets, themes, and text editing.
  • PicoGUI's theme engine isn't there just to look pretty, it's there to enforce a separation of content and presentation. This way the application only specifies high-level commands, and it's completely up to the theme to specify which pixel goes where. This allows the same application binary to run on a true color display, 160x16 grayscale LCD, or an ASCII device
  • PicoGUI's video subsystem is flexible. It can run under X, but it runs just as well on the linux framebuffer or on bare hardware.
  • PicoGUI is small. How small depends on the architecture and configuration, but it's typically a few hundred kilobytes.
  • PicoGUI is primarily developed under linux, but should be portable to other platforms