Raspberry Pi

With the Raspberry Pi coming out soon (apparently next week), I starting thinking about what I’d do with one. It comes with python, and has a good graphics processor (OpenGL ES2.0 capable). I was thinking maybe panda would run on it. The CPU is an Arm11, with either 128 or 254 MB of ram.

At a cost of 25$ or 35$ depending on model, it seems like a darn cheap way to make panda go, and with their focus on education, it might be a good way to get panda into some classrooms (I’m not sure if thats a good idea or not, but its interesting at least). It would also make a nice computer for panda based installations given the low cost, power and size.

Anyway, I’m curious what it would take to get a Raspberry Pi compatible Arm build of panda.

I heard about it. I’ll probably get myself a couple of them.

The hardware is relatively similar to a beagle board, and I already ported Panda to the beagle board, so most of the work has already been done.

i think shipping is closer towards the end of april, so it’s more like a preorder.
it’s a darn cool idea tho, there is a project page on their forums that has many project ideas for it already. i plan on buying one, but i’m not sure yet what i want to do with it. possibly home-theater automation and mediaslinging; but the thought of packing it with panda and distributing it as a micro-gameconsole would be neat i think

Both models now have 256MB RAM.


Have you got your RPi yet? Have you started getting Panda3d to run on it?

Here’s a thread talking about this very issue:

Sorry, I won’t have time to even think about implementing it myself for at least another few months. I haven’t bothered to get a Raspi yet because of the difficulty in getting one at this point.

I’d be happy to help anyone who tries to make it work, though, and I am excited about the prospect of a Raspi port, and I would be happy to integrate the changes necessary to support the Raspi into the official codebase.

That said, it will probably be challenging to get decent performance on such a low-end machine. I had performance issues back when I was doing the beagle board port, too.

Hi - found out about this thread from paddyg over in the Raspberry Pi forum. I’ve started looking at building Panda3D on the Pi (I have a board) and I’m currently trying to figure out how to deal with the 256MB RAM limitation as well as SD card access speed being slower than a hard disk, especially if swapping is necessary (highly likely given the RAM issue).

Actually, the RAM issue is worse than just 256MB, as it has to be split at boot time between the 700 MHz ARM CPU and the 24 GFLOPS GPU, with a minimum of 128MB dedicated to the GPU required for 1080p output. Since Debian uses about 80MB of RAM in its default configuration, that leaves 48MB of RAM, or less, for non-GPU processes (i.e., all of the program flow of control code, non-graphics data structures, etc.).

rdb - I’d be interested in any lessons learned doing the Beagle board ARM port of Panda3D that would be useful to know for doing a Pi port. No sense in me reinventing any wheels you’ve already made circular (my wheels are currently triangular, not even square :wink: ).


Because compiling on the Raspi itself will take very long, I would advise you to set up a chroot on another system with an ARM linux installation using qemu. I used schroot, which has qemu support builtin.

I personally compiled with optimize level set to 4, because this produced much smaller and faster binaries. When I got everything running, I used PStats to find out which procedures in Panda were heaviest, and disabled what I didn’t need.

Most of the graphics work and porting to ARM is already done, the Raspi port would mainly be a matter of getting it to compile (which shouldn’t be difficult) and optimizing the performance.