11
Oct
2014

Descent on the Raspberry Pi

Back in my childhood, the game Descent was a favourite of mine on the PlayStation 1. Released in 1995, it was a very spatially demanding game, with full 360-degree control of the camera and “six-degrees of freedom” which I possibly owe my parking skills of today to. I decided to have a go at playing the game again, but soon realised that setting up a DOS version would take a lot of fiddling, especially under Linux.

After some very breif Googling, I found DXX-Rebirth! I found myself downloading the tarball for the game and compiling it, following the instructions in the readme files. It compiled perfectly and I bought the game from GOG.com (Actually got Descents 1 and 2). This was necessary as to play the full version, you need the .PIG and .HOG files that came with the original DOS disk, and buying the game from GOG gave you those files, which I stored under ~/.d1x-rebirth. So the game ran great on my machine, then again it was a 4MB download, so it would probably run just fine on any machine.

Whilst I was compiling, a certain file caught my attention: README.RPi. This led me to digging out my Raspberry Pi and loading the source code onto that, along with my .PIG and .HOG files. After installing the necessary libraries and binaries required for compilation, I compiled D1X-Rebirth directly on the Pi. What took my desktop 6-core machine 10 seconds took my Raspberry Pi 20 minutes (with an overclock to 950MHz). Once it was finished, I fired up the game. It gave me an SDL issue with the mouse, and I found typing:

export SDL_NOMOUSE=0

seemed to do the trick, but I was then limited to only using the keyboard, which was fiddly but I got the hang of it eventually. You need to set the memory split to have at least 128MB available for the GPU. The game ran so smoothly on the Pi I forgot I was using it! Here is a video of me playing the first level on the Pi:

Looking pretty good! You can hear some processing noise coming out of the Pi, but the game sounds great out of the analogue audio jack (I kept the music off to protect me from the copyright police). Once you get a joystick hooked in, there is no reason you could relive some nostalgic childhood moments by getting an old TV and playing Descent on it, like I used to. I will see how it performs on a 1080p screen aswell.

Next up, Descent 2!

The Shellshock Bash Bug in action
Descent 2 on the Raspberry Pi

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.