Yet More Pi

So I got a Raspberry Pi at work, making for a grand total of four in the house (and 300 in my office closet for a few hours, but that’s a story for another time).

I’ve had one acting as an AirPrint redirector for a year now (which I never mess with, lest it break), keep one around with a Wi-Fi dongle to use as a sort of plug-in server, and recently got a PiFace to use another as a controller for a few doodads I’m planning to build someday.

It feels like I’ve been messing about with the things for ages, really. I have a side project at work where I routinely try to coax the things into becoming more or less reliable digital signage clients of various kinds, and I’ve tried pretty much everything1 out there to get them to render web pages while taking advantage of the GPU, which makes me sort of a resident expert on what doesn’t work on the things.

Routinely going up against that particular brick wall for a while now has tempered both my enthusiasm for the platform and my expectations of what can realistically be done with it, but even so I felt compelled to re-visit the state of the art.

As it turns out, there’s this nice project called nix that is building a WebKit2 port atop OpenGL/ES. It works fairly well already, but there’s a catch: You need to build a working browser (i.e., a lot of the event handling), and it currently can’t render most “common” web pages due to various missing bits.

Serendipitously, it looks the folks behind uzbl (the browser I currently use for my solutions) are looking to adopt it (which would be awesome), but it’ll take a while yet.

The best part, however, was finding their SDK, which has rendered all my previous Android-inspired cross-compiling setups obsolete – it provides a chroot environment on desktop Linux that thinks it is a Raspberry Pi and (this is the genius bit) lets you run a tidy mix of native (x86_64) cross-compiler tools and standard ARM binaries.

So far I’ve built around half a dozen packages on it without any issues whatsoever – I toss the resulting binaries into the Pi and they just work – and am quite happy with the prospect of finally having a working low-level SDK that doesn’t entail waiting hours for stuff to compile.

Now all I need to do is remaster the Debian-fu of .deb packaging…

  1. Seriously. I’ve built Qt5, tried FirefoxOS, installed JavaFX, the works. Every time I look into this I end up swearing bitterly at Broadcom, who’ve been sitting on their Android prototype for over a year now. ↩︎