I am running Linux, how do I compile JFDuke, what files do I need, what commands do I run and from what directory?
Are there binaries available to save the hassle?
And what about all these textures and high resolution models, where can I download a zip containing them from? Where do they get extracted to?
Thanks.
TylerDurden at
Re: Compiling, binaries, and textures
WolfCub said
1.
I am running Linux, how do I compile JFDuke, what files do I need, what commands do I run and from what directory?
2.
Are there binaries available to save the hassle?
1.
Hey hey guy... :wink: just use the board search function 8).
2.
Is this possible? So can you use the binaries compiled under one Linux-Distribution in another one without problems?
Greetz
JonoF at
Compiling, binaries, and textures
WolfCub: Here's a rough guide to compiling:
$ unzip jfbuild_src_20050531.zip
$ unzip jfduke3d_src_20050531.zip
$ mv jfbuild_src_20050531 build
$ mv jfduke3d_src_20050531 duke3d
$ cd duke3d
$ make
I'm not building binary packages yet because the game isn't in a state that is good for installing system-wide on multi-user systems like *nix. When I get it writing and reading from home directory profiles in addition to system defaults, then I'll build packages for RPM, APT and generic binary tarballs.
TylerDurden: If you're using compatible versions of Glibc and any dependant libraries, which in the case of Build is the SDL library, then you can usually quite easily copy the binaries from machine to machine.
Jonathon
WolfCub at
Ok, sound doesn't work, how do I get it working?
Mephisto at
search the forum, i posted a sound patch somewhere.
i've also uploaded my binaries in case you're interested:
http://www.mephisto.ma.cx/mephisto/jfduke3d-20050531-bin.tar.bz2 (duke)
http://www.mephisto.ma.cx/mephisto/jfsw-20050531-bin.tar.bz2 (sw)
(compiled on fedora core 4)
Mephisto at
Re: Compiling, binaries, and textures
TylerDurden said
Is this possible? So can you use the binaries compiled under one Linux-Distribution in another one without problems?
yes, except for the fact that it can be a huge bit of work, you can run any binary on any distro. all you need is the right version of the libraries that the binary is linked to. you can see all libraries using 'ldd <filename>'. since different versions are marked with the number at the end (so.0, so.1, ...), you can have multiple versions installed at the same time, so you should always be able to get things working. (except in some cases where the api changed and the so-name did not, like *cough* ffmpeg...)
jfsw might be a bit problematic tho, since it seems to have a lot of useless dependencies. i havent seen any use of gtk/gdk/pango or ogg vorbis in the game, yet it requries those libraries to be installed:
Ok, thanks a lot for those binaries. My patched and compiled version did not work. Now, how do I get OpenGL working? I have a GeForce 6800 Ultra and I have the 3D drivers installed and working. Thanks!
JonoF at
TX said
GTK2 is used for a couple of error dialogs.
Yep, and will be used more when I get around to writing a startup window for GTK too.
Jonathon
WolfCub at
Still no progress with OpenGL. All of my games (Doom 3, UT2004, Quake 3, jDoom, Enemy Territory) can use OpenGL just fine. Is Duke looking in the right place for it? OpenGL works on my laptop which is running Debian on an ATi Radeon 7500 with the DRI Drivers. My desktop has a 6800 Ultra with nVidia's official drivers.
WolfCub at
Well if no one can help with that, I'm still looking for the high res textures, they aren't on the HRP official site anymore or at least I can't find them... Could I get a direct link? Thanks. They will be useful for the laptop.
TX at
WolfCub said
Still no progress with OpenGL. All of my games (Doom 3, UT2004, Quake 3, jDoom, Enemy Territory) can use OpenGL just fine. Is Duke looking in the right place for it? OpenGL works on my laptop which is running Debian on an ATi Radeon 7500 with the DRI Drivers. My desktop has a 6800 Ultra with nVidia's official drivers.
Run ldd and see if anything's missing. If it comes down to it, I could probably build you some binaries on my Debian box which has a Ti4200 using NVIDIA's binary drivers. I don't have any problems running OpenGL with the binaries I've built.
WolfCub at
Ok, I managed to get GL working :D Turns out I had a broken symlink to libGL.so so I fixed that and now it works. Now about those textures, anyone got a link? Also, how can I get the mouse wheel working? I got it bound to switching guns when I roll it but it's not working... Thanks.
Mephisto at
mousewheel doesnt work. at least not on my system. dunno if anyone else got it to work though.
come to irc (#jfduke on irc.freenode.org) and i'll send you the hrp.
TX said
GTK2 is used for a couple of error dialogs.
haven't seen any errors so far :P
JonoF said
TX said
GTK2 is used for a couple of error dialogs.
Yep, and will be used more when I get around to writing a startup window for GTK too.
it would be nice if you could make a game server browser in that startup window as well. we might finally get an online community :)
its probably easier to make it in gtk than in-game. especially since its mostly gui work and guis are very easy to build with Glade :)
Stygius at
For those running Gentoo Linux, I have created ebuilds for jfsw and jfduke3d. They automatically download and apply Mephisto's audio patches, and take care of all dependencies.
The ebuilds can be found in the following threads in the Gentoo forums:
jfduke3d ebuild jfsw ebuild
I'm a bit curious why compilation CFLAGS are all set to -march=pentium. Wouldn't -march=i386 or -mcpu=pentium be more appropriate, since jfsw and jfduke3d should (in theory) work on pre-Pentium PCs?
Anyway, I had some fun trying out different CFLAGS on my own machine. It turns out that -march=athlon-xp -O3 -pipe -fomit-frame-pointer makes jfsw logically unplayable. For example, after the boat ride in the first registered map, no hole in the appears in the stone wall, making game progress impossible. I conjecture that this is due to the -O3 part, though.
I have tried to make the latest HRP work properly with a self-compiled version of jfduke3d on Linux, with disappointing results. The monster models (pig cop, etc) do not load and a lot of textures are misplaced. I'm curious whether anyone else is getting this (and also where the problem lies: in Linux, the HRP or jfduke3d).
TX at
Stygius said
and also where the problem lies: in Linux, the HRP or jfduke3d
You forgot option 4: user error. It sounds like you have an older version of the HRP, in which originally some dimwit decided to name the textures in a way that JFDuke now thinks is octal.
Try this newer version of the HRP (it's the only newer one I can think of off of the top of my head that won't require WINE or the like to run the installer.)
JonoF at
fmod needn't be in the list of dependencies for Duke and Shadow Warrior since it doesn't link to it. Only in the KenBuild game from the build source package does fmod get used. And also, the next release will support installation system-wide with the user settings placed in ~/.jfduke3d and ~/.jfsw as appropriate.
I'm a bit curious why compilation CFLAGS are all set to -march=pentium. Wouldn't -march=i386 or -mcpu=pentium be more appropriate, since jfsw and jfduke3d should (in theory) work on pre-Pentium PCs?
If you're trying to run the game on something older than a Pentium then I feel very very sorry for you. -march=pentium has revealed to me in other tests to be the most compatible setting with the best performance without targetting specific architectures, and it's what I personally use when working on the port. Any optimisations above -O1 increase the chances of things going spastic in ways we can't really anticipate, like you've seen, so I use no optimisation by default. On modern machines it isn't noticable.
Jonathon
TX at
JonoF said
On modern machines it isn't noticable.
It is in the editor, actually. I still wonder why JFDuke goes nuts with any optimization whereas EDuke32 doesn't. Hell, my last few releases have been with -O3 -fno-strict-aliasing.
Stygius at
Try this newer version of the HRP (it's the only newer one I can think of off of the top of my head that won't require WINE or the like to run the installer.)
Thanks, that made a huge improvement (just minor glitches now with the textures/models).
fmod needn't be in the list of dependencies for Duke and Shadow Warrior since it doesn't link to it.
Ah, OK... I guess I just got a bit misled by the presence of #include "fmod.h" in one of the jaudiolib files. It takes a while to figure out that the jaudiolib files aren't compiled (yet).
-march=pentium has revealed to me in other tests to be the most compatible setting with the best performance without targetting specific architectures, and it's what I personally use when working on the port.
That's good to know. I suppose some Gentoo users like me just flinch when they see a -march which isn't to their own arch :)
Mephisto at
JonoF said
the next release will support installation system-wide with the user settings placed in ~/.jfduke3d and ~/.jfsw as appropriate.
Jonathon
nice to hear. i might build an rpm then, to make installation easier for newbies. only thing that bugs me is the grp file. i'd need to make sure that the user copies it over to jfduke/jfsw's directory, or i'll probably get people complaining why the rpm doesnt work...