Drawing directly on the screen (frame buffer) is actually much faster than using X when you are using Broadcom's VideoCore (OpenVG) library. The major resources you need to look at, including examples and source code, are already pre-installed on Rapsberry Pi. For example, try this in console mode:
cd /opt/vc/src/hello_pi/hello_triangle
sudo make
./hello_triangle
You will see a full screen GUI is shown. You may also want to look at a very nice wrapper library that makes using OpenVG much easier, which includes additional very nice examples.
For starting up a program automatically, you can add it in your /etc/rc.local
file, just before exit 0
, like this:
#....
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
/your/path/your_fancy_gui &>/dev/null &
exit 0
Note you need to use &
to put the program in the background, or the system boot sequence would be stopped there until you program quits.
sudo nano ~/.config/autostart/FullScreenApp.desktop
and then use pygtkgtk.Window.fullscreen()
(I didn't try)