I haven't tried Gtk so I cannot answer your question, though this article seems to imply you can install Gtk+3:
http://www.raspberry-projects.com/pi/pr ... alling-gtk
The main problem currently with anything that writes directly to /dev/fb1 on the RPi is that you cannot benefit from hardware graphics acceleration, whereas using something that writes to /dev/fb0 you can. So using AndyD's raspi2fb to mirror /dev/fb0 to /dev/fb1 may be the way to go for me, personally.
What I had found with writing to /dev/fb1 using the sort of techniques outlined in -rst-'s low level framebuffer blog:
http://raspberrycompote.blogspot.com is that updating a pixel via a pointer mapped to /dev/fb1 can seemingly be paused by some hardware-related process.
My app was attempting to update the screen in real time during callback functions, but I found it was sometimes failing to update the screen before the next time the callback function was called. The problem turned out to be in the following function:
Code: Select all
void put_pixel_RGB565(char *fbp, int x, int y, unsigned short c)
{
unsigned int pix_offset = x * 2 + y * finfo.line_length;
*((unsigned short*)(fbp + pix_offset)) = c;
}
All it is doing is calculating an offset into the framebuffer and updating that memory location with a 2-byte value.
If I commented out the second line *((unsigned short*)... etc the code ran absolutely fine, so the only conclusion was that something in the way that the Pi handles the /dev/fb1 memory was preventing this write happening in a timely manner, which wasn't something I was expecting.
I haven't tried it yet, but I am hoping that writing to /dev/fb0 using something that can make use of hardware graphics acceleration (raylib, for example) and then using raspi2fb to mirror /dev/fb0 to /dev/fb1 may overcome the issue as it would decouple the updating of the /dev/fb1 from my real-time process.
Morph