How to get the most up-to-date applications running on a Raspberry Pi and other ARM based single boards computers?
Update 25 Oct 2016: I have written a small step by step tutorial to get you through the install process on a Raspberry Pi 2 and up. It’s available here.
Update 16 Feb 2016: Blender 2.76b is now available for the Armv7h architecture from the package manager.
For a project I’m working on, I need a small computer that can just run some scripts 24/7 while being connected to the net. Performance is not a key issue, although it’s always nice to have a fast system. But in this case, since we’re trying to keep a low budget, a computer under $50 should do the trick. And that’s why we went for the Raspberry Pi 2.
While I was developing the project, I used the latest version of Blender (who doesn’t anyway?) and some other Python libs. When moving the whole project to the Raspberry Pi, that’s when things got messy.
I’ve been using Arch Linux as my main system for a year and am really happy with it (thx Chris). So naturally, I used Arch Linux ARM for the Pi. I’ve been using it for other projects, so I felt comfortable. For those who don’t know Arch yet, it’s a bleeding-edge rolling release distribution. That means you always get the latest shit as soon as it’s available and you don’t need to do big upgrades of your system every 6 months or {2|4} years. It has also a very technical and dedicated community, that takes pride at making good documentation.
What I did not expect is that Blender was not available in the repositories for Arch ARM, although it’s of course available for the i686 and x86_64 architectures. So I started looking for a distribution that had Blender already packaged, which Raspbian has. (Raspbian is a mod of Debian crafted for the Raspberry Pi and thus promoted by the Raspberry Pi foundation as the go-to distribution for their hardware.)
But Raspbian, based on Jessie, only packages Blender 2.72, a version of Blender released in 2014. And that’s pretty far back in Blender spacetime. So my hand made Blender scripts were suddenly more buggy and not performing as well. Bummer. Since I’m kinda used to Debian systems, and since Debian has also a bleeding-edge rolling release, I thought “No problem, I’ll just switch to stretch/testing and I’ll get Blender 2.76.” Well, that did not go too well on the Raspberry Pi. I’m not sure why. I guess Raspbian is making too much modifications to the Debian core, but after switching to testing, no more Blender in the package-list available.
So back to square one. Where do I go from here? Some people online were saying Blender was not buildable on ARM architecture. But I found packets for Blender 2.76 in the Fedora branch for ARM, and Blender is available for Raspbian. So what am I missing here? Then I stumbled on this post from Popolon, where he managed to patch and compile Blender on an ARMv7 architecture using Arch (and that’s exactly what I need for my Pi). He even provided a link to his build, but that was unfortunately too old to run on the current version of Arch.
But that’s where the power of Arch comes to the rescue. Arch is a system with a lot of pre-compiled packages, and for whatever is missing, there is AUR (the Arch User Respository). What comes from AUR is a a set of scripts that will help you compile a specific application for your system. Of course, you could do any compilation yourself on any Linux system, but what I find easier here is that since you have the latest packages installed already, compiling new ones is maybe a little easier since you don’t really have to worry about having the right versions of a library. It’s always going to be the latest one, which is usually the ones needed for the application you’re trying to install.
With a slight modification of the PGKBUILD I found for Blender, I started the compilation on the Raspberry Pi 2. 6 hours later, I had the latest Blender running. Super. I can move on with the project.
Now, I also sent feedback to the Arch Linux Arm community about this. And have heard it’s in the pipeline to be added to the official repositories. That’s great news. It could mean next time, I will not need to compile it. And others can benefit from that also. But if this story can only tell you one thing is to trust Arch Linux for running the latest software on an ARM based computer. Even if it’s not yet in the repositories, you’ll probably have the best chance to get the thing running using that system more than any other.
Comments
One response to “How to get the latest Blender running on a Pi”
[…] How to get the latest Blender running on a Pi […]