D2X-XL Debian/Ubuntu Binary Package

(The D2X-XL version of this package is updated regularly.)
PS Nov. 20: well, not very regularly, but I'm working on an update to D2X-XL 1.14.156)

I have created a Debian/Ubuntu binary installation package named d2x-xl-demo for D2X-XL.

D2X-XL is an improved version of the classic game Descent II (Windows/Mac/Linux).  This package contains 2 demo levels which give a good idea of this amazing game.  To get more (and better) levels, you need to buy the original (vintage 1996) game data, which is inexpensive.  It can be purchased for download for about $6 from http://www.gog.com/en/gamecard/descent_1_descent_2

D2X-XL is developed by Dietfrid Mali.  Visit his website at http://www.descent2.de to learn more about the game, or to download the Windows or Mac versions. I consider DX2-XL the best computer game of all time, in its class.

 

The goal of these D2X-XL packages is to make installation and update of this game easy on Debian 5+ (Lenny) and recent Ubuntu, and Debian-based distros such as Linspire, Xandros, Ubuntu, and Mepis.  Please let me know if the package fails to install on a fairly recent Debian derivative distro.

To install, you must add my D2X-XL repository to your repository list.  There are 2 ways to do this.

  1. Open the file /etc/apt/sources.list (as root) and add the following line:
    deb http://files.lstandish.com/   d2x-xl/
  2. Add the repository using using your favorite package manage, such as Synaptic.  In Synaptic click "Repositories" in the "Settings" Menu.  Click "New," and fill in the information as indicated in the image:



     

After adding the new repository, you will need to "Refresh" your package manager has about available packages (use the "Reload" button in Synaptic).  Then do a search for packages with "d2x" in the name, and the 5 packages in my D2X-XL repository should appear.  For running the demo, d2x-xl-demo is the only one you have to mark for installation.

d2x-xl-base:
d2x-xl-demo
d2x-xl-executable
d2x-xl-midi
d2x-xl-sdl

If you are curious about these packages, read the package descriptions in your package manager.

Remember to go to the site http://www.descent.de for information about the game.  There is also a forum.

Files Not Showing Up in Synaptic

I am a relative novice at Linux, running Ubuntu 9.04, and after following your instructions I cannot find any of the files in Synaptic. Is it possible they're not showing up because I'm running on an AMD-64 platform? (I'm sure that's 10 kinds of stupid question, but sometimes one can only hope to gain wisdom by confessing ignorance.)

After adding the d2x-xl

After adding the d2x-xl repository in Synaptic, does your entry look just like the one pictured above, in the body of this story? If so, it HAS to work. Make sure you click the reload button in Synaptic. Use the Synaptic search function to look for files with "d2x" in the name.

The fact that your hardware and OS are 64 bit and the D2X-XL were compiled for 32 bit should not cause the files not to appear in Synaptic, and will probably not be a problem to run d2x-xl on your machine, either. See:
http://www.debian-administration.org/articles/534

Looks the Same to Me

Thanks for the quick reply!

The only difference I can see when I look at my version of that screen (from Settings/Repositories/Other Software/Edit) is that in the Type window I have "Binary" instead of "Binary (deb)." The pull-down menu for that window does not have a Binary (deb) option. The only options are "Binary" and "Source".

Also I misspoke -- I am running 9.10 (Karmic). My Synaptic interface is a little different from the one you show, so here's what I did:

  1. In the "Settings/Repositories" window, selected the "Other Software" tab, and pressed the "Add" button. This opens a window in which my only option is to type or paste an "APT line."
  2. In this window, paste the text, "deb http://files.lstandish.com/ d2x-xl/" (I also tried this with fewer spaces in front of "d2x-xl".)
  3. Press the button "Add Source."
  4. Press the button "Close."
  5. Press the "Reload" button.
  6. Search for "d2x-xl."

Result: Nada.

(I've tried taking some screenshots with the applet in the Applications/Accessories menu, but if it's working I don't know how to retrieve them or where it stores them.)

I also notice that when I run sudo apt-get update, the first three lines are:

Ign http://files.lstandish.com d2x-xl/ Release.gpg
Ign http://files.lstandish.com d2x-xl/ Translation-en_US
Ign http://files.lstandish.com d2x-xl/ Release

Does the "Ign" mean "Ignore," and if so, does that tell us anything?

I am trying to learn this OS but at this stage the whole package-deb-apt thing is a complete mystery to me.

I understand the "ign"

I understand the "ign" indicates that nothing has changed in that repository since you last checked. That would mean everything is OK. I have no idea why you don't see the d2x-xl files in Synaptic. Maybe you could try "sudo apt-get install d2x-xl-demo" from the command line and see what happens.

(PS I don't think my repository has the "release" and "translation" files, which indicates that the "ign" (also?) means that it can't find those files. Anyway, that's not important.)

"Error: Wrong architecture 'i386'"

I downloaded d2x-xl-demo.i386.deb to my desktop and double-clicked on it. The Package Installer started to run and then returned the above error message. So maybe it's the AMD64 problem after all? I do have ia32-libs installed.

It does look like the 64 bit

It does look like the 64 bit OS can't run 32 bit apps (or doesn't want to try!) I'm afraid I can't help with this, since I've never used 64 bit Linux. However, I do have 32 bit Linux (Debian Lenny, which I recommend) installed on a 64 bit machine.

You might want to install 32 bit Linux on a separate partition on your 64 bit machine. It ought to work fine. I think the only advantage of a 64 bit OS is a wider memory address space (can access more memory without page switching). I think that in most cases, depending on the apps you run, there will be no perceptible difference (in speed or otherwise) between 64 bit and 32 bit. I imagine the lack of 32 bit versions of applications can be a real pain.

One thing I definitely recommend: avoid installing d2x-xl by downloading and clicking on the individual deb files. If you do that, the many dependencies will not be automatically fulfilled, and you will likely quickly find yourself in "dependency hell." The best way is to get Synaptic or apt-get to install from my d2x-xl repository.

d2x-xl, by the way, runs great on Linux. The graphics quality is similar to descent 3 on Windows. In many ways it's better than descent 3.

It's Running!

I have the demo running in Karmic AMD-64. I don't know if I can recreate all the steps, but it was something like this:

(1) Downloaded getlibs and getlibs-all.deb to my desktop from http://frozenfox.freehostia.com/cappy/.

(2) Installed getlibs, probably by double-clicking on getlibs.deb.

(3) Downloaded the five d2x-xl debs to my desktop from http://www.descent2.de/index.html.

(4) Force-installed each deb with following commands in terminal:

sudo dpkg -i --force-all d2x-xl-demo.i386.deb

sudo dpkg -i --force-all d2x-xl-base.i386.deb

sudo dpkg -i --force-all d2x-xl-executable.i386.deb

sudo dpkg -i --force-all d2x-xl-midi.i386.deb

sudo dpkg -i --force-all d2x-xl-sdl.i386.deb

(5) Ran getlibs as follows:

getlibs /usr/local/games/d2x-xl/d2x-xl

Got following errors:

No match for libdirectfb-1.0.so.0
No match for libfusion-1.0.so.0
No match for libdirect-1.0.so.0
No packages to install

(6) Downloaded libdirectfb-1.0-0_1.0.1-11_i386.deb to desktop from http://packages.debian.org/lenny/i386/libdirectfb-1.0-0/download.

(7) Used getlibs to install libraries as follows:

getlibs -i libdirectfb-1.0-0_1.0.1-11_i386.deb

(8) Checked dependencies with getlibs:

getlibs /usr/local/games/d2x-xl/d2x-xl
This application isn't missing any dependencies

(9) Ran demo by double-clicking on /usr/local/games/d2x-xl/d2x-xl.

(10) Was blown away (pretty quickly, as a matter of fact) ...

THANKS!!!

You sure are determined!

You sure are determined! Good job! It's awful that you couldn't just use the repository, though. I think there has to be an easy way to make your machine use my repository.

By the way, you should run d2x-xl by just typing 'd2x-xl' in a terminal, or create a menu entry that executes /usr/local/bin/d2x-xl. It's a small wrapper program I wrote that checks for the proper files and even creates missing user files (it asks for permission first).

I'm trying to get the latest version of d2x-xl working (1.14.156), but although it compiles, it won't run. I posted for help on the developer's forum.

compiling?

Is there any advantage to compiling it so it is native to 64-bit Ubuntu (I'm in 9.04)?

I don't think so. 64-bit

I don't think so. 64-bit systems are able to access over 4 gigs of memory at once, while 32-bit systems can "only" access up to 4 gigs at once. So having a 64 bit system only makes a difference if you have more than 4 gigs of memory installed. Even if you have more than 4 gigs of physical memory, I don't think d2x-xl uses enough memory to make use of the extra address space. I say this because I never see my 32-bit system, with 2 gigs of physical memory, come anywhere near needing swap space while running d2x-xl.

An expert interviewed by PC world concurs http://www.pcworld.com/article/111508/are_you_ready_for_a_64bit_pc.html):

"...That limit is not a big deal now, but it could be down the road--particularly in video-editing applications and the like," he adds."

In sum, I think it would only make a difference if you have 4+ gigs of memory AND you ran a lot of very memory-hungry applications at the same time as d2x-xl, which is not likely.

We have a 64-bit machine upon which we run d2x-xl compiled for 32 bit, and it runs extremely fast - due, I think, to the fact that it is dual-core.

Icon for Menu Entry?

I did make a menu entry, but a quick google didn't show me any appropriate icons to attach to it. Any suggestions on that score would be welcome!

I've had some fun with the demo, but I need to invest in a controller before I can get serious. I used to have a Logitech Wingman Pro (or something) (serial port, as I recall). No idea what happened to it. I have 13 years of catching up to do on that score.

At some point I opened up a console window/overlay, which was fine except I couldn't seem to close it without ending the game.

I included a couple of icons

A couple of icons are included in d2x-xl-base. They're at /usr/share/d2x-xl-base/icons/

We (my son and I) have a joystick, but we have never been able to get the same degree of control and precision (especially in firing) with a joystick compared to the mouse + numpad.

By the way, if you need the full game data you can purchase and download it from gog.com. If you prefer a CD, I have an extra original game CD I could sell for what we paid (about $7).

Did you understand that you should make your icon launch the wrapper script /usr/local/bin/dx2-xl, not /usr/local/games/d2x-xl/d2x-xl? The wrapper script will keep you out of trouble, such as what happens when you start d2x-xl accidentally as root.

Another Freaking Opportunity for Growth!

Ah, too bad! I may resort to installing a second (32-bit) OS. But first I want to study the dependency problem and see if I have the stomach to tackle it. I'll probably decide not to, but it may provide some entertainment, and who knows, I might learn something.

Thanks for your efforts. You have definitely heightened my appetite to get it working one way or the other.

This Is Baffling

Results of sudo apt-get install d2x-xl-demo:

Building dependency tree
Reading state information... Done
E: Couldn't find package d2x-xl-demo

Falling back on an old Windows habit, I rebooted. Same result.

I certainly appreciate your efforts on this. Long ago I played Descent 3 on a Windows machine and images from it still come to me. I thought I'd see how much of the Descent universe I could install and work my way through on this machine. I hope I can get past this bewildering hurdle!

Updated version of libdirectfb

Hi,
I'm running Ubuntu Karmic Koala and am unable to install d2x-xl because the libdirectfb dependency fails. I have libdirectfb-1.2 installed. Is it possible to have this dependency updated at all, please?

I have downloaded the .deb files and have successfully installed them using ----force-depends --ignore-depends=libdirectfb-1.1.0.
However, the executable still doesn't execute as it looks like it's statically linked to the previous version of libdirectfb. I'm going to see if I can "trick" Ubuntu into thinking the required version is installed.

Cheers,
Paul

Thanks very much for

Thanks very much for pointing out this problem, and for confirming (by private correspondence with me) that libdirectfb-1.2.0 is compatible with the D2X-XL's sdl libraries. Based on your report of compatibility, I have updated the d2x-xl-sdl package to install with either libdirectfb-1.1.0 or libdirectfb-1.2.0 present.

Regards,
Lloyd

It installed fine on Karmic Koala

Settign up the repo was fine, first error encountered was trying to run the game:

"desktop:~/Desktop$ d2x-xl
/usr/local/games/d2x-xl/d2x-xl: error while loading shared libraries: libdirectfb-1.0.so.0: cannot open shared object file: No such file or directory"

Not a problem i
"desktop:~/Desktop$ sudo ln -s /usr/lib/libdirectfb-1.2.so.0 /usr/lib/libdirectfb-1.0.so.0"
Next issue:

"desktop:~/Desktop$ d2x-xl
/usr/local/games/d2x-xl/d2x-xl: error while loading shared libraries: libfusion-1.0.so.0: cannot open shared object file: No such file or directory"

Again :
"desktop:~/Desktop$ sudo ln -s /usr/lib/libfusion-1.2.so.0.7.0 /usr/lib/libfusion-1.0.so.0"

Next Issue:

"desktop:~/Desktop$ d2x-xl
/usr/local/games/d2x-xl/d2x-xl: error while loading shared libraries: libdirect-1.0.so.0: cannot open shared object file: No such file or directory"

Again:
"sudo ln -s /usr/lib/libdirect-1.2.so.0 /usr/lib/libdirect-1.0.so.0"

AND it worked in Ubuntu 9.10 Karmic Koala

Thanks for your report.

Thanks for your report. Based on it, I have added code to the d2x-xl-sdl package to automatically create the symbolic links to the newer libraries you mentioned if the older libraries that d2x-xl looks for are missing. I don't think this will cause any adverse consequences to other programs.

So, Karmic Koala users, the d2x-xl packages should now both install AND work for you.

Ubuntu 8.10

I'm currently limited to Ubuntu 8.10 because newer versions of ubuntu include a newer version of X that is no longer supported by the proprietary video drivers for my video card (ATI Radeon X1950 Pro). When trying to install the d2x-xl-midi package, I get the following error:

The following packages have unmet dependencies:
d2x-xl-midi: Depends: timidity (>= 2.13.2-20) but 2.13.2-19ubuntu3 is to be installed

Can you back the required version of timidity down, or will over versions not work?

I think the older timidity

I think the older timidity would probably work OK, but I'm not sure.

You could install the package d2x-xl-base and get the game working without music. d2x-xl-base does not require the timidity (midi music) package. This would let you see if there are other unmet dependencies (which I suspect). If you do this, you will need to obtain the demo data files (they are 3 big files with names that begin "d2demo") from http://www.descent.de, unless you have the "full" d2x-xl game data files. Or, you could download d2x-xl-demo and extract the files manually.

Whichever data files you have, copy them to /usr/local/games/d2x-xl/data.

If d2x-xl works (with sound but without music), you can try forcing a lower version of timidity.

Solution for RPM based distributions such as Mandriva.

D2X-XL is practically unusuable on Mandriva Linux. Something must be done, I would be willing to help you. I have a SPEC File. But D2X-XL Is horribly unstable.

I'm not surprised that it

I'm not surprised that it doesn't work on your Mandriva. These are Debian packages, intended for Debian 5+ (Lenny) and Ubuntu. They have many "dependencies" - that is, many supporting libraries must be installed in order for D2X-XL to work, and they all have to be the proper version. When installed on Debian or Ubuntu, my D2X-XL packages automatically pull in the the proper dependencies.

In order to get my D2X-XL Debian packages working on Mandriva, you will to manually install all the dependencies first. You should be able to find equivalent RPM packages for them.

Using Debian or Ubuntu (you can use the live Ubuntu CD), install my D2X-XL repository according to the instructions in this article, and then in Synaptic (or similar graphical package manager) do a search for packages with "D2X" in the name. You should see 5 packages.

Check the dependencies for each package. Write down the names and note the minimum version number. Ignore any interdependencies between the D2X packages.

Back in Mandriva, look for the RPMs that provide the needed dependencies. Install each one.

Finally, my Debian packages can be installed, and they should work. Remember that you need a graphics card capable of opengl. Good luck.

Unfortunately, I have no plans to prepare RPM packages of D2X-XL.