ID Software’s Doomsday Engine was released for most computer platforms. You can use it to play a number of legacy games in Ubuntu like Doom, Heretic and Hexen, all kickass games whose commercial sell-by-date was probably around the turn of the century. Nevertheless some relatively free fun is still to be had, especially with Russian hacks and customisations which arose in the cold vacuum of cyberspace and in an age when RAM and graphics cards were relatively scarce. Believe it or not, people still hand over cash to play Doom on high-end iPhones and it amazes me that proprietary behaviour is relegating the platform to a quaint oddity. Let’s free the iWad then?
This tutorial, based upon this one, is still a work in progress. Using it, I managed to get a game of Ultimate Doom going, minus sound.
1. First install deng
Add the closest or most recent deng repo for your distribution, in my case luckily, karmic. Check here for repo updates and campaign for more releases.
deb http://debian.keesmeijs.nl/ karmic-kees main deb-src http://debian.keesmeijs.nl/ karmic-kees main
sudo apt-get update && install deng
2. Install the Snowberry launcher
First make sure you have snowberry’s dependencies: python and a recent wxpython (available here at wxpython.org)
To get the latest wxpython add this key
Add the following to your sources list
deb http://apt.wxwidgets.org/ [distro]-wx main deb-src http://apt.wxwidgets.org/ [distro]-wx main
Where [distro] is your distro i.e lucid-wx main
Update then install python-wxgtk2.8
sudo apt-get update && install python-wxgtk2.8
Check out snowberry via subversion
(if you don’t have subversion installed, now is a good time to install it)
svn co https://deng.svn.sourceforge.net/svnroot/deng/trunk/snowberry snowberry
You will have to edit some files.
Open and edit “snowberry.py”
Add “#!/usr/bin/python” without quotation marks as the first line in the script, and make it executable.
Now run snowberry.py from the terminal. If it doesn’t run see Troubleshooting section below.
cd /home/[user]/snowberry/ python snowberry.py
Doomsday Engine Frontend should launch and start a setup wizard, tell it where the wads for doom, doom 2, hexen etc. are (I suggest a folder in your home folder called doomsday) and setup addons/display/sound settings to suite yourself.
Create a launcher for the client, to do this create a simple script in my home folder by opening a empty file (lets call it “snowberry launcher”) and pasting in the following (replacing your name with mine) and Make the script executable.
#!/bin/bash cd /home/afrodeity/snowberry/ python snowberry.py exit
Then you can just create a launcher on your desktop/ applications menu by pointing it at this script.
If you get some junk output in the terminal like this:
File “snowberry.py”, line 26, in <module>
import language, ui, plugins, sb.profdb
File “/home/afrodeity/SVN/snowberry/ui.py”, line 698, in <module>
app = SnowberryApp()
File “/home/afrodeity/SVN/snowberry/ui.py”, line 536, in __init__
File “/usr/lib/python2.6/dist-packages/wx-2.6-gtk2-unicode/wx/_core.py”, line 7700, in __init__
File “/usr/lib/python2.6/dist-packages/wx-2.6-gtk2-unicode/wx/_core.py”, line 7352, in _BootstrapApp
return _core_.PyApp__BootstrapApp(*args, **kwargs)
File “/home/afrodeity/SVN/snowberry/ui.py”, line 540, in OnInit
self.mainFrame = MainFrame(‘Snowberry’)
File “/home/afrodeity/SVN/snowberry/ui.py”, line 290, in __init__
self.mainPanel = MainPanel(self.profSplitter)
File “/home/afrodeity/SVN/snowberry/ui.py”, line 166, in __init__
File “/home/afrodeity/SVN/snowberry/sb/widget/area.py”, line 197, in addSpacer
AttributeError: ‘BoxSizer’ object has no attribute ‘AddStretchSpacer’
Here is a solution:
This link suggested commenting out lines
198 & 201 in /snowberry/sb/widget/area.py
196# if self.expanding:
199. self.containerSizer.Add((0, 0), self.weight, self._getLayoutFlags(),
If you need you can take a look at my file:
Getting hold of Doom wads.