Debian d2x-xl package project

All other topics around Descent and D2X-XL

Moderators: Frustikus, simX, Aus-RED-5

User avatar
karx11erx
D2X-XL Master
D2X-XL Master
Posts: 8112
Joined: Mon Sep 24, 2007 8:48 pm
Location: Wilferdingen, Germany
Contact:

Postby karx11erx » Fri Aug 07, 2009 6:10 pm

No, it's gets f'd up on a more or less regular base by debian updates. :evil:
User avatar
lloyd
Posts: 91
Joined: Sun Jul 26, 2009 5:13 pm
Contact:

Linux binary installer

Postby lloyd » Fri Aug 07, 2009 11:54 pm

Hey, "topic update notifications" from this forum are working again!

Anyway, back to the subject of this thread: the creation of a Debian binary installation package for d2x-xl. In fact I have new ideas on this. I think that in addition to a Debian package, there should be a universal Linux installer/uninstaller. I think the SDL library dependencies should be compiled in as static libraries. That would increase the size of the executable, but I don't think that's a big deal. Having the SDL libraries (SDL, SDL_mixer, and SDL_image) compilied in would make installation far easier. In fact, I think using static SDL libraries instead of dynamic linked libraries is the way to go for d2x-xl on Linux, and not just for a demo installation package.

Statically linked libraries can't be shared between running programs that use the same libraries like dynamically-linked libraries can, but how many people simultaneously run *other* programs that need SDL?

I'm trying to link d2x-xl with SDL statically, but still have openGL (GL) linked dynamically, and I'm having trouble. Are there any Linux gurus here with this sort of linking experience? I don't want to bother Diedel about this. If somebody thinks they can help, I can post on this further here. Or, email me off-forum: lloyd at crnatural.net

It seems to me like a binary Linux d2x-xl installer that works on just about all Linux platforms (openGL being the only software requirement) could be distributed far and wide across the Internet, and get a lot of new users who would (have to) buy the Descent game data.

(I wonder - maybe Diedel become a dealer for the Descent I-II game download, like what is sold on www.gog.com.)
D2X-XL Debian/Ubuntu package repository:
http://standish.home3.org/d2x-xl
User avatar
karx11erx
D2X-XL Master
D2X-XL Master
Posts: 8112
Joined: Mon Sep 24, 2007 8:48 pm
Location: Wilferdingen, Germany
Contact:

Postby karx11erx » Sat Aug 08, 2009 9:47 am

It was the bloody ClamAV, as usual. Couldn't connect to its data base. A dist upgrade fixed the problem.
User avatar
lloyd
Posts: 91
Joined: Sun Jul 26, 2009 5:13 pm
Contact:

first demo D2X-XL demo Debian/Ubuntu package ready

Postby lloyd » Sun Aug 09, 2009 6:00 am

I spent the entire day today struggling with the compiling/linking of d2x-xl (v1.14.84) for the Debian binary package. :(

I finally decided to have the D2X-XL demo package provide its own versions of SDL and SDL-mixer, stored at /usr/local/lib instead of the Debian/Ubuntu default /usr/lib. That way the D2X-XL SDL libraries can co-exist with the stock versions of these libraries, and no dirty hacks are required.

The demo gives a great taste of d2x-xl. There are just a few minor glitches, but maybe they were always there. One is that although F1 shows the help text box centered, there is text over at the far right of the screen. Also, the center scroll wheel is not working properly to switch weapons.

Features of this package:
1. No compiling - just download, click the icon, and install. When this is part of a Debian or Ubuntu repository, the necessary dependencies will be automatically installed. Until then, the user will have to "manually" install the dependency packages it requests. It should work on any Debian-based distro from Etch (Debian 4) onward.
2. The gus timidity patches are included (is that OK to distribute?)
3. The install script add the necessary lines to /usr/share/timidity/timidity.cfg
4. User files are set up from skeleton files by running the setup program "d2x-xl_setup."

To do: Create a man page, and have a menu entry automatically created.

When the user buys the Descent game data, it only has to be copied over to the data directory. :)

The binary package is about 35 megs. Diedel, would you host it on your server? Meanwhile, I'll put it on my own server, and post a download link here.
D2X-XL Debian/Ubuntu package repository:
http://standish.home3.org/d2x-xl
User avatar
karx11erx
D2X-XL Master
D2X-XL Master
Posts: 8112
Joined: Mon Sep 24, 2007 8:48 pm
Location: Wilferdingen, Germany
Contact:

Postby karx11erx » Sun Aug 09, 2009 9:42 am

Well, my frequent updating D2X-XL is a bit of a problem here. Right now I am preparing v1.14.88 ... that would be a good version to put into a debian package that doesn't get updated as frequently, because I think that it's quite stable. When you're done, you can try to e-mail me the package, or give me a link that I can use to download it.
User avatar
lloyd
Posts: 91
Joined: Sun Jul 26, 2009 5:13 pm
Contact:

Postby lloyd » Sun Aug 09, 2009 4:21 pm

My plan now is to compile d2x-xl-demo-1.14.xx-i386.deb on my VPS in the USA, where bandwidth is not a problem. From there I could email to you, or just put it up for download. At home all I have is dialup (actually GPRS - Internet over GSM telephone, which gives about the same bandwidth as old-fashioned dialup.)

Actually, this package should preferably be included in a "repository" somewhere, so that all dependencies are handled automatically. The user would add the repository name to his list of repositories, click "Update," and then then select the D2X-XL package for installation. If the .deb package is simply downloaded directly, fulfilling dependencies is much less convenient. (I don't know why that should be.)

This package could not yet get into the official Ubuntu/Debian repositories, I think, because the package still does not meet certain packaging standards. Maybe I can set up a private repository on my server just for Descent stuff. Hmmm, it would be pretty easy to put levels and stuff into packages....

The "release" version of the package will have v1.14.88. If there is a later version yet when I build the package, I'll ask you to recommend which D2X-XL version to put in it.

I think the configure script needs to be adjusted, since it looks for SDL in /usr/lib instead of /usr/local/lib. /usr/local/lib is the default installation directory for your patched versions of SDL and SDL-mixer, so D2X-XL should for them there. This is a better because /usr/local/lib will not clash with the Debian/Ubuntu install locations for these libraries. I'll send you my configure script when I get it tweaked, in case you want to use my changes.

I think the Debian/Ubuntu demo binary installer will be the preferred way for most Linux users to install the game, even though they have the descent 2 game data.

When I first compiled D2X-XL, I had a lot of trouble. So many things can go wrong. In my case, I was missing a symlink from libGL.so to libGL.so.1. "Ordinary" Linux users are not software developers. In my case, in spite of my experience, it took quite a lot of digging with Google to figure out the symlink problem.
D2X-XL Debian/Ubuntu package repository:
http://standish.home3.org/d2x-xl
User avatar
lloyd
Posts: 91
Joined: Sun Jul 26, 2009 5:13 pm
Contact:

Postby lloyd » Sun Aug 09, 2009 6:23 pm

Your autogen.sh/configure scripts are OK. My problem was I didn't use --with-sdl-exec-prefix and --with-sdl-prefix.
D2X-XL Debian/Ubuntu package repository:
http://standish.home3.org/d2x-xl
User avatar
lloyd
Posts: 91
Joined: Sun Jul 26, 2009 5:13 pm
Contact:

Debian/Ubuntu package available for testing

Postby lloyd » Mon Aug 10, 2009 5:16 am

I'm too tired to write much about this now, but here is a link to a page with instructions and links for the Debian package:

http://www.lstandish.com/linux/d2x-xl-demo

There is also a repository. Binaries and libraries were compiled on Debian Etch (the previous stable version) to allow more backward compatibility with dynamically-linked system libraries. I built this directly on the VPS, and downloaded just the executable file for testing. I have not yet actually tested the full package.

It installs files to /usr/local/games/d2x-xl (of course).
SDL and SDL-mixer go into /usr/local/lib, so it won't touch or use the stock Debian SDL and SDL-mixer libraries.

Please test and let me know if all it OK.

PS I used D2X-XL v1.14.88
D2X-XL Debian/Ubuntu package repository:
http://standish.home3.org/d2x-xl
User avatar
D2Junkie
Posts: 34
Joined: Fri Apr 17, 2009 1:43 pm

Postby D2Junkie » Mon Aug 10, 2009 11:36 pm

Added to my package manager, downloaded, installed - that part went fine, but the executable did nothing to my knowledge. I do know that the whole computer slowed down and the fan turned on when I clicked it, so something must have happened, but I saw no tangible effect on-screen.

I'm using Linux Mint 7 Gloria Gnome on a Macbook 2,1 2.0Ghz Core 2 Duo w/ 1.5 GB RAM and Intel GMA 950 graphics.

To be fair, D2X-XL won't run properly under Windows and Mac OS X Tiger either (both crash randomly due to the internal graphics card).
My ReverbNation Profile: Featuring My Descent Music Project: http://www.reverbnation.com/cliftonj
User avatar
Aus-RED-5
Forum Moderator
Posts: 1490
Joined: Tue Sep 25, 2007 9:02 am
Location: Adelaide, South Australia
Contact:

Postby Aus-RED-5 » Tue Aug 11, 2009 12:50 am

D2Junkie wrote:.... downloaded, installed - that part went fine, but the executable did nothing to my knowledge.


x2. Though I noticed no changes in my system.

The system tested on is: Intel P4 3.4 EE 478. 1GB ram, EVGA 7800 GS 256mb card (drivers 180.xx). OS: ubuntu 9.04 32bit, Kernel 2.6.28-14-generic... (from memory).
Last edited by Aus-RED-5 on Tue Aug 11, 2009 5:31 am, edited 1 time in total.
----System Specs----
Case: Corsair Obsidian 650D Black
Motherboard: ASUS Sabertooth X58
CPU: Intel Core i7 960 3.20ghz
Heat Sink: Corsair H100 CPU Water Cooler
Memory: Corsair 6GB (3 x 2048mb) DDR3 1600 Dominator (PC12800 - TR3X6G1600C8D)
Video Card: ATi SAPPHIRE Radeon HD 7970 3GB GDDR5 OC Edition
Hard Drives: SSD Corsair Force Series 3 F120 120GB & WD5003ABYX Enterprise RE4 500GB
Media Player: LG BH10LS30 BluRay Burner
Power Supply: Corsair HX-850
OS: Windows 7 Pro 64Bit
Monitor: Benq XL2420T LED
User avatar
lloyd
Posts: 91
Joined: Sun Jul 26, 2009 5:13 pm
Contact:

Postby lloyd » Tue Aug 11, 2009 3:35 am

Thanks for checking this out. I see there are some glitches to work through. I'll have to build a repilca of the package on my home machine (using the same binaries as in the package) to do testing.

I think the problem may have to do with the graphics drivers. D2X-XL requires the GL and GLU libraries, which are supposed to be provided by libgl1-mesa-glx libglu1-mesa (or, alternatively, by NVIDIA if you have an NVIDIA card with drivers installed), but I might have missed a dependency.

D2Junkie and Aus-RED-5, can you try executing the program from a terminal to see what messages you get?

Also, check to make sure you have a symlink /usr/lib/libGL.so pointing to your your in-use copy of libGL.so.x.y.y

I think this is not far from right, 'cause I have run d2x-xl flawlessly on 3 Linux computers at home: (1) my P4 (see my specs below), (2) a new dual-core machine with 4 gigs RAM, and (3) an IBM Thinkpad T42 (1.6 Ghertz, 512 Megs RAM).

Aus-RED-5, do you have a self-compiled copy of D2X-XL working propery on Linux?
D2X-XL Debian/Ubuntu package repository:
http://standish.home3.org/d2x-xl
User avatar
karx11erx
D2X-XL Master
D2X-XL Master
Posts: 8112
Joined: Mon Sep 24, 2007 8:48 pm
Location: Wilferdingen, Germany
Contact:

Postby karx11erx » Tue Aug 11, 2009 6:52 am

Most of all you need a useable gfx card (ATI/NVidia) plus proprietary drivers (only these offer enough performance) on Linux.
User avatar
Aus-RED-5
Forum Moderator
Posts: 1490
Joined: Tue Sep 25, 2007 9:02 am
Location: Adelaide, South Australia
Contact:

Postby Aus-RED-5 » Tue Aug 11, 2009 9:11 am

lloyd wrote:D2Junkie and Aus-RED-5, can you try executing the program from a terminal to see what messages you get?

Here's what I get:

Code: Select all

george@george-01:~$ cd /usr/local/games/d2x-xl
george@george-01:/usr/local/games/d2x-xl$ d2x-xl
D2X-XL: Error: Could not find a valid hog file (descent2.hog).
D2X-XL needs the full or demo Descent 2 data.
george@george-01:/usr/local/games/d2x-xl$

Image

Also, check to make sure you have a symlink /usr/lib/libGL.so pointing to your your in-use copy of libGL.so.x.y.y

I'm new to this so I'm not sure how to look it up..... however, I'll google it soon. :D
EDIT: I take it that you mean this?
Image

Aus-RED-5, do you have a self-compiled copy of D2X-XL working propery on Linux?

Sadly, as I've just mentioned. I'm new to this. I'm only 4 days old in the Linux world.
Took me 2 days to finally update my video drivers! :lolol:
----System Specs----
Case: Corsair Obsidian 650D Black
Motherboard: ASUS Sabertooth X58
CPU: Intel Core i7 960 3.20ghz
Heat Sink: Corsair H100 CPU Water Cooler
Memory: Corsair 6GB (3 x 2048mb) DDR3 1600 Dominator (PC12800 - TR3X6G1600C8D)
Video Card: ATi SAPPHIRE Radeon HD 7970 3GB GDDR5 OC Edition
Hard Drives: SSD Corsair Force Series 3 F120 120GB & WD5003ABYX Enterprise RE4 500GB
Media Player: LG BH10LS30 BluRay Burner
Power Supply: Corsair HX-850
OS: Windows 7 Pro 64Bit
Monitor: Benq XL2420T LED
User avatar
lloyd
Posts: 91
Joined: Sun Jul 26, 2009 5:13 pm
Contact:

Postby lloyd » Tue Aug 11, 2009 1:58 pm

Aus-RED-5, did you skip the step of executing d2x-xl_setup, which installs all the necessary directory structure under /home/<login>/.d2x-xl/? Just open a "console" or terminal and type that command in as a regular user (not root).

I have a great idea! I'm write a wrapper shell script installed at /usr/bin/d2x-xl which will run whenever the program is started, and will check for proper existence of user files. If anything is absent, it will advise, and offer to install the user skeleton files. This can be GUI pretty easily (I have done this for Puppy Linux). If everything appears to be OK, THEN it would start /usr/local/games/d2x-xl/d2x-xl (the game). This should do away with any confusion, and maybe make running D2X-XL under Linux as easy as under Windows.

D2X-XL by the way runs really great under Linux. In my opinion, it is the greatest game available for Linux today (in its class).

I just realized that the openGL library symlink /usr/lib/libGL.so is not needed for d2x-xl to run, only for compiling. I think it will run if /usr/lib/libGL.so.0 is found (again, usually a symlink to the working library, which will have a longer name including a version number).

I'm just finishing a CGI (web-interface) script to rebuild the d2x-xl-demo package for new versions. This is the only way to keep this package reasonably up to date with the latest d2x-xl version.
D2X-XL Debian/Ubuntu package repository:
http://standish.home3.org/d2x-xl
User avatar
lloyd
Posts: 91
Joined: Sun Jul 26, 2009 5:13 pm
Contact:

History page not working

Postby lloyd » Tue Aug 11, 2009 9:35 pm

Heads-up: the D2X-XL version history page appears to be broken:
http://www.descent2.de/d2x-history.html
D2X-XL Debian/Ubuntu package repository:
http://standish.home3.org/d2x-xl

Return to “General Discussions”

Who is online

Users browsing this forum: No registered users and 6 guests