<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.eduke32.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bioman</id>
	<title>EDukeWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.eduke32.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bioman"/>
	<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/wiki/Special:Contributions/Bioman"/>
	<updated>2026-05-15T02:32:21Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.47.0-alpha</generator>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Packages&amp;diff=11358</id>
		<title>Packages</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Packages&amp;diff=11358"/>
		<updated>2012-11-20T10:44:25Z</updated>

		<summary type="html">&lt;p&gt;Bioman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Distribution intro}}&lt;br /&gt;
&lt;br /&gt;
You can found here some packages to play EDuke32 on your favorite system:&lt;br /&gt;
&lt;br /&gt;
=== Desktop Operating Systems ===&lt;br /&gt;
&lt;br /&gt;
* Windows and Mac OS X, [[Download EDuke32]].&lt;br /&gt;
* Debian and Ubuntu, [[APT repository|see APT repository]]&lt;br /&gt;
* Mandriva and Mageia, [http://fr2.rpmfind.net/linux/rpm2html/search.php?query=eduke32 packages available from the official Non-free/Backports repository]&lt;br /&gt;
* Arch Linux, [http://aur.archlinux.org/packages.php?O=0&amp;amp;K=eduke32 PKGBUILDs available from the Arch User Repository (AUR)]&lt;br /&gt;
* openSUSE, [http://software.opensuse.org/package/eduke32 packages available from the official OBS Games repository]&lt;br /&gt;
* SliTaz GNU/Linux, [http://pkgs.slitaz.org/search.sh?package=eduke32 package available from the Cooking repository]&lt;br /&gt;
* Puppy Linux and BrowserLinux, [http://www.murga-linux.com/puppy/viewtopic.php?t=48947 see here for PET packages]&lt;br /&gt;
* Gentoo Linux, [http://bugs.gentoo.org/show_bug.cgi?id=172183 see here for ebuilds]&lt;br /&gt;
* Slackware, [http://slackbuilds.org/repository/14.0/games/eduke32/ SlackBuild available at SlackBuilds.org]&lt;br /&gt;
* FreeBSD, [http://svnweb.freebsd.org/ports/head/games/eduke32 has a port]&lt;br /&gt;
* OpenBSD, [http://ftp.openbsd.org/ports/games/eduke32 has also a port]&lt;br /&gt;
&lt;br /&gt;
=== Devices ===&lt;br /&gt;
&lt;br /&gt;
* Nintendo Wii (via Homebrew Channel), [[EDuke32 Wii]]&lt;br /&gt;
* Dingux (for the Dingoo A320), [http://dl.openhandhelds.org/cgi-bin/dingoo.cgi?0,0,0,0,30,138 has a compiled port] (includes source code), see also this [http://boards.dingoonity.org/dingux-releases/eduke32-release-3 board]&lt;br /&gt;
&lt;br /&gt;
[[Category:Distribution documentation]]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=11317</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=11317"/>
		<updated>2012-11-15T00:36:00Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Update build options, NEDMALLOC removed since r3086.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Distribution intro}}&lt;br /&gt;
&lt;br /&gt;
= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. See [[Installation and configuration]].&lt;br /&gt;
* 3D acceleration drivers (optional). NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* A MIDI player for the soundtrack (optional). By default, the game uses SDL_mixer, which has a light, built-in version of [http://sourceforge.net/projects/timidity TiMidity++]. It&#039;s possible to use an external command to play back MIDI music with the EDUKE32_MUSIC_CMD [[Environment variables | environment variable]]. In all cases, a set of instrument patches is also required, such as [http://freepats.zenvoid.org Freepats].&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;See [[Acquiring the EDuke32 Source Code]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* NASM (optional)&lt;br /&gt;
* LibGL and LibGLU (optional)&lt;br /&gt;
* LibSDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* LibSDL Mixer &amp;gt;= 1.2.7&lt;br /&gt;
* LibVorbis &amp;gt;= 1.1.2&lt;br /&gt;
* LibPNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
** LibZ (zlib) (optional; required for LibPNG)&lt;br /&gt;
* LibVPX &amp;gt;= 0.9.0 (optional)&lt;br /&gt;
* LibGTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Debian / Ubuntu&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev libsdl-mixer1.2-dev libvorbis-dev libpng12-dev libvpx-dev libgtk2.0-dev freepats&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Fedora 14-17&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install nasm mesa-libGL-devel mesa-libGLU-devel SDL-devel SDL_mixer-devel libvorbis-devel libpng-devel libvpx-devel gtk2-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
Freepats is not packaged in Fedora, you must download and install it by yourself. See also the &amp;quot;timidity-patch-freepats&amp;quot; package on others RPM based distros.&lt;br /&gt;
&lt;br /&gt;
== Build EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.x, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options during the build. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;65%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Various options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|PRETTY_OUTPUT||Use colored output.||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;65%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Engine options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|USE_OPENGL||Enable basic OpenGL Polymost renderer.||1&lt;br /&gt;
|-&lt;br /&gt;
|POLYMER||Enable modern Polymer renderer for great justice.||1&lt;br /&gt;
|-&lt;br /&gt;
|NOASM||Disable the use of the ASM code for the classic renderer. Should be enabled on 32-bit [http://en.wikipedia.org/wiki/Pentium_compatible_processor Pentium compatible processors] only.||0 (ASM is disabled for x86_64 automatically because the ASM is 32-bit.)&lt;br /&gt;
|-&lt;br /&gt;
|LINKED_GTK||Enable compile-time linkage to GTK+.||0&lt;br /&gt;
|-&lt;br /&gt;
|WITHOUT_GTK||Do not compile GTK+ code.||0&lt;br /&gt;
|-&lt;br /&gt;
|BUILD32_ON_64||||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBPNG||Compile with libpng (used to make screenshots in the PNG format). This may or may not require libz.||1&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBVPX||VP8 video codec used as an alternative to the ANM file format (only works if compiled with the OpenGL support).||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;65%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Debugging and Build options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|CLANG||Use the Clang compiler instead of the default GCC.||0&lt;br /&gt;
|-&lt;br /&gt;
|CPLUSPLUS||Enable C++ building.||0&lt;br /&gt;
|-&lt;br /&gt;
|RELEASE||No debugging.||1&lt;br /&gt;
|-&lt;br /&gt;
|DEBUGANYWAY||Include debug symbols even when generating release code.&amp;lt;br/&amp;gt;Additionally, with RELEASE=0, the following arrays are allocated statically: spriteext, spritesmooth, sector, wall, sprite, tsprite, while necessarily disabling the clipshape feature (because it relies on setting sector/wall to different malloc&#039;d block temporarily). Really only useful with CC=clang.||0&lt;br /&gt;
|-&lt;br /&gt;
|KRANDDEBUG||Include logging of krand() calls for debugging the demo system.||0&lt;br /&gt;
|-&lt;br /&gt;
|DISABLEINLINING||Compile inline functions as extern instead of static inline.||0&lt;br /&gt;
|-&lt;br /&gt;
|EFENCE||Compile with Electric Fence for malloc() debugging.||0&lt;br /&gt;
|-&lt;br /&gt;
|DMALLOC||Compile with dmalloc for malloc() debugging.||0&lt;br /&gt;
|-&lt;br /&gt;
|PROFILER||||0&lt;br /&gt;
|-&lt;br /&gt;
|MUDFLAP||||0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;65%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Optimization options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|OPTLEVEL||GCC optimization strategy. Values above 2 can cause crashes.||2&lt;br /&gt;
|-&lt;br /&gt;
|LTO||Enable link-time optimization, for GCC 4.5 and up.||1&lt;br /&gt;
|-&lt;br /&gt;
|OPTOPT||Define options specific to the CPU architecture.||empty (except for i686)&lt;br /&gt;
|-&lt;br /&gt;
|CUSTOMOPT||Custom options or optimizations, parameters defined here, are sent to both compiler and linker.||empty&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory:&lt;br /&gt;
* eduke32, the binary to launch the game.&lt;br /&gt;
* mapster32, the binary to launch the maps editor.&lt;br /&gt;
&lt;br /&gt;
= Run the game! =&lt;br /&gt;
You need to have the original Duke Nukem 3D files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymost High Resolution Pack] you can pass the -grp parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -grp duke3d_hrp.zip polymost_hrp_update-*.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you can pass the -grp parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -grp polymer_hrp.zip polymer_upd.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that &#039;&#039;polymer_upd.zip&#039;&#039; may not be available. It is also possbile to add additional packs such as remade music and Z-Pack.&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g/path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;br /&gt;
&lt;br /&gt;
[[Category:Distribution documentation]]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Packages&amp;diff=11316</id>
		<title>Packages</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Packages&amp;diff=11316"/>
		<updated>2012-11-14T11:11:10Z</updated>

		<summary type="html">&lt;p&gt;Bioman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Distribution intro}}&lt;br /&gt;
&lt;br /&gt;
You can found here some packages to play EDuke32 on your favorite system:&lt;br /&gt;
&lt;br /&gt;
=== Desktop Operating Systems ===&lt;br /&gt;
&lt;br /&gt;
* Windows and Mac OS X, [[Download EDuke32]].&lt;br /&gt;
* Debian and Ubuntu, [[APT repository|see APT repository]]&lt;br /&gt;
* Mandriva and Mageia, [http://fr2.rpmfind.net/linux/rpm2html/search.php?query=eduke32 packages available from the official Non-free/Backports repository]&lt;br /&gt;
* Arch Linux, [http://aur.archlinux.org/packages.php?O=0&amp;amp;K=eduke32 PKGBUILDs available from the Arch User Repository (AUR)]&lt;br /&gt;
* openSUSE, [http://software.opensuse.org/package/eduke32 packages available from the official OBS Games repository]&lt;br /&gt;
* SliTaz GNU/Linux, [http://pkgs.slitaz.org/search.sh?package=eduke32 package available from the Cooking repository]&lt;br /&gt;
* Puppy Linux and BrowserLinux, [http://www.murga-linux.com/puppy/viewtopic.php?t=48947 see here for PET packages]&lt;br /&gt;
* Gentoo Linux, [http://bugs.gentoo.org/show_bug.cgi?id=172183 see here for ebuilds]&lt;br /&gt;
* Slackware, [http://slackbuilds.org/repository/14.0/games/eduke32/ SlackBuild available at SlackBuilds.org]&lt;br /&gt;
* FreeBSD, [http://www.freebsd.org/cgi/cvsweb.cgi/ports/games/eduke32/ has a port]&lt;br /&gt;
* OpenBSD, [http://ftp.openbsd.org/ports/games/eduke32 has also a port]&lt;br /&gt;
&lt;br /&gt;
=== Devices ===&lt;br /&gt;
&lt;br /&gt;
* Nintendo Wii (via Homebrew Channel), [[EDuke32 Wii]]&lt;br /&gt;
* Dingux (for the Dingoo A320), [http://dl.openhandhelds.org/cgi-bin/dingoo.cgi?0,0,0,0,30,138 has a compiled port] (includes source code), see also this [http://boards.dingoonity.org/dingux-releases/eduke32-release-3/ board]&lt;br /&gt;
&lt;br /&gt;
[[Category:Distribution documentation]]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=11225</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=11225"/>
		<updated>2012-10-05T14:45:32Z</updated>

		<summary type="html">&lt;p&gt;Bioman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Distribution intro}}&lt;br /&gt;
&lt;br /&gt;
= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. See [[Installation and configuration]].&lt;br /&gt;
* 3D acceleration drivers (optional). NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* A MIDI player for the soundtrack (optional). By default, the game uses SDL_mixer, which has a light, built-in version of [http://sourceforge.net/projects/timidity TiMidity++]. It&#039;s possible to use an external command to play back MIDI music with the EDUKE32_MUSIC_CMD [[Environment variables | environment variable]]. In all cases, a set of instrument patches is also required, such as [http://freepats.zenvoid.org Freepats].&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;See [[Acquiring the EDuke32 Source Code]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* NASM (optional)&lt;br /&gt;
* LibGL and LibGLU (optional)&lt;br /&gt;
* LibSDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* LibSDL Mixer &amp;gt;= 1.2.7&lt;br /&gt;
* LibVorbis &amp;gt;= 1.1.2&lt;br /&gt;
* LibPNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
** LibZ (zlib) (optional; required for LibPNG)&lt;br /&gt;
* LibVPX &amp;gt;= 0.9.0 (optional)&lt;br /&gt;
* LibGTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Debian / Ubuntu&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev libsdl-mixer1.2-dev libvorbis-dev libpng12-dev libvpx-dev libgtk2.0-dev freepats&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Fedora 14-17&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install nasm mesa-libGL-devel mesa-libGLU-devel SDL-devel SDL_mixer-devel libvorbis-devel libpng-devel libvpx-devel gtk2-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
Freepats is not packaged in Fedora, you must download and install it by yourself. See also the &amp;quot;timidity-patch-freepats&amp;quot; package on others RPM based distros.&lt;br /&gt;
&lt;br /&gt;
== Build EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.x, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options during the build. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;65%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Various options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|PRETTY_OUTPUT||Use colored output.||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;65%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Engine options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|USE_OPENGL||Enable basic OpenGL Polymost renderer.||1&lt;br /&gt;
|-&lt;br /&gt;
|POLYMER||Enable modern Polymer renderer for great justice.||1&lt;br /&gt;
|-&lt;br /&gt;
|NOASM||Disable the use of the ASM code for the classic renderer. Should be enabled on 32-bit [http://en.wikipedia.org/wiki/Pentium_compatible_processor Pentium compatible processors] only.||0 (ASM is disabled for x86_64 automatically because the ASM is 32-bit.)&lt;br /&gt;
|-&lt;br /&gt;
|LINKED_GTK||Enable compile-time linkage to GTK+.||0&lt;br /&gt;
|-&lt;br /&gt;
|WITHOUT_GTK||Do not compile GTK+ code.||0&lt;br /&gt;
|-&lt;br /&gt;
|BUILD32_ON_64||||0&lt;br /&gt;
|-&lt;br /&gt;
|NEDMALLOC||Use nedmalloc instead of malloc().||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBPNG||Compile with libpng (used to make screenshots in the PNG format). This may or may not require libz.||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBVPX||VP8 video codec used as an alternative to the ANM file format (only works if compiled with the OpenGL support).||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;65%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Debugging/Build options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|RELEASE||No debugging.||1&lt;br /&gt;
|-&lt;br /&gt;
|DEBUGANYWAY||Include debug symbols even when generating release code.&amp;lt;br/&amp;gt;Additionally, with RELEASE=0, the following arrays are allocated statically: spriteext, spritesmooth, sector, wall, sprite, tsprite, while necessarily disabling the clipshape feature (because it relies on setting sector/wall to different malloc&#039;d block temporarily). Really only useful with CC=clang.||0&lt;br /&gt;
|-&lt;br /&gt;
|KRANDDEBUG||Include logging of krand() calls for debugging the demo system.||0&lt;br /&gt;
|-&lt;br /&gt;
|EFENCE||Compile with Electric Fence for malloc() debugging.||0&lt;br /&gt;
|-&lt;br /&gt;
|DMALLOC||Compile with dmalloc for malloc() debugging.||0&lt;br /&gt;
|-&lt;br /&gt;
|OPTLEVEL||GCC optimization strategy. Values above 2 can cause crashes.||2&lt;br /&gt;
|-&lt;br /&gt;
|LTO||Enable link-time optimization, for GCC 4.5 and up.||0&lt;br /&gt;
|-&lt;br /&gt;
|ARCH||Define options specific to the CPU architecture.||empty (except for i686)&lt;br /&gt;
|-&lt;br /&gt;
|CLANG||Use the Clang compiler instead of the default GCC.||0&lt;br /&gt;
|-&lt;br /&gt;
|PROFILER||||0&lt;br /&gt;
|-&lt;br /&gt;
|MUDFLAP||||0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory:&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
&lt;br /&gt;
= Run the game! =&lt;br /&gt;
You need to have the original Duke Nukem 3D files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymost High Resolution Pack] you can pass the -grp parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -grp duke3d_hrp.zip polymost_hrp_update-*.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you can pass the -grp parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -grp polymer_hrp.zip polymer_upd.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that &#039;&#039;polymer_upd.zip&#039;&#039; may not be available. It is also possbile to add additional packs such as remade music and Z-Pack.&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g/path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;br /&gt;
&lt;br /&gt;
[[Category:Distribution documentation]]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=11219</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=11219"/>
		<updated>2012-10-02T23:58:54Z</updated>

		<summary type="html">&lt;p&gt;Bioman: r3026 allows the use of older versions of libvpx&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Distribution intro}}&lt;br /&gt;
&lt;br /&gt;
= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. See [[Installation and configuration]].&lt;br /&gt;
* 3D acceleration drivers (optional). NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* A MIDI player for the soundtrack (optional). By default, the game uses SDL_mixer, which has a light, built-in version of [http://sourceforge.net/projects/timidity TiMidity++]. It&#039;s possible to use an external command to play back MIDI music with the EDUKE32_MUSIC_CMD [[Environment variables | environment variable]]. In all cases, a set of instrument patches is also required, such as [http://freepats.zenvoid.org Freepats].&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;See [[Acquiring the EDuke32 Source Code]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* NASM (optional)&lt;br /&gt;
* LibGL and LibGLU (optional)&lt;br /&gt;
* LibSDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* LibSDL Mixer &amp;gt;= 1.2.7&lt;br /&gt;
* LibVorbis &amp;gt;= 1.1.2&lt;br /&gt;
* LibPNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
** LibZ (zlib) (optional; required for LibPNG)&lt;br /&gt;
* LibVPX &amp;gt;= 0.9.0 (optional)&lt;br /&gt;
* LibGTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Debian / Ubuntu&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev libsdl-mixer1.2-dev libvorbis-dev libpng12-dev libvpx-dev libgtk2.0-dev freepats&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Fedora 14-17&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install nasm mesa-libGL-devel mesa-libGLU-devel SDL-devel SDL_mixer-devel libvorbis-devel libpng-devel libvpx-devel gtk2-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
Freepats is not packaged in Fedora, you must download and install it by yourself. See also the &amp;quot;timidity-patch-freepats&amp;quot; package on others RPM based distros.&lt;br /&gt;
&lt;br /&gt;
== Build EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.x, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options during the build. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;65%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Various options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|PRETTY_OUTPUT||Use colored output.||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;65%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Engine options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|USE_OPENGL||Enable basic OpenGL Polymost renderer.||1&lt;br /&gt;
|-&lt;br /&gt;
|POLYMER||Enable modern Polymer renderer for great justice.||1&lt;br /&gt;
|-&lt;br /&gt;
|NOASM||Disable the use of the ASM code for the classic renderer. Should be enabled on 32-bit [http://en.wikipedia.org/wiki/Pentium_compatible_processor Pentium compatible processors] only.||0 (ASM is disabled for x86_64 automatically because the ASM is 32-bit.)&lt;br /&gt;
|-&lt;br /&gt;
|LINKED_GTK||Enable compile-time linkage to GTK+.||0&lt;br /&gt;
|-&lt;br /&gt;
|WITHOUT_GTK||Do not compile GTK+ code.||0&lt;br /&gt;
|-&lt;br /&gt;
|BUILD32_ON_64||||0&lt;br /&gt;
|-&lt;br /&gt;
|NEDMALLOC||Use nedmalloc instead of malloc().||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBPNG||Compile with libpng (used to make screenshots in the PNG format). This may or may not require libz.||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBVPX||VP8 video codec used as an alternative to the ANM file format (only works if compiled with OpenGL support).||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;65%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Debugging/Build options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|RELEASE||No debugging.||1&lt;br /&gt;
|-&lt;br /&gt;
|DEBUGANYWAY||Include debug symbols even when generating release code.&amp;lt;br/&amp;gt;Additionally, with RELEASE=0, the following arrays are allocated statically: spriteext, spritesmooth, sector, wall, sprite, tsprite, while necessarily disabling the clipshape feature (because it relies on setting sector/wall to different malloc&#039;d block temporarily). Really only useful with CC=clang.||0&lt;br /&gt;
|-&lt;br /&gt;
|KRANDDEBUG||Include logging of krand() calls for debugging the demo system.||0&lt;br /&gt;
|-&lt;br /&gt;
|EFENCE||Compile with Electric Fence for malloc() debugging.||0&lt;br /&gt;
|-&lt;br /&gt;
|DMALLOC||Compile with dmalloc for malloc() debugging.||0&lt;br /&gt;
|-&lt;br /&gt;
|OPTLEVEL||GCC optimization strategy. Values above 2 can cause crashes.||2&lt;br /&gt;
|-&lt;br /&gt;
|LTO||Enable link-time optimization, for GCC 4.5 and up.||0&lt;br /&gt;
|-&lt;br /&gt;
|ARCH||Define options specific to the CPU architecture.||empty (except for i686)&lt;br /&gt;
|-&lt;br /&gt;
|CLANG||Use the Clang compiler instead of the default GCC.||0&lt;br /&gt;
|-&lt;br /&gt;
|PROFILER||||0&lt;br /&gt;
|-&lt;br /&gt;
|MUDFLAP||||0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.* eduke32 (exectuable)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
&lt;br /&gt;
= Run the game! =&lt;br /&gt;
You need to have the original Duke Nukem 3D files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymost High Resolution Pack] you can pass the -grp parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -grp duke3d_hrp.zip polymost_hrp_update-*.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you can pass the -grp parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -grp polymer_hrp.zip polymer_upd.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that &#039;&#039;polymer_upd.zip&#039;&#039; may not be available. It is also possbile to add additional packs such as remade music and Z-Pack.&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g/path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;br /&gt;
&lt;br /&gt;
[[Category:Distribution documentation]]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=11180</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=11180"/>
		<updated>2012-09-15T11:19:53Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Update information about the MIDI player&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Distribution intro}}&lt;br /&gt;
&lt;br /&gt;
= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. See [[Installation and configuration]].&lt;br /&gt;
* 3D acceleration drivers (optional). NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* A MIDI player for the soundtrack (optional). By default, the game uses SDL_mixer, which has a light built-in version of [http://sourceforge.net/projects/timidity TiMidity++]. It&#039;s possible to use an external command to play back MIDI music with the EDUKE32_MUSIC_CMD [[Environment variables | environment variable]]. In all cases, a set of instrument patches is also required, such as [http://freepats.zenvoid.org Freepats].&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;See [[Acquiring the EDuke32 Source Code]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* NASM (optional)&lt;br /&gt;
* LibGL and LibGLU (optional)&lt;br /&gt;
* LibSDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* LibSDL Mixer &amp;gt; 1.2.6&lt;br /&gt;
* LibVorbis &amp;gt;= 1.1.2&lt;br /&gt;
* LibPNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
** LibZ (zlib) (optional; required for LibPNG)&lt;br /&gt;
* LibVPX &amp;gt;= 0.9.6 (optional)&lt;br /&gt;
* LibGTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Debian / Ubuntu&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev libsdl-mixer1.2-dev libvorbis-dev libpng12-dev libvpx-dev libgtk2.0-dev freepats&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Fedora 14-17&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install nasm mesa-libGL-devel mesa-libGLU-devel SDL-devel SDL_mixer-devel libvorbis-devel libpng-devel libvpx-devel gtk2-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
Freepats is not packaged in Fedora, you must download and install it by yourself. See also the &amp;quot;timidity-patch-freepats&amp;quot; package on others RPM based distros.&lt;br /&gt;
&lt;br /&gt;
== Build EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.x, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options during the build. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;65%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Various options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|PRETTY_OUTPUT||Use colored output.||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;65%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Engine options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|USE_OPENGL||Enable basic OpenGL Polymost renderer.||1&lt;br /&gt;
|-&lt;br /&gt;
|POLYMER||Enable modern Polymer renderer for great justice.||1&lt;br /&gt;
|-&lt;br /&gt;
|NOASM||Disable the use of the ASM code for the classic renderer. Should be enabled on 32-bit [http://en.wikipedia.org/wiki/Pentium_compatible_processor Pentium compatible processors] only.||0 (ASM is disabled for x86_64 automatically because the ASM is 32-bit.)&lt;br /&gt;
|-&lt;br /&gt;
|LINKED_GTK||Enable compile-time linkage to GTK+.||0&lt;br /&gt;
|-&lt;br /&gt;
|WITHOUT_GTK||Do not compile GTK+ code.||0&lt;br /&gt;
|-&lt;br /&gt;
|BUILD32_ON_64||||0&lt;br /&gt;
|-&lt;br /&gt;
|NEDMALLOC||Use nedmalloc instead of malloc().||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBPNG||Compile with libpng (used to make screenshots in the PNG format). This may or may not require libz.||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBVPX||VP8 video codec used as an alternative to the ANM file format (only works if compiled with OpenGL support).||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;65%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Debugging/Build options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|RELEASE||No debugging.||1&lt;br /&gt;
|-&lt;br /&gt;
|DEBUGANYWAY||Include debug symbols even when generating release code. The following arrays be allocated statically: spriteext, spritesmooth, sector, wall, sprite, tsprite, while necessarily disabling the clipshape feature (because it relies on setting sector/wall to different malloc&#039;d block temporarily). Really only useful with CC=clang.||0&lt;br /&gt;
|-&lt;br /&gt;
|KRANDDEBUG||Include logging of krand() calls for debugging the demo system.||0&lt;br /&gt;
|-&lt;br /&gt;
|EFENCE||Compile with Electric Fence for malloc() debugging.||0&lt;br /&gt;
|-&lt;br /&gt;
|DMALLOC||Compile with dmalloc for malloc() debugging.||0&lt;br /&gt;
|-&lt;br /&gt;
|OPTLEVEL||GCC optimization strategy. Values above 2 can cause crashes.||2&lt;br /&gt;
|-&lt;br /&gt;
|LTO||Enable link-time optimization, for GCC 4.5 and up.||0&lt;br /&gt;
|-&lt;br /&gt;
|ARCH||Define options specific to the CPU architecture.||empty (except for i686)&lt;br /&gt;
|-&lt;br /&gt;
|CLANG||Use the Clang compiler instead of the default GCC.||0&lt;br /&gt;
|-&lt;br /&gt;
|PROFILER||||0&lt;br /&gt;
|-&lt;br /&gt;
|MUDFLAP||||0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
&lt;br /&gt;
= Run the game! =&lt;br /&gt;
You need to have the original Duke Nukem 3D files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymost High Resolution Pack] you can pass the -grp parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -grp duke3d_hrp.zip polymost_hrp_update-*.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you can pass the -grp parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -grp polymer_hrp.zip polymer_upd.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that &#039;&#039;polymer_upd.zip&#039;&#039; may not be available. It is also possbile to add additional packs such as remade music and Z-Pack.&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g/path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;br /&gt;
&lt;br /&gt;
[[Category:Distribution documentation]]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Utilities&amp;diff=11178</id>
		<title>Utilities</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Utilities&amp;diff=11178"/>
		<updated>2012-09-13T06:19:12Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Update MD3 exporters for Blender&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When modding EDuke32, there are some files you will need to edit certain aspects of the game.&lt;br /&gt;
Here we will cover the needed programs for each aspect.&lt;br /&gt;
&lt;br /&gt;
== Data Files ==&lt;br /&gt;
&lt;br /&gt;
=== Group Files (.GRP) ===&lt;br /&gt;
.GRP files are basically like a zip file, they hold all of the relevant files for the game, and keep your folders tidy. There are several programs available for use.&lt;br /&gt;
&lt;br /&gt;
The preeminent command-line programs for this purpose, and what the original developers used, are kextract and kgroup, part of the [[Build tool]]s.&lt;br /&gt;
&lt;br /&gt;
We can find a program called grpextract [svn://svn.icculus.org/duke3d/trunk here]. To build it, just do:&lt;br /&gt;
&amp;lt;code&amp;gt;gcc grpextract.c -o grpextract&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While lacking a GUI, they get the job done. There are other programs, which can view art files inside the .GRP, and listen to sound bytes. Other programs include Jonah Bishop&#039;s [http://archive.dukertcm.com/knowledge-base/downloads-rtcm/duke3d-tools-build/gfs31.zip Group File Studio] and Roma Loom&#039;s [http://loomsday.com/?page_id=4 GRPViewer]&lt;br /&gt;
&lt;br /&gt;
For your own mods, it is highly recommended to use either .zip files or folders in conjunction with the -j command line parameter instead of GRP files.&lt;br /&gt;
&lt;br /&gt;
=== Control Files (.CON) ===&lt;br /&gt;
.CON files hold most of the important code for the game. Since they are source code, they are simply text files and can be opened in any text editor. [http://notepad-plus-plus.org/ Notepad++] and [http://www.emeraldeditor.com/ Emerald Editor (aka Crimson Editor)] are recommended.&lt;br /&gt;
&lt;br /&gt;
=== Maps (.MAP) ===&lt;br /&gt;
.MAP files are levels. To edit maps, use Mapster32, which comes with EDuke32.&lt;br /&gt;
&lt;br /&gt;
== 8-Bit Resources ==&lt;br /&gt;
&lt;br /&gt;
=== Art Files (.ART) ===&lt;br /&gt;
.ART files hold all the raw art data in a tidy manner. Once again, there are numerous programs available which can edit the .ART files. The most commonly used program is the one that came with Duke Nukem 3D: EditArt. It is a 16-bit DOS program, so the use of DOSBox is recommended. Other programs include [http://archive.dukertcm.com/knowledge-base/downloads-rtcm/duke3d-tools-editart/bastART.zip bastART] and [http://archive.dukertcm.com/knowledge-base/downloads-rtcm/duke3d-tools-editart/dukeresART.zip DukeResART]&lt;br /&gt;
&lt;br /&gt;
The [[Build tool]] &#039;&#039;&#039;arttool&#039;&#039;&#039; is very handy for constructing ART files in a simple and well-defined manner.&lt;br /&gt;
&lt;br /&gt;
There are 2 command line utilities called art2tga and tga2art that allow management of art files, available [http://blood.sourceforge.net/snapshots.php#rebuild-section here]. To build it, just run:&lt;br /&gt;
&amp;lt;code&amp;gt;cd rebuild &amp;amp;&amp;amp; make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There&#039;s also a replacement for art2tga/tga2art being written by [[User:Kraigose|Kraigose]] based on their codebase which aims to replace these tools using the more well known PNG format with the simplicity of the TGA tools INI file syntax. A precompiled Win32 build and source can be found [http://www.kraigosestudios.com/programming/eduke32-art-tools/ here] at Kraigose&#039;s website. A readme file is included in the download, as well as color tables for Adobe Photoshop. Images must be 256-color PNGs at the moment, but that&#039;ll be fixed soon. It&#039;s usage syntax is similar to art2tga and tga2art, but it supports by default doing &#039;&#039;all&#039;&#039; ART files in batch. More development is expected.&lt;br /&gt;
&lt;br /&gt;
=== Animations (.ANM) ===&lt;br /&gt;
.ANM files hold raw .PCX files, which are added together and then played as an animation. In the game these are the animations you see at the end of a boss fight. The sounds for the animations are not included in the .ANM. One of the few .ANM compiling programs is [http://archive.dukertcm.com/knowledge-base/downloads-rtcm/duke3d-tools-editart/anim2pcx.zip Animation File Maker]&lt;br /&gt;
&lt;br /&gt;
[http://www.ffmpeg.org FFmpeg], since version 0.6,  can also decode and play anm files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Some examples :&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Play the &#039;foo&#039; animation file :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ffplay foo.anm&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Extract all frames from the &#039;foo&#039; animation file into the PNG format (works also with JPG, PCX, GIF, BMP ...)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ffmpeg -i foo.anm bar%03d.png&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Encode the &#039;foo&#039; animation file into a MPEG-4 format :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ffmpeg -i foo.anm bar.avi&amp;lt;/pre&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
Encode the &#039;foo&#039; animation file into a WebM format :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ffmpeg -i foo.anm -threads 2 bar.webm&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See &#039;ffmpeg -codecs&#039; for all available codecs.&lt;br /&gt;
&lt;br /&gt;
It&#039;s not possible, actually to encode into anm format with FFmpeg.&lt;br /&gt;
&lt;br /&gt;
=== Voxels (.KVX) ===&lt;br /&gt;
Voxels are simple 3D shapes made out of three-dimensional cubes. While no voxels were ever included in any commercial versions of Duke Nukem 3D, its fellow BUILD games Shadow Warrior and Blood have many. EDuke32 supports voxels as well.&lt;br /&gt;
&lt;br /&gt;
To create and edit voxels, use [http://advsys.net/ken/download.htm Ken Silverman&#039;s SLAB6].&lt;br /&gt;
&lt;br /&gt;
=== Palettes (.DAT) ===&lt;br /&gt;
The PALETTE.DAT and LOOKUP.DAT files hold the palettes, palettes swaps, shade and translucency (blending) tables for the game. This is one of the most loathed and untouched editable features of Duke3D. While incredibly difficult, it can come to good effect. The [[Build tools]] &#039;&#039;&#039;bsuite&#039;&#039;&#039;, &#039;&#039;&#039;mkpalette&#039;&#039;&#039;, and &#039;&#039;&#039;transpal&#039;&#039;&#039; can help you in this regard.&lt;br /&gt;
&lt;br /&gt;
== High-Resolution Resources ==&lt;br /&gt;
&lt;br /&gt;
=== Textures (.png/.jpg/.tga/.dds) ===&lt;br /&gt;
EDuke32 supports true color textures. These can be made in any image editing program, including Adobe Photoshop, Corel Paint Shop Pro, and [http://www.gimp.org/ The GNU Image Manipulation Program (GIMP)]&lt;br /&gt;
&lt;br /&gt;
=== 3D Models (.md3) ===&lt;br /&gt;
&lt;br /&gt;
This is a list of tools which can be used to create and edit 3D models for use with EDuke32.&lt;br /&gt;
&lt;br /&gt;
[http://www.blender.org Blender], open source 3D modeler can be used for UV unwrapping, texturing, rigging, water simulations, skinning, animating, rendering, particle and other simulations.&lt;br /&gt;
&lt;br /&gt;
Import/Export MD3 scripts for Blender [http://hendricks266.duke4.net/stuff/new_blender_md3.zip 2.43 (up to 2.49)]. [http://forums.duke4.net/topic/5358-blender-26-md3-export-script Drek exporters], mainly for the 2.6x branch. [http://www.katsbits.com/tools See also katsbits.com], they provide several exporters for different versions of Blender.&lt;br /&gt;
&lt;br /&gt;
[http://www.misfitcode.com/misfitmodel3d Misfit Model 3D], open source and OpenGL-based 3D model editor that works with triangle-based models (on Debian based distros, package is called mm3d).&lt;br /&gt;
&lt;br /&gt;
[http://automagically.de/g3dviewer/ G3DViewer], open source and OpenGL models viewer, support formats 3D Studio, Quake 2, Quake 3 and many others.&lt;br /&gt;
&lt;br /&gt;
[http://www.turbosquid.com/gmax Gmax], video game modeling tool (Windows, freeware).&lt;br /&gt;
&lt;br /&gt;
MD3 exporter plugin for Gmax can be found [http://www.katsbits.com/tools here].&lt;br /&gt;
&lt;br /&gt;
[http://usa.autodesk.com/adsk/servlet/index?siteID=123112&amp;amp;id=5659302 3DS Max], 3D modeler (Windows, commercial).&lt;br /&gt;
&lt;br /&gt;
MD3 export script for 3DS Max [http://www.katsbits.com/tools v4.2/v5] and [http://www.katsbits.com/tools v6].&lt;br /&gt;
&lt;br /&gt;
[http://chumbalum.swissquake.ch Milkshape 3D], 3D modeler (Windows, commercial).&lt;br /&gt;
&lt;br /&gt;
=== Movies (.ivf) ===&lt;br /&gt;
IVF files are an alternative to the ANM format utilizing a VP8 video stream, the same used in the WebM format but without the Vorbis audio stream.&lt;br /&gt;
&lt;br /&gt;
To encode video, including an uncompressed raw one, to IVF, use this command line syntax with FFmpeg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ffmpeg -i &amp;lt;input&amp;gt; -an -vcodec libvpx -quality best &amp;lt;output&amp;gt;.ivf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To extract VP8 video tracks from a WebM file into a IVF file, we can use the program &#039;&#039;mkvextract&#039;&#039;, part of MKVToolnix, available [http://www.bunkus.org/videotools/mkvtoolnix here].&lt;br /&gt;
&lt;br /&gt;
Command line syntax to use:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkvextract tracks &amp;lt;filename&amp;gt;.webm 1:&amp;lt;filename&amp;gt;.ivf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To play it in-game now we just have to place it in a search path or in a custom mod directory and give it the same name as the .anm file that we want to replace (eg &#039;&#039;logo.ivf&#039;&#039; for the animation logo when the game starts).&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://dukerepository.com/utilities.php Duke Nukem Repository Utility Page]&lt;br /&gt;
* [http://www.gamers.org/pub/games/duke3d/other/build/ Gamers.org Archive Utility Page]&lt;br /&gt;
* [http://archive.dukertcm.com/ R.T.C.M.]&lt;br /&gt;
* [http://forums.duke4.net/topic/798-tutorials-resources The Tutorials &amp;amp; Resources thread on the forum]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=11177</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=11177"/>
		<updated>2012-09-13T06:00:33Z</updated>

		<summary type="html">&lt;p&gt;Bioman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Distribution intro}}&lt;br /&gt;
&lt;br /&gt;
= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. See [[Installation and configuration]].&lt;br /&gt;
* 3D acceleration drivers (optional). NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* A MIDI player for the soundtrack (optional). Use [http://sourceforge.net/projects/timidity TiMidity++] for an easy software MIDI solution, a set of instrument patches is also required such as [http://freepats.zenvoid.org Freepats].&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;See [[Acquiring the EDuke32 Source Code]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* NASM (optional)&lt;br /&gt;
* LibGL and LibGLU (optional)&lt;br /&gt;
* LibSDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* LibSDL Mixer &amp;gt; 1.2.6&lt;br /&gt;
* LibVorbis &amp;gt;= 1.1.2&lt;br /&gt;
* LibPNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
** LibZ (zlib) (optional; required for LibPNG)&lt;br /&gt;
* LibVPX &amp;gt;= 0.9.6 (optional)&lt;br /&gt;
* LibGTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Debian / Ubuntu&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev libsdl-mixer1.2-dev libvorbis-dev libpng12-dev libvpx-dev libgtk2.0-dev timidity freepats&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Fedora 14-17&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install nasm mesa-libGL-devel mesa-libGLU-devel SDL-devel SDL_mixer-devel libvorbis-devel libpng-devel libvpx-devel gtk2-devel timidity++&amp;lt;/pre&amp;gt;&lt;br /&gt;
Freepats is not packaged in Fedora, you must download and install it by yourself. See also the &amp;quot;timidity-patch-freepats&amp;quot; package on others RPM based distros.&lt;br /&gt;
&lt;br /&gt;
== Build EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.x, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options during the build. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;65%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Various options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|PRETTY_OUTPUT||Use colored output.||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;65%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Engine options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|USE_OPENGL||Enable basic OpenGL Polymost renderer.||1&lt;br /&gt;
|-&lt;br /&gt;
|POLYMER||Enable modern Polymer renderer for great justice.||1&lt;br /&gt;
|-&lt;br /&gt;
|NOASM||Disable the use of the ASM code for the classic renderer. Should be enabled on 32-bit [http://en.wikipedia.org/wiki/Pentium_compatible_processor Pentium compatible processors] only.||0 (ASM is disabled for x86_64 automatically because the ASM is 32-bit.)&lt;br /&gt;
|-&lt;br /&gt;
|LINKED_GTK||Enable compile-time linkage to GTK+.||0&lt;br /&gt;
|-&lt;br /&gt;
|WITHOUT_GTK||Do not compile GTK+ code.||0&lt;br /&gt;
|-&lt;br /&gt;
|BUILD32_ON_64||||0&lt;br /&gt;
|-&lt;br /&gt;
|NEDMALLOC||Use nedmalloc instead of malloc().||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBPNG||Compile with libpng (used to make screenshots in the PNG format). This may or may not require libz.||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBVPX||VP8 video codec used as an alternative to the ANM file format (only works if compiled with OpenGL support).||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;65%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Debugging/Build options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|RELEASE||No debugging.||1&lt;br /&gt;
|-&lt;br /&gt;
|DEBUGANYWAY||Include debug symbols even when generating release code. The following arrays be allocated statically: spriteext, spritesmooth, sector, wall, sprite, tsprite, while necessarily disabling the clipshape feature (because it relies on setting sector/wall to different malloc&#039;d block temporarily). Really only useful with CC=clang.||0&lt;br /&gt;
|-&lt;br /&gt;
|KRANDDEBUG||Include logging of krand() calls for debugging the demo system.||0&lt;br /&gt;
|-&lt;br /&gt;
|EFENCE||Compile with Electric Fence for malloc() debugging.||0&lt;br /&gt;
|-&lt;br /&gt;
|DMALLOC||Compile with dmalloc for malloc() debugging.||0&lt;br /&gt;
|-&lt;br /&gt;
|OPTLEVEL||GCC optimization strategy. Values above 2 can cause crashes.||2&lt;br /&gt;
|-&lt;br /&gt;
|LTO||Enable link-time optimization, for GCC 4.5 and up.||0&lt;br /&gt;
|-&lt;br /&gt;
|ARCH||Define options specific to the CPU architecture.||empty (except for i686)&lt;br /&gt;
|-&lt;br /&gt;
|CLANG||Use the Clang compiler instead of the default GCC.||0&lt;br /&gt;
|-&lt;br /&gt;
|PROFILER||||0&lt;br /&gt;
|-&lt;br /&gt;
|MUDFLAP||||0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
&lt;br /&gt;
= Run the game! =&lt;br /&gt;
You need to have the original Duke Nukem 3D files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymost High Resolution Pack] you can pass the -grp parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -grp duke3d_hrp.zip polymost_hrp_update-*.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you can pass the -grp parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -grp polymer_hrp.zip polymer_upd.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that &#039;&#039;polymer_upd.zip&#039;&#039; may not be available. It is also possbile to add additional packs such as remade music and Z-Pack.&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g/path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;br /&gt;
&lt;br /&gt;
[[Category:Distribution documentation]]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Packages&amp;diff=11176</id>
		<title>Packages</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Packages&amp;diff=11176"/>
		<updated>2012-09-12T20:02:20Z</updated>

		<summary type="html">&lt;p&gt;Bioman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Distribution intro}}&lt;br /&gt;
&lt;br /&gt;
You can found here some packages to play EDuke32 on your favorite system:&lt;br /&gt;
&lt;br /&gt;
=== Desktop Operating Systems ===&lt;br /&gt;
&lt;br /&gt;
* Windows and Mac OS X, [[Download EDuke32]].&lt;br /&gt;
* Debian and Ubuntu, [[APT repository|see APT repository]]&lt;br /&gt;
* Mandriva, [http://fr2.rpmfind.net/linux/rpm2html/search.php?query=eduke32 packages available from the official Non-free/Backports repository]&lt;br /&gt;
* Arch Linux, [http://aur.archlinux.org/packages.php?O=0&amp;amp;K=eduke32 PKGBUILDs available from the Arch User Repository (AUR)]&lt;br /&gt;
* openSUSE, [http://software.opensuse.org/package/eduke32 packages available from the official OBS Games repository]&lt;br /&gt;
* SliTaz GNU/Linux, [http://pkgs.slitaz.org/search.sh?package=eduke32 package available from the Cooking repository]&lt;br /&gt;
* Puppy Linux and BrowserLinux, [http://www.murga-linux.com/puppy/viewtopic.php?t=48947 see here for PET packages]&lt;br /&gt;
* Gentoo Linux, [http://bugs.gentoo.org/show_bug.cgi?id=172183 see here for ebuilds]&lt;br /&gt;
* Slackware, [http://slackbuilds.org/repository/13.37/games/eduke32/ SlackBuild available at SlackBuilds.org]&lt;br /&gt;
* FreeBSD, [http://www.freebsd.org/cgi/cvsweb.cgi/ports/games/eduke32/ has a port]&lt;br /&gt;
* OpenBSD, [http://ftp.openbsd.org/ports/games/eduke32 has also a port]&lt;br /&gt;
&lt;br /&gt;
=== Devices ===&lt;br /&gt;
&lt;br /&gt;
* Nintendo Wii (via Homebrew Channel), [[EDuke32 Wii]]&lt;br /&gt;
* Dingux (for the Dingoo A320), [http://dl.openhandhelds.org/cgi-bin/dingoo.cgi?0,0,0,0,30,138 has a compiled port] (includes source code), see also this [http://boards.dingoonity.org/dingux-releases/eduke32-release-3/ board]&lt;br /&gt;
&lt;br /&gt;
[[Category:Distribution documentation]]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=11175</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=11175"/>
		<updated>2012-09-12T19:59:35Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Update dependencies for Fedora&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Distribution intro}}&lt;br /&gt;
&lt;br /&gt;
= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. See [[Installation and configuration]].&lt;br /&gt;
* 3D acceleration drivers (optional). NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* A MIDI player for the soundtrack (optional). Use [http://sourceforge.net/projects/timidity TiMidity++] for an easy software MIDI solution, a set of instrument patches is also required such as [http://freepats.zenvoid.org Freepats].&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;See [[Acquiring the EDuke32 Source Code]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* NASM (optional)&lt;br /&gt;
* LibGL and LibGLU (optional)&lt;br /&gt;
* LibSDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* LibSDL Mixer &amp;gt; 1.2.6&lt;br /&gt;
* LibVorbis &amp;gt;= 1.1.2&lt;br /&gt;
* LibPNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
** LibZ (zlib) (optional; required for LibPNG)&lt;br /&gt;
* LibVPX &amp;gt;= 0.9.6 (optional)&lt;br /&gt;
* LibGTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Debian / Ubuntu&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev libsdl-mixer1.2-dev libvorbis-dev libpng12-dev libvpx-dev libgtk2.0-dev timidity freepats&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Fedora 14-16&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install nasm mesa-libGL-devel mesa-libGLU-devel SDL-devel SDL_mixer-devel libvorbis-devel libpng-devel libvpx-devel gtk2-devel timidity++&amp;lt;/pre&amp;gt;&lt;br /&gt;
Freepats is not packaged in Fedora, you must download and install it by yourself.&lt;br /&gt;
See also the &amp;quot;timidity-patch-freepats&amp;quot; package on others RPM based distros.&lt;br /&gt;
&lt;br /&gt;
== Build EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.x, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options during the build. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;65%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Various options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|PRETTY_OUTPUT||Use colored output.||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;65%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Engine options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|USE_OPENGL||Enable basic OpenGL Polymost renderer.||1&lt;br /&gt;
|-&lt;br /&gt;
|POLYMER||Enable modern Polymer renderer for great justice.||1&lt;br /&gt;
|-&lt;br /&gt;
|NOASM||Disable the use of the ASM code for the classic renderer. Should be enabled on 32-bit [http://en.wikipedia.org/wiki/Pentium_compatible_processor Pentium compatible processors] only.||0 (ASM is disabled for x86_64 automatically because the ASM is 32-bit.)&lt;br /&gt;
|-&lt;br /&gt;
|LINKED_GTK||Enable compile-time linkage to GTK+.||0&lt;br /&gt;
|-&lt;br /&gt;
|WITHOUT_GTK||Do not compile GTK+ code.||0&lt;br /&gt;
|-&lt;br /&gt;
|BUILD32_ON_64||||0&lt;br /&gt;
|-&lt;br /&gt;
|NEDMALLOC||Use nedmalloc instead of malloc().||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBPNG||Compile with libpng (used to make screenshots in the PNG format). This may or may not require libz.||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBVPX||VP8 video codec used as an alternative to the ANM file format (only works if compiled with OpenGL support).||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;65%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Debugging/Build options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|RELEASE||No debugging.||1&lt;br /&gt;
|-&lt;br /&gt;
|DEBUGANYWAY||Include debug symbols even when generating release code. The following arrays be allocated statically: spriteext, spritesmooth, sector, wall, sprite, tsprite, while necessarily disabling the clipshape feature (because it relies on setting sector/wall to different malloc&#039;d block temporarily). Really only useful with CC=clang.||0&lt;br /&gt;
|-&lt;br /&gt;
|KRANDDEBUG||Include logging of krand() calls for debugging the demo system.||0&lt;br /&gt;
|-&lt;br /&gt;
|EFENCE||Compile with Electric Fence for malloc() debugging.||0&lt;br /&gt;
|-&lt;br /&gt;
|DMALLOC||Compile with dmalloc for malloc() debugging.||0&lt;br /&gt;
|-&lt;br /&gt;
|OPTLEVEL||GCC optimization strategy. Values above 2 can cause crashes.||2&lt;br /&gt;
|-&lt;br /&gt;
|LTO||Enable link-time optimization, for GCC 4.5 and up.||0&lt;br /&gt;
|-&lt;br /&gt;
|ARCH||Define options specific to the CPU architecture.||empty (except for i686)&lt;br /&gt;
|-&lt;br /&gt;
|CLANG||Use the Clang compiler instead of the default GCC.||0&lt;br /&gt;
|-&lt;br /&gt;
|PROFILER||||0&lt;br /&gt;
|-&lt;br /&gt;
|MUDFLAP||||0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
&lt;br /&gt;
= Run the game! =&lt;br /&gt;
You need to have the original Duke Nukem 3D files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymost High Resolution Pack] you can pass the -grp parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -grp duke3d_hrp.zip polymost_hrp_update-*.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you can pass the -grp parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -grp polymer_hrp.zip polymer_upd.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that &#039;&#039;polymer_upd.zip&#039;&#039; may not be available. It is also possbile to add additional packs such as remade music and Z-Pack.&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g/path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;br /&gt;
&lt;br /&gt;
[[Category:Distribution documentation]]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=11084</id>
		<title>APT repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=11084"/>
		<updated>2012-07-31T00:29:06Z</updated>

		<summary type="html">&lt;p&gt;Bioman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Distribution intro}}&lt;br /&gt;
&lt;br /&gt;
EDuke32 can be installed from a repository for Debian and Ubuntu Linux.&lt;br /&gt;
&lt;br /&gt;
Note, these are development builds. After an update, it is possible that some formats have changed, as that of saved games. In this case it is likely that the old files have become unusable.&amp;lt;br /&amp;gt;&lt;br /&gt;
A simple trick to avoid getting stuck, is to finish an episode before each update. Otherwise you can look &#039;&#039;&#039;-v&#039;&#039;&#039; and &#039;&#039;&#039;-l&#039;&#039;&#039; parameters.&lt;br /&gt;
&lt;br /&gt;
= Installation instructions =&lt;br /&gt;
Add the following lines in an additional sources.list file such as &#039;&#039;/etc/apt/sources.list.d/eduke32.list&#039;&#039; :&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net codename main&lt;br /&gt;
deb-src http://apt.duke4.net codename main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &#039;&#039;&#039;codename&#039;&#039;&#039; by one that match with your version. Before doing this, you can verify what [http://apt.duke4.net/versions/versions.html versions] are supported.&lt;br /&gt;
&lt;br /&gt;
To do this quickly you can also copy/paste both lines at one time in a terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo -e &amp;quot;deb http://apt.duke4.net $(lsb_release -cs) main\n\&lt;br /&gt;
deb-src http://apt.duke4.net $(lsb_release -cs) main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/eduke32.list&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note to Ubuntu users: You must activate the &#039;&#039;universe&#039;&#039; [https://help.ubuntu.com/community/Repositories/Ubuntu repository] before installing EDuke32.&lt;br /&gt;
&lt;br /&gt;
Note to Debian users: We do not support symbolic names (eg, you can not replace &#039;&#039;sid&#039;&#039; by &#039;&#039;unstable&#039;&#039; in the APT URL), to avoid conflicts when a new stable release comes out.&lt;br /&gt;
&lt;br /&gt;
== Secure APT ==&lt;br /&gt;
You can import the [http://apt.duke4.net/key/eduke32.gpg GPG public key] to authenticate downloaded packages:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -q http://apt.duke4.net/key/eduke32.gpg -O- | sudo apt-key add -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you prefer to use &#039;&#039;&#039;su&#039;&#039;&#039; instead of sudo:&lt;br /&gt;
&amp;lt;pre&amp;gt;su &amp;amp;&amp;amp; wget -q http://apt.duke4.net/key/eduke32.gpg -O- | apt-key add -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== About packages ==&lt;br /&gt;
Packages are available for x86 and x86-64 architectures:&lt;br /&gt;
* &#039;&#039;&#039;eduke32&#039;&#039;&#039; : Open source enhanced port of the game Duke Nukem 3D.&lt;br /&gt;
* &#039;&#039;&#039;mapster32&#039;&#039;&#039; : OpenGL maps editor for EDuke32.&lt;br /&gt;
* &#039;&#039;&#039;duke3d-shareware&#039;&#039;&#039; : Duke Nukem 3D shareware files v1.3d.&lt;br /&gt;
* &#039;&#039;&#039;build-engine-utils&#039;&#039;&#039; : Collection of tools to manage the content of the Build engine based games.&lt;br /&gt;
&lt;br /&gt;
=== Install EDuke32 ===&lt;br /&gt;
Run your packages manager and search &amp;quot;eduke32&amp;quot; or in command-line interface, type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install eduke32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== High Resolution Pack ===&lt;br /&gt;
All HRP files can be found at [http://hrp.duke4.net hrp.duke4.net].&lt;br /&gt;
&lt;br /&gt;
[[Category:Distribution documentation]]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=11082</id>
		<title>APT repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=11082"/>
		<updated>2012-07-30T23:31:28Z</updated>

		<summary type="html">&lt;p&gt;Bioman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Distribution intro}}&lt;br /&gt;
&lt;br /&gt;
EDuke32 can be installed from a repository for Debian and Ubuntu Linux.&lt;br /&gt;
&lt;br /&gt;
Note, these are development builds. After an update, it is possible that some formats have changed, as that of saved games. In this case it is likely that the old files have become unusable.&amp;lt;br /&amp;gt;&lt;br /&gt;
A simple trick to avoid getting stuck, is to finish an episode before each update. Otherwise you can [[Building EDuke32 on Linux|compile an older version from sources]].&lt;br /&gt;
&lt;br /&gt;
= Installation instructions =&lt;br /&gt;
Add the following lines in an additional sources.list file such as &#039;&#039;/etc/apt/sources.list.d/eduke32.list&#039;&#039; :&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net codename main&lt;br /&gt;
deb-src http://apt.duke4.net codename main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &#039;&#039;&#039;codename&#039;&#039;&#039; by one that match with your version. Before doing this, you can verify what [http://apt.duke4.net/versions/versions.html versions] are supported.&lt;br /&gt;
&lt;br /&gt;
To do this quickly you can also copy/paste both lines at one time in a terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo -e &amp;quot;deb http://apt.duke4.net $(lsb_release -cs) main\n\&lt;br /&gt;
deb-src http://apt.duke4.net $(lsb_release -cs) main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/eduke32.list&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note to Ubuntu users: You must activate the &#039;&#039;universe&#039;&#039; [https://help.ubuntu.com/community/Repositories/Ubuntu repository] before installing EDuke32.&lt;br /&gt;
&lt;br /&gt;
Note to Debian users: We do not support symbolic names (eg, you can not replace &#039;&#039;sid&#039;&#039; by &#039;&#039;unstable&#039;&#039; in the APT URL), to avoid conflicts when a new stable release comes out.&lt;br /&gt;
&lt;br /&gt;
== Secure APT ==&lt;br /&gt;
You can import the [http://apt.duke4.net/key/eduke32.gpg GPG public key] to authenticate downloaded packages:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -q http://apt.duke4.net/key/eduke32.gpg -O- | sudo apt-key add -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you prefer to use &#039;&#039;&#039;su&#039;&#039;&#039; instead of sudo:&lt;br /&gt;
&amp;lt;pre&amp;gt;su &amp;amp;&amp;amp; wget -q http://apt.duke4.net/key/eduke32.gpg -O- | apt-key add -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== About packages ==&lt;br /&gt;
Packages are available for x86 and x86-64 architectures:&lt;br /&gt;
* &#039;&#039;&#039;eduke32&#039;&#039;&#039; : Open source enhanced port of the game Duke Nukem 3D.&lt;br /&gt;
* &#039;&#039;&#039;mapster32&#039;&#039;&#039; : OpenGL maps editor for EDuke32.&lt;br /&gt;
* &#039;&#039;&#039;duke3d-shareware&#039;&#039;&#039; : Duke Nukem 3D shareware files v1.3d.&lt;br /&gt;
* &#039;&#039;&#039;build-engine-utils&#039;&#039;&#039; : Collection of tools to manage the content of the Build engine based games.&lt;br /&gt;
&lt;br /&gt;
=== Install EDuke32 ===&lt;br /&gt;
Run your packages manager and search &amp;quot;eduke32&amp;quot; or in command-line interface, type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install eduke32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== High Resolution Pack ===&lt;br /&gt;
All HRP files can be found at [http://hrp.duke4.net hrp.duke4.net].&lt;br /&gt;
&lt;br /&gt;
[[Category:Distribution documentation]]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=11070</id>
		<title>APT repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=11070"/>
		<updated>2012-07-26T04:36:56Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Removed static APT URLs and added a versioning file&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Distribution intro}}&lt;br /&gt;
&lt;br /&gt;
EDuke32 can be installed from a repository for Debian and Ubuntu Linux.&lt;br /&gt;
&lt;br /&gt;
= Installation instructions =&lt;br /&gt;
Add the following lines in an additional sources.list file such as &#039;&#039;/etc/apt/sources.list.d/eduke32.list&#039;&#039; :&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net codename main&lt;br /&gt;
deb-src http://apt.duke4.net codename main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &#039;&#039;&#039;codename&#039;&#039;&#039; by one that match with your version. Before doing this, you can verify what [http://apt.duke4.net/versions/versions.html versions] are supported.&lt;br /&gt;
&lt;br /&gt;
To do this quickly you can also copy/paste both lines at one time in a terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo -e &amp;quot;deb http://apt.duke4.net $(lsb_release -cs) main\n\&lt;br /&gt;
deb-src http://apt.duke4.net $(lsb_release -cs) main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/eduke32.list&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note to Ubuntu users: You must activate the &#039;&#039;universe&#039;&#039; [https://help.ubuntu.com/community/Repositories/Ubuntu repository] before installing EDuke32.&lt;br /&gt;
&lt;br /&gt;
Note to Debian users: We do not support symbolic names (eg, you can not replace &#039;&#039;sid&#039;&#039; by &#039;&#039;unstable&#039;&#039; in the APT URL), to avoid conflicts when a new stable release comes out.&lt;br /&gt;
&lt;br /&gt;
== Secure APT ==&lt;br /&gt;
You can import the [http://apt.duke4.net/key/eduke32.gpg GPG public key] to authenticate downloaded packages:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -q http://apt.duke4.net/key/eduke32.gpg -O- | sudo apt-key add -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you prefer to use &#039;&#039;&#039;su&#039;&#039;&#039; instead of sudo:&lt;br /&gt;
&amp;lt;pre&amp;gt;su &amp;amp;&amp;amp; wget -q http://apt.duke4.net/key/eduke32.gpg -O- | apt-key add -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== About packages ==&lt;br /&gt;
Packages are available for x86 and x86-64 architectures:&lt;br /&gt;
* &#039;&#039;&#039;eduke32&#039;&#039;&#039; : Open source enhanced port of the game Duke Nukem 3D.&lt;br /&gt;
* &#039;&#039;&#039;mapster32&#039;&#039;&#039; : OpenGL maps editor for EDuke32.&lt;br /&gt;
* &#039;&#039;&#039;duke3d-shareware&#039;&#039;&#039; : Duke Nukem 3D shareware files v1.3d.&lt;br /&gt;
* &#039;&#039;&#039;build-engine-utils&#039;&#039;&#039; : Collection of tools to manage the content of the Build engine based games.&lt;br /&gt;
&lt;br /&gt;
=== Install EDuke32 ===&lt;br /&gt;
Run your packages manager and search &amp;quot;eduke32&amp;quot; or in command-line interface, type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install eduke32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== High Resolution Pack ===&lt;br /&gt;
All HRP files can be found at [http://hrp.duke4.net hrp.duke4.net].&lt;br /&gt;
&lt;br /&gt;
[[Category:Distribution documentation]]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=10979</id>
		<title>APT repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=10979"/>
		<updated>2012-07-06T21:52:58Z</updated>

		<summary type="html">&lt;p&gt;Bioman: It is no longer possible to reinstall an older version, to avoid issues like with libvpx0 and libvpx1.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Distribution intro}}&lt;br /&gt;
&lt;br /&gt;
EDuke32 can be installed from a repository for Debian and Ubuntu Linux.&lt;br /&gt;
&lt;br /&gt;
Just add the following lines which match with your version in an additional sources.list file such as &#039;&#039;/etc/apt/sources.list.d/eduke32.list&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Or, to do this quickly you can copy/paste both lines at one time in a terminal :&lt;br /&gt;
&amp;lt;pre&amp;gt;echo -e &amp;quot;deb http://apt.duke4.net $(lsb_release -cs) main\n\&lt;br /&gt;
deb-src http://apt.duke4.net $(lsb_release -cs) main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/eduke32.list&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ubuntu repositories =&lt;br /&gt;
&#039;&#039;&#039;Important&#039;&#039;&#039; : Ubuntu users must activate the &#039;&#039;universe&#039;&#039; [https://help.ubuntu.com/community/Repositories/Ubuntu repository] before installing EDuke32.&lt;br /&gt;
&lt;br /&gt;
== Precise Pangolin ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net precise main&lt;br /&gt;
deb-src http://apt.duke4.net precise main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Oneiric Ocelot ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net oneiric main&lt;br /&gt;
deb-src http://apt.duke4.net oneiric main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Natty Narwhal ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net natty main&lt;br /&gt;
deb-src http://apt.duke4.net natty main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lucid Lynx ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net lucid main&lt;br /&gt;
deb-src http://apt.duke4.net lucid main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Debian repositories =&lt;br /&gt;
== Sid ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net sid main&lt;br /&gt;
deb-src http://apt.duke4.net sid main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wheezy ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net wheezy main&lt;br /&gt;
deb-src http://apt.duke4.net wheezy main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Squeeze ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net squeeze main&lt;br /&gt;
deb-src http://apt.duke4.net squeeze main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Secure APT =&lt;br /&gt;
You can import the [http://apt.duke4.net/key/eduke32.gpg GPG public key] to authenticate downloaded packages :&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -q http://apt.duke4.net/key/eduke32.gpg -O- | sudo apt-key add -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= About packages =&lt;br /&gt;
Packages are available for x86 and x86-64 architectures :&lt;br /&gt;
* &#039;&#039;&#039;eduke32&#039;&#039;&#039; : Open source enhanced port of the game Duke Nukem 3D.&lt;br /&gt;
* &#039;&#039;&#039;mapster32&#039;&#039;&#039; : OpenGL maps editor for EDuke32.&lt;br /&gt;
* &#039;&#039;&#039;duke3d-shareware&#039;&#039;&#039; : Duke Nukem 3D shareware files v1.3d.&lt;br /&gt;
* &#039;&#039;&#039;build-engine-utils&#039;&#039;&#039; : Collection of tools to manage the content of the Build engine based games.&lt;br /&gt;
&lt;br /&gt;
== Install EDuke32 ==&lt;br /&gt;
Run your packages manager and search &amp;quot;eduke32&amp;quot; or in command-line interface, type :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install eduke32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== High Resolution Pack ==&lt;br /&gt;
All HRP files can be found at [http://hrp.duke4.net hrp.duke4.net].&lt;br /&gt;
&lt;br /&gt;
[[Category:Distribution documentation]]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Frequently_Asked_Questions&amp;diff=10955</id>
		<title>Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Frequently_Asked_Questions&amp;diff=10955"/>
		<updated>2012-06-06T21:38:36Z</updated>

		<summary type="html">&lt;p&gt;Bioman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== EDuke32 ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q: Where can I get a copy of &#039;&#039;Duke Nukem 3D&#039;&#039; to run EDuke32?&#039;&#039;&#039;&lt;br /&gt;
:A: Just click the &#039;&#039;&#039;gog.com&#039;&#039;&#039; banner to the left, where you can download the full, registered version of &#039;&#039;Duke Nukem 3D: Atomic Edition&#039;&#039; for the low price of &#039;&#039;&#039;$5.99&#039;&#039;&#039;!  Alternatively, you can use the [ftp://ftp.3drealms.com/share/3dduke13.zip one episode shareware version] which is available from 3D Realms for free. While the source code to &#039;&#039;Duke Nukem 3D&#039;&#039; has been released to the public under the [http://www.gnu.org/licenses/gpl-2.0.txt GNU General Public License], the game&#039;s content (artwork, sounds, maps, et cetera) remains a commercial product.  DO NOT post anywhere or ask anybody at all about where to acquire this game illegally.  Support 3D Realms for making the most awesome game ever and don&#039;t be a pirate, yarrr!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q: When launching EDuke32, I get an error about a missing file called &#039;GAME.CON&#039; or &#039;EDUKE.CON&#039;.  Help!&#039;&#039;&#039;&lt;br /&gt;
:A: It would appear that you haven&#039;t placed a copy of &#039;DUKE3D.GRP&#039; from your &#039;&#039;Duke Nukem 3D&#039;&#039; or &#039;&#039;Duke Nukem 3D: Atomic Edition&#039;&#039; CD into your EDuke32 directory.  Once you place &#039;DUKE3D.GRP&#039; into the same directory as &#039;eduke32.exe&#039;, the game should launch and run fine.  You may also use the shareware version&#039;s &#039;DUKE3D.GRP&#039; as well.  If you&#039;re sure you&#039;ve put &#039;DUKE3D.GRP&#039; in the right place but you still get this error, your GRP file is likely corrupt and will need to be re-copied off of your CD.&lt;br /&gt;
&lt;br /&gt;
[[Image:Gametab.png|frame|Here is a picture of what the startup window looks like with several different GRP files available and the DukePlus mod selected.  Note that the shareware version and the original, non-&#039;&#039;Atomic Edition&#039;&#039; version of the game have both had their GRP files renamed; all versions of &#039;&#039;Duke Nukem 3D&#039;&#039; ship with a GRP file named &#039;DUKE3D.GRP&#039;]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q: What is the &#039;Game&#039; section of the startup screen used for?&#039;&#039;&#039;&lt;br /&gt;
:A: The &#039;Game&#039; section is a feature that allows you to select which GRP file you would like to play.  The GRP files must exactly match the versions found on their respective CDs, without any modifications. The following games are supported:&lt;br /&gt;
&lt;br /&gt;
:* &#039;&#039;Duke Nukem 3D Shareware Version&#039;&#039;&lt;br /&gt;
:* &#039;&#039;Duke Nukem 3D Mac Shareware Version&#039;&#039;&lt;br /&gt;
:* &#039;&#039;Duke Nukem 3D&#039;&#039;&lt;br /&gt;
:* &#039;&#039;Duke Nukem 3D: Atomic Edition&#039;&#039;&lt;br /&gt;
:* &#039;&#039;[[NAM]]&#039;&#039; (Note: you must rename GAME.CON from &#039;&#039;NAM&#039;&#039; to NAM.CON)&lt;br /&gt;
:* &#039;&#039;[[Napalm]]&#039;&#039; (Wal-Mart only version of &#039;&#039;NAM&#039;&#039;, some .GRP differences between the two releases)&lt;br /&gt;
:* &#039;&#039;[[WWII GI]]&#039;&#039; (Limited Support using &#039;&#039;NAM&#039;&#039; mode as a base)&lt;br /&gt;
&lt;br /&gt;
:You can also use the startup window to select a third party mod to play.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q: When I am playing EDuke32 with 16-, 24-, or 32-bit color, everything has a blue tint! How can I fix this?&#039;&#039;&#039;&lt;br /&gt;
:A: Unfortunately, most people who run into this error are out of luck, especially those with an Intel or SiS video chipset.  There are a few things you can do to try and fix this problem:&lt;br /&gt;
&lt;br /&gt;
:* Open the [[console]] and type &amp;quot;r_redbluemode 0&amp;quot;&lt;br /&gt;
:* Download the newest drivers for your graphics card&lt;br /&gt;
:* Delete the texture cache&lt;br /&gt;
:* Try the [http://dukeworld.duke4.net/eduke32/synthesis/eduke32_latest.zip most recent build] of EDuke32&lt;br /&gt;
&lt;br /&gt;
:The following driver vendors have been blacklisted in the newest versions of EDuke32.  If you have a video card or driver from one of these companies, OpenGL modes will &#039;&#039;&#039;&#039;&#039;not&#039;&#039;&#039;&#039;&#039; be available:&lt;br /&gt;
:* Microsoft (default OpenGL ICD which comes with Windows)&lt;br /&gt;
:* SiS&lt;br /&gt;
:* 3Dfx&lt;br /&gt;
&lt;br /&gt;
:OpenGL can still be enabled for these cards by setting the BUILD_FORCEGL environment variable before running EDuke32, or by using the command line &amp;lt;code&amp;gt;eduke32 -forcegl&amp;lt;/code&amp;gt;. It should be noted, however, that the results will probably be less than satisfactory.  If you have a blacklisted driver but EDuke32 seems to run fine using BUILD_FORCEGL, please enter the &amp;lt;code&amp;gt;glinfo&amp;lt;/code&amp;gt; [[console]] command and send us your eduke32.log so that we can add an exception for your video card/driver combination.&lt;br /&gt;
&lt;br /&gt;
:Note: Intel video cards are no longer blacklisted.&lt;br /&gt;
:Note2: Some recent (G33 for example) Intel graphics cards work with OpenGL mode if texture compression is disabled (&amp;lt;tt&amp;gt;r_texcompr &amp;quot;0&amp;quot;&amp;lt;/tt&amp;gt;, see &amp;lt;tt&amp;gt;settings.cfg&amp;lt;/tt&amp;gt; configuration file).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q: How can I play multiplayer on the Internet or my LAN using EDuke32?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:A: See the [[Multiplayer]] page.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q: Where is my &amp;quot;eduke32.log&amp;quot; and what is it used for?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:A: The &amp;quot;eduke32.log&amp;quot; file is generated each time you run eduke32.exe. (mapster32.exe has a separate one titled, &amp;quot;mapster32.log&amp;quot;) &lt;br /&gt;
:You can find both of these files in the same directory where your &amp;quot;eduke32.exe&amp;quot; and &amp;quot;mapster32.exe&amp;quot; is located. Having &amp;quot;Hide extensions for known file types&amp;quot; (Tools, Folder Options, View) unticked will help you locate it easier.&lt;br /&gt;
&lt;br /&gt;
:What is the log used for?&lt;br /&gt;
:* Helping the EDuke32 developers and other helpful community members locate problems with a users EDuke32 if he or she is having trouble getting it to run, as the log file will 99% of the time indicate what is not working correctly plus many other various things that help developers and modders all around.&lt;br /&gt;
&lt;br /&gt;
:Where should I paste my log or URL?&lt;br /&gt;
:*Follow the instructions in the [[Troubleshooting EDuke32]] page.&lt;br /&gt;
&lt;br /&gt;
:Note: If you are having problems with Mapster32 you should do the same as above but replace &amp;quot;eduke32.log&amp;quot; with &amp;quot;mapster32.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q: If in system international properties system language is not English then symbol keys on keyboard is not work (Mac OS X). So I can&#039;t play the game. And I don&#039;t want to switch system language because I&#039;m living in Russia.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;[&#039;&#039;&#039;followup Q:&#039;&#039;&#039; is there an OSX API call to set the keyboard layout per-process? If you&#039;re knowledgeable in OS X, please let the developers know!]&lt;br /&gt;
&lt;br /&gt;
== Mapster32 ==&lt;br /&gt;
&#039;&#039;&#039;Q: I can&#039;t pan with Shift+KP5+KP&amp;lt;whatever&amp;gt; in 3D mode.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:A: This is an issue with modern keyboards and happens because some key combinations are &amp;quot;dead&amp;quot; (See [http://www.sjbaker.org/wiki/index.php?title=Keyboards_Are_Evil] for an overview and [http://www.dribin.org/dave/keyboard/one_html/] for a technical explanation). There are various workarounds. One is to alias some key to the KP5 key with the goal of finding one for which all key combinations will be passed to the OS. To do that, you need to edit the &#039;&#039;remap&#039;&#039; line at the end of mapster32.cfg. A suggestion is to map the KP0 key to KP5. Another way to solve the issue is by finding a keyboard from circa 1996 (one with a big 5-pin connector). Newer revisions of Mapster32 also let you to use Alt instead of Shift in these situations.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q: Why is aiming at objects so imprecise?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:A: The issue occurs only with the Polymost renderer and has its cause in the way it determines the aimed-at object: based on the mouse position on the screen, it constructs a direction vector and calls [[hitscan]]. Both steps are a cause of imprecision. The classic BUILD and the Polymer renderers determine the aimed-at object (roughly) by querying what object was drawn at the mouse position, and thus are pixel-perfect. If you prefer to use Polymost, try avoiding aiming at objects at the border of the screen and looking up or down, since the aiming method is particularly ill-behaved in these cases.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32_end-user_documentation]]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Utilities&amp;diff=10954</id>
		<title>Utilities</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Utilities&amp;diff=10954"/>
		<updated>2012-06-06T21:34:25Z</updated>

		<summary type="html">&lt;p&gt;Bioman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When modding EDuke32, there are some files you will need to edit certain aspects of the game.&lt;br /&gt;
Here we will cover the needed programs for each aspect.&lt;br /&gt;
&lt;br /&gt;
== Data Files ==&lt;br /&gt;
&lt;br /&gt;
=== Group Files (.GRP) ===&lt;br /&gt;
.GRP files are basically like a zip file, they hold all of the relevant files for the game, and keep your folders tidy. There are several programs available for use.&lt;br /&gt;
&lt;br /&gt;
The preeminent command-line programs for this purpose, and what the original developers used, are kextract and kgroup. Both programs are also present in the build directory of EDuke32 source code. To build it, just do:&lt;br /&gt;
&amp;lt;code&amp;gt;cd build &amp;amp;&amp;amp; make utils&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We can find a program called grpextract [svn://svn.icculus.org/duke3d/trunk here]. To build it, just do:&lt;br /&gt;
&amp;lt;code&amp;gt;gcc grpextract.c -o grpextract&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While lacking a GUI, they get the job done. There are other programs, which can view art files inside the .GRP, and listen to sound bytes. Other programs include Jonah Bishop&#039;s [http://archive.dukertcm.com/knowledge-base/downloads-rtcm/duke3d-tools-build/gfs31.zip Group File Studio] and Roma Loom&#039;s [http://loomsday.com/?page_id=4 GRPViewer]&lt;br /&gt;
&lt;br /&gt;
For your own mods, it is highly recommended to use either .zip files or folders in conjunction with the -j command line parameter instead of GRP files.&lt;br /&gt;
&lt;br /&gt;
=== Control Files (.CON) ===&lt;br /&gt;
.CON files hold most of the important code for the game. Since they are source code, they are simply text files and can be opened in any text editor. [http://notepad-plus-plus.org/ Notepad++] and [http://www.emeraldeditor.com/ Emerald Editor (aka Crimson Editor)] are recommended.&lt;br /&gt;
&lt;br /&gt;
=== Maps (.MAP) ===&lt;br /&gt;
.MAP files are levels. To edit maps, use Mapster32, which comes with EDuke32.&lt;br /&gt;
&lt;br /&gt;
== 8-Bit Resources ==&lt;br /&gt;
&lt;br /&gt;
=== Art Files (.ART) ===&lt;br /&gt;
.ART files hold all the raw art data in a tidy manner. Once again, there are numerous programs available which can edit the .ART files. The most commonly used program is the one that came with Duke Nukem 3D: EditArt. It is a 16-bit DOS program, so the use of DOSBox is recommended. Other programs include [http://archive.dukertcm.com/knowledge-base/downloads-rtcm/duke3d-tools-editart/bastART.zip bastART] and [http://archive.dukertcm.com/knowledge-base/downloads-rtcm/duke3d-tools-editart/dukeresART.zip DukeResART]&lt;br /&gt;
&lt;br /&gt;
The [[Build tool]] &#039;&#039;&#039;arttool&#039;&#039;&#039; is very handy for constructing ART files in a simple and well-defined manner.&lt;br /&gt;
&lt;br /&gt;
There are 2 command line utilities called art2tga and tga2art that allow management of art files, available [http://blood.sourceforge.net/snapshots.php#rebuild-section here]. To build it, just run:&lt;br /&gt;
&amp;lt;code&amp;gt;cd rebuild &amp;amp;&amp;amp; make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There&#039;s also a replacement for art2tga/tga2art being written by [[User:Kraigose|Kraigose]] based on their codebase which aims to replace these tools using the more well known PNG format with the simplicity of the TGA tools INI file syntax. A precompiled Win32 build and source can be found [http://www.kraigosestudios.com/programming/eduke32-art-tools/ here] at Kraigose&#039;s website. A readme file is included in the download, as well as color tables for Adobe Photoshop. Images must be 256-color PNGs at the moment, but that&#039;ll be fixed soon. It&#039;s usage syntax is similar to art2tga nd tga2art, but it supports by default doing &#039;&#039;all&#039;&#039; ART files in batch. More development is expected.&lt;br /&gt;
&lt;br /&gt;
=== Animations (.ANM) ===&lt;br /&gt;
.ANM files hold raw .PCX files, which are added together and then played as an animation. In the game these are the animations you see at the end of a boss fight. The sounds for the animations are not included in the .ANM. One of the few .ANM compiling programs is [http://archive.dukertcm.com/knowledge-base/downloads-rtcm/duke3d-tools-editart/anim2pcx.zip Animation File Maker]&lt;br /&gt;
&lt;br /&gt;
[http://www.ffmpeg.org FFmpeg], since version 0.6,  can also decode and play anm files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Some examples :&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Play the &#039;foo&#039; animation file :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ffplay foo.anm&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Extract all frames from the &#039;foo&#039; animation file into the PNG format (works also with JPG, PCX, GIF, BMP ...)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ffmpeg -i foo.anm bar%03d.png&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Encode the &#039;foo&#039; animation file into a MPEG-4 format :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ffmpeg -i foo.anm bar.avi&amp;lt;/pre&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
Encode the &#039;foo&#039; animation file into a WebM format :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ffmpeg -i foo.anm -threads 2 bar.webm&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See &#039;ffmpeg -codecs&#039; for all available codecs.&lt;br /&gt;
&lt;br /&gt;
It&#039;s not possible, actually to encode into anm format with FFmpeg.&lt;br /&gt;
&lt;br /&gt;
=== Voxels (.KVX) ===&lt;br /&gt;
Voxels are simple 3D shapes made out of three-dimensional cubes. While no voxels were ever included in any commercial versions of Duke Nukem 3D, its fellow BUILD games Shadow Warrior and Blood have many. EDuke32 supports voxels as well.&lt;br /&gt;
&lt;br /&gt;
To create and edit voxels, use [http://advsys.net/ken/download.htm Ken Silverman&#039;s SLAB6].&lt;br /&gt;
&lt;br /&gt;
=== Palettes (.DAT) ===&lt;br /&gt;
The PALETTE.DAT and LOOKUP.DAT files hold the palettes, palettes swaps, shade and translucency (blending) tables for the game. This is one of the most loathed and untouched editable features of Duke3D. While incredibly difficult, it can come to good effect. The [[Build tools]] &#039;&#039;&#039;bsuite&#039;&#039;&#039;, &#039;&#039;&#039;mkpalette&#039;&#039;&#039;, and &#039;&#039;&#039;transpal&#039;&#039;&#039; can help you in this regard.&lt;br /&gt;
&lt;br /&gt;
== High-Resolution Resources ==&lt;br /&gt;
&lt;br /&gt;
=== Textures (.png/.jpg/.tga/.dds) ===&lt;br /&gt;
EDuke32 supports true color textures. These can be made in any image editing program, including Adobe Photoshop, Corel Paint Shop Pro, and [http://www.gimp.org/ The GNU Image Manipulation Program (GIMP)]&lt;br /&gt;
&lt;br /&gt;
=== 3D Models (.md3) ===&lt;br /&gt;
&lt;br /&gt;
This is a list of tools which can be used to create and edit 3D models for use with EDuke32.&lt;br /&gt;
&lt;br /&gt;
[http://www.blender.org Blender], open source 3D modeler can be used for UV unwrapping, texturing, rigging, water simulations, skinning, animating, rendering, particle and other simulations.&lt;br /&gt;
&lt;br /&gt;
Import/Export MD3 scripts for Blender can be found [http://hendricks266.duke4.net/stuff/new_blender_md3.zip here] or [http://www.katsbits.com/tools here] or [http://johnny3d.promail.ca/blendermd3.zip here].&lt;br /&gt;
&lt;br /&gt;
[http://www.misfitcode.com/misfitmodel3d Misfit Model 3D], open source and OpenGL-based 3D model editor that works with triangle-based models (on Debian based distros, package is called mm3d).&lt;br /&gt;
&lt;br /&gt;
[http://automagically.de/g3dviewer/ G3DViewer], open source and OpenGL models viewer, support formats 3D Studio, Quake 2, Quake 3 and many others.&lt;br /&gt;
&lt;br /&gt;
[http://www.turbosquid.com/gmax Gmax], video game modeling tool (Windows, freeware).&lt;br /&gt;
&lt;br /&gt;
MD3 exporter plugin for Gmax can be found [http://www.katsbits.com/tools here].&lt;br /&gt;
&lt;br /&gt;
[http://usa.autodesk.com/adsk/servlet/index?siteID=123112&amp;amp;id=5659302 3DS Max], 3D modeler (Windows, commercial).&lt;br /&gt;
&lt;br /&gt;
MD3 export script for 3DS Max [http://www.katsbits.com/tools v4.2/v5] and [http://www.katsbits.com/tools v6].&lt;br /&gt;
&lt;br /&gt;
[http://chumbalum.swissquake.ch Milkshape 3D], 3D modeler (Windows, commercial).&lt;br /&gt;
&lt;br /&gt;
=== Movies (.ivf) ===&lt;br /&gt;
IVF files are an alternative to the ANM format utilizing a VP8 video stream, the same used in the WebM format but without the Vorbis audio stream.&lt;br /&gt;
&lt;br /&gt;
To encode video, including an uncompressed raw one, to IVF, use this command line syntax with FFmpeg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ffmpeg -i &amp;lt;input&amp;gt; -an -vcodec libvpx -quality best &amp;lt;output&amp;gt;.ivf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To extract VP8 video tracks from a WebM file into a IVF file, we can use the program &#039;&#039;mkvextract&#039;&#039;, part of MKVToolnix, available [http://www.bunkus.org/videotools/mkvtoolnix here].&lt;br /&gt;
&lt;br /&gt;
Command line syntax to use:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkvextract tracks &amp;lt;filename&amp;gt;.webm 1:&amp;lt;filename&amp;gt;.ivf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To play it in-game now we just have to place it in a search path or in a custom mod directory and give it the same name as the .anm file that we want to replace (eg &#039;&#039;logo.ivf&#039;&#039; for the animation logo when the game starts).&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://dukerepository.com/utilities.php Duke Nukem Repository Utility Page]&lt;br /&gt;
* [http://www.gamers.org/pub/games/duke3d/other/build/ Gamers.org Archive Utility Page]&lt;br /&gt;
* [http://archive.dukertcm.com/ R.T.C.M.]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Packages&amp;diff=10953</id>
		<title>Packages</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Packages&amp;diff=10953"/>
		<updated>2012-06-06T21:29:44Z</updated>

		<summary type="html">&lt;p&gt;Bioman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Distribution intro}}&lt;br /&gt;
&lt;br /&gt;
You can found here some packages to play EDuke32 on your favorite system:&lt;br /&gt;
&lt;br /&gt;
=== Desktop Operating Systems ===&lt;br /&gt;
&lt;br /&gt;
* Windows and Mac OS X, [[Download EDuke32]].&lt;br /&gt;
* Debian and Ubuntu, [[APT repository|see APT repository]]&lt;br /&gt;
* Mandriva, [http://fr2.rpmfind.net/linux/rpm2html/search.php?query=eduke32 packages available from the official Non-free/Backports repository]&lt;br /&gt;
* Arch Linux, [http://aur.archlinux.org/packages.php?O=0&amp;amp;K=eduke32 PKGBUILDs available from the Arch User Repository (AUR)]&lt;br /&gt;
* openSUSE, [http://software.opensuse.org/package/eduke32 packages available from the official OBS Games repository]&lt;br /&gt;
* SliTaz GNU/Linux, [http://pkgs.slitaz.org/search.sh?package=eduke32 package available from the Cooking repository]&lt;br /&gt;
* Puppy Linux and BrowserLinux, [http://www.murga-linux.com/puppy/viewtopic.php?t=48947 see here for PET packages]&lt;br /&gt;
* Gentoo Linux, [http://bugs.gentoo.org/show_bug.cgi?id=172183 see here for ebuilds]&lt;br /&gt;
* Slackware, [http://slackbuilds.org/repository/13.37/games/eduke32/ SlackBuild available at SlackBuilds.org]&lt;br /&gt;
* FreeBSD, [http://www.freebsd.org/cgi/cvsweb.cgi/ports/games/eduke32/ has a port]&lt;br /&gt;
&lt;br /&gt;
=== Devices ===&lt;br /&gt;
&lt;br /&gt;
* Nintendo Wii (via Homebrew Channel), [[EDuke32 Wii]]&lt;br /&gt;
* Dingux (for the Dingoo A320), [http://dl.openhandhelds.org/cgi-bin/dingoo.cgi?0,0,0,0,30,138 has a compiled port] (includes source code), see also this [http://boards.dingoonity.org/dingux-releases/eduke32-release-3/ board]&lt;br /&gt;
&lt;br /&gt;
[[Category:Distribution documentation]]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=10952</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=10952"/>
		<updated>2012-06-06T21:24:19Z</updated>

		<summary type="html">&lt;p&gt;Bioman: LibStdc++ or LibSupc++ no longer required since r2708, but still needed for utils.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Distribution intro}}&lt;br /&gt;
&lt;br /&gt;
= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. See [[Installation and configuration]].&lt;br /&gt;
* Proper 3D acceleration drivers. NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* Proper MIDI install. The EDuke32 will appear to &amp;quot;randomly&amp;quot; crash without one. Use &#039;&#039;timidity&#039;&#039; for an easy software midi solution.&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;See [[Acquiring the EDuke32 Source Code]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* Nasm (optional)&lt;br /&gt;
* LibGL and LibGLU (optional)&lt;br /&gt;
* LibSDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* LibSDL Mixer &amp;gt; 1.2.6&lt;br /&gt;
* LibVorbis &amp;gt;= 1.1.2&lt;br /&gt;
* LibPNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
** LibZ (zlib) (optional; required for LibPNG)&lt;br /&gt;
* LibVPX &amp;gt;= 0.9.6 (optional)&lt;br /&gt;
* LibGTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Debian / Ubuntu&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev libsdl-mixer1.2-dev libvorbis-dev libpng12-dev libvpx-dev libgtk2.0-dev timidity freepats&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Fedora 14-16&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install SDL-devel SDL_mixer SDL_mixer-devel SDL_image-devel nasm libstdc++-devel libstdc++-static libpng-devel libvpx-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build the EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.x, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options during the build. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;65%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Various options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|PRETTY_OUTPUT||Use colored output.||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;65%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Engine options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|USE_OPENGL||Enable basic OpenGL Polymost renderer.||1&lt;br /&gt;
|-&lt;br /&gt;
|POLYMER||Enable modern Polymer renderer for great justice.||1&lt;br /&gt;
|-&lt;br /&gt;
|NOASM||Disable the use of the ASM code for the classic renderer. Should be enabled on 32-bit [http://en.wikipedia.org/wiki/Pentium_compatible_processor Pentium compatible processors] only.||0 (ASM is disabled for x86_64 automatically because the ASM is 32-bit.)&lt;br /&gt;
|-&lt;br /&gt;
|LINKED_GTK||Enable compile-time linkage to GTK+.||0&lt;br /&gt;
|-&lt;br /&gt;
|WITHOUT_GTK||Do not compile GTK+ code.||0&lt;br /&gt;
|-&lt;br /&gt;
|BUILD32_ON_64||||0&lt;br /&gt;
|-&lt;br /&gt;
|NEDMALLOC||Use nedmalloc instead of malloc().||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBPNG||Compile with libpng (used to make screenshots in the PNG format). This may or may not require libz.||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBVPX||VP8 video codec used as an alternative to the ANM file format (only works if compiled with OpenGL support).||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;65%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Debugging/Build options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|RELEASE||No debugging.||1&lt;br /&gt;
|-&lt;br /&gt;
|DEBUGANYWAY||Include debug symbols even when generating release code. The following arrays be allocated statically: spriteext, spritesmooth, sector, wall, sprite, tsprite, while necessarily disabling the clipshape feature (because it relies on setting sector/wall to different malloc&#039;d block temporarily). Really only useful with CC=clang.||0&lt;br /&gt;
|-&lt;br /&gt;
|KRANDDEBUG||Include logging of krand() calls for debugging the demo system.||0&lt;br /&gt;
|-&lt;br /&gt;
|EFENCE||Compile with Electric Fence for malloc() debugging.||0&lt;br /&gt;
|-&lt;br /&gt;
|DMALLOC||Compile with dmalloc for malloc() debugging.||0&lt;br /&gt;
|-&lt;br /&gt;
|OPTLEVEL||GCC optimization strategy. Values above 2 can cause crashes.||2&lt;br /&gt;
|-&lt;br /&gt;
|LTO||Enable link-time optimization, for GCC 4.5 and up.||0&lt;br /&gt;
|-&lt;br /&gt;
|ARCH||Define options specific to the CPU architecture.||empty (except for i686)&lt;br /&gt;
|-&lt;br /&gt;
|CLANG||Use the Clang compiler instead of the default GCC.||0&lt;br /&gt;
|-&lt;br /&gt;
|PROFILER||||0&lt;br /&gt;
|-&lt;br /&gt;
|MUDFLAP||||0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
&lt;br /&gt;
= Run the game! =&lt;br /&gt;
You need to have the original Duke Nukem 3D files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymost High Resolution Pack] you can pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g duke3d_hrp.zip polymost_hrp_update-*.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you can pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g polymer_hrp.zip polymer_upd.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that &#039;&#039;polymer_upd.zip&#039;&#039; may not be available. It is also possbile to add additional packs such as remade music and Z-Pack.&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g /path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;br /&gt;
&lt;br /&gt;
[[Category:Distribution documentation]]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=10812</id>
		<title>APT repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=10812"/>
		<updated>2012-05-10T08:55:25Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Added Precise&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Distribution intro}}&lt;br /&gt;
&lt;br /&gt;
EDuke32 can be installed from a repository for Debian and Ubuntu Linux.&lt;br /&gt;
&lt;br /&gt;
Just add the following lines which match with your version in an additional sources.list file such as &#039;&#039;/etc/apt/sources.list.d/eduke32.list&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Or, to do this quickly you can copy/paste both lines at one time in a terminal :&lt;br /&gt;
&amp;lt;pre&amp;gt;echo -e &amp;quot;deb http://apt.duke4.net $(lsb_release -cs) main\n\&lt;br /&gt;
deb-src http://apt.duke4.net $(lsb_release -cs) main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/eduke32.list&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ubuntu repositories =&lt;br /&gt;
&#039;&#039;&#039;Important&#039;&#039;&#039; : Ubuntu users must activate the &#039;&#039;universe&#039;&#039; [https://help.ubuntu.com/community/Repositories/Ubuntu repository] before installing EDuke32.&lt;br /&gt;
&lt;br /&gt;
== Precise Pangolin ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net precise main&lt;br /&gt;
deb-src http://apt.duke4.net precise main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Oneiric Ocelot ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net oneiric main&lt;br /&gt;
deb-src http://apt.duke4.net oneiric main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Natty Narwhal ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net natty main&lt;br /&gt;
deb-src http://apt.duke4.net natty main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lucid Lynx ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net lucid main&lt;br /&gt;
deb-src http://apt.duke4.net lucid main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Debian repositories =&lt;br /&gt;
== Sid ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net sid main&lt;br /&gt;
deb-src http://apt.duke4.net sid main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wheezy ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net wheezy main&lt;br /&gt;
deb-src http://apt.duke4.net wheezy main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Squeeze ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net squeeze main&lt;br /&gt;
deb-src http://apt.duke4.net squeeze main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Secure APT =&lt;br /&gt;
You can import the [http://apt.duke4.net/key/eduke32.gpg GPG public key] to authenticate downloaded packages :&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -q http://apt.duke4.net/key/eduke32.gpg -O- | sudo apt-key add -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= About packages =&lt;br /&gt;
Packages are available for x86 and x86-64 architectures :&lt;br /&gt;
* &#039;&#039;&#039;eduke32&#039;&#039;&#039; : Open source enhanced port of the game Duke Nukem 3D.&lt;br /&gt;
* &#039;&#039;&#039;mapster32&#039;&#039;&#039; : OpenGL maps editor for EDuke32.&lt;br /&gt;
* &#039;&#039;&#039;duke3d-shareware&#039;&#039;&#039; : Duke Nukem 3D shareware files v1.3d.&lt;br /&gt;
* &#039;&#039;&#039;build-engine-utils&#039;&#039;&#039; : Collection of tools to manage the content of the Build engine based games.&lt;br /&gt;
&lt;br /&gt;
== Install EDuke32 ==&lt;br /&gt;
Run your packages manager and search &amp;quot;eduke32&amp;quot; or in command-line interface, type :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install eduke32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install a different version of a package ==&lt;br /&gt;
You may need to install a different version of a package, for that you can do :&lt;br /&gt;
* &#039;&#039;&#039;In command-line interface&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install eduke32=[version]&amp;lt;/pre&amp;gt;&lt;br /&gt;
example : &lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install eduke32=2.0.0devel.20110131.r1786-1&amp;lt;/pre&amp;gt;&lt;br /&gt;
The following command list all available versions for the eduke32 package : &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-cache policy eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;With Synaptic&#039;&#039;&#039; : search and select &amp;quot;eduke32&amp;quot; -&amp;gt; go in the &amp;quot;Package&amp;quot; menu -&amp;gt; &amp;quot;Force Version&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;With PackageKit&#039;&#039;&#039; : search &amp;quot;eduke32&amp;quot;, you will see several versions for EDuke32, install the one that you want.&lt;br /&gt;
&lt;br /&gt;
== High Resolution Pack ==&lt;br /&gt;
All HRP files can be found at [http://hrp.duke4.net hrp.duke4.net].&lt;br /&gt;
&lt;br /&gt;
[[Category:Distribution documentation]]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Packages&amp;diff=10643</id>
		<title>Packages</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Packages&amp;diff=10643"/>
		<updated>2012-04-10T16:04:57Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Distribution intro}}&lt;br /&gt;
&lt;br /&gt;
You can found here some packages to play EDuke32 on your favorite system:&lt;br /&gt;
&lt;br /&gt;
* Windows and Mac OS X, [[Download EDuke32]].&lt;br /&gt;
* Debian and Ubuntu, [[APT repository|see APT repository]]&lt;br /&gt;
* Mandriva, [http://fr2.rpmfind.net/linux/rpm2html/search.php?query=eduke32 packages available from the official Non-free/Backports repository]&lt;br /&gt;
* Arch Linux, [http://aur.archlinux.org/packages.php?O=0&amp;amp;K=eduke32 PKGBUILDs available from the Arch User Repository (AUR)]&lt;br /&gt;
* openSUSE, [http://software.opensuse.org/package/eduke32 packages available from the official OBS Games repository]&lt;br /&gt;
* SliTaz GNU/Linux, [http://pkgs.slitaz.org/ package available from the Cooking repository]&lt;br /&gt;
* Puppy Linux and BrowserLinux, [http://www.murga-linux.com/puppy/viewtopic.php?t=48947 see here for PET packages]&lt;br /&gt;
* Gentoo Linux, [http://bugs.gentoo.org/show_bug.cgi?id=172183 see here for ebuilds]&lt;br /&gt;
* Slackware, [http://slackbuilds.org/repository/13.37/games/eduke32/ SlackBuild available at SlackBuilds.org]&lt;br /&gt;
* Dingux (for the Dingoo A320), [http://dl.openhandhelds.org/cgi-bin/dingoo.cgi?0,0,0,0,30,138 has a compiled port] (includes source code), see also this [http://boards.dingoonity.org/dingux-releases/eduke32-release-3/ board]&lt;br /&gt;
* FreeBSD, [http://www.freebsd.org/cgi/cvsweb.cgi/ports/games/eduke32/ has a port]&lt;br /&gt;
&lt;br /&gt;
[[Category:Distribution documentation]]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Frequently_Asked_Questions&amp;diff=10642</id>
		<title>Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Frequently_Asked_Questions&amp;diff=10642"/>
		<updated>2012-04-10T15:19:53Z</updated>

		<summary type="html">&lt;p&gt;Bioman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== EDuke32 ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q: Where can I get a copy of &#039;&#039;Duke Nukem 3D&#039;&#039; to run EDuke32?&#039;&#039;&#039;&lt;br /&gt;
:A: Just click the &#039;&#039;&#039;gog.com&#039;&#039;&#039; banner to the left, where you can download the full, registered version of &#039;&#039;Duke Nukem 3D: Atomic Edition&#039;&#039; for the low price of &#039;&#039;&#039;$5.99&#039;&#039;&#039;!  Alternatively, you can use the [ftp://ftp.3drealms.com/share/3dduke13.zip one episode shareware version] which is available from 3D Realms for free. While the source code to &#039;&#039;Duke Nukem 3D&#039;&#039; has been released to the public under the [http://www.gnu.org/licenses/gpl-2.0.txt GNU General Public License], the game&#039;s content (artwork, sounds, maps, et cetera) remains a commercial product.  DO NOT post anywhere or ask anybody at all about where to acquire this game illegally.  Support 3D Realms for making the most awesome game ever and don&#039;t be a pirate, yarrr!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q: When launching EDuke32, I get an error about a missing file called &#039;GAME.CON&#039; or &#039;EDUKE.CON&#039;.  Help!&#039;&#039;&#039;&lt;br /&gt;
:A: It would appear that you haven&#039;t placed a copy of &#039;DUKE3D.GRP&#039; from your &#039;&#039;Duke Nukem 3D&#039;&#039; or &#039;&#039;Duke Nukem 3D: Atomic Edition&#039;&#039; CD into your EDuke32 directory.  Once you place &#039;DUKE3D.GRP&#039; into the same directory as &#039;eduke32.exe&#039;, the game should launch and run fine.  You may also use the shareware version&#039;s &#039;DUKE3D.GRP&#039; as well.  If you&#039;re sure you&#039;ve put &#039;DUKE3D.GRP&#039; in the right place but you still get this error, your GRP file is likely corrupt and will need to be re-copied off of your CD.&lt;br /&gt;
&lt;br /&gt;
[[Image:Gametab.png|frame|Here is a picture of what the startup window looks like with several different GRP files available and the DukePlus mod selected.  Note that the shareware version and the original, non-&#039;&#039;Atomic Edition&#039;&#039; version of the game have both had their GRP files renamed; all versions of &#039;&#039;Duke Nukem 3D&#039;&#039; ship with a GRP file named &#039;DUKE3D.GRP&#039;]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q: What is the &#039;Game&#039; section of the startup screen used for?&#039;&#039;&#039;&lt;br /&gt;
:A: The &#039;Game&#039; section is a feature that allows you to select which GRP file you would like to play.  The GRP files must exactly match the versions found on their respective CDs, without any modifications. The following games are supported:&lt;br /&gt;
&lt;br /&gt;
:* &#039;&#039;Duke Nukem 3D Shareware Version&#039;&#039;&lt;br /&gt;
:* &#039;&#039;Duke Nukem 3D Mac Shareware Version&#039;&#039;&lt;br /&gt;
:* &#039;&#039;Duke Nukem 3D&#039;&#039;&lt;br /&gt;
:* &#039;&#039;Duke Nukem 3D: Atomic Edition&#039;&#039;&lt;br /&gt;
:* &#039;&#039;[[NAM]]&#039;&#039; (Note: you must rename GAME.CON from &#039;&#039;NAM&#039;&#039; to NAM.CON)&lt;br /&gt;
:* &#039;&#039;[[Napalm]]&#039;&#039; (Wal-Mart only version of &#039;&#039;NAM&#039;&#039;, some .GRP differences between the two releases)&lt;br /&gt;
:* &#039;&#039;[[WWII GI]]&#039;&#039; (Limited Support using &#039;&#039;NAM&#039;&#039; mode as a base)&lt;br /&gt;
&lt;br /&gt;
:You can also use the startup window to select a third party mod to play.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q: When I am playing EDuke32 with 16-, 24-, or 32-bit color, everything has a blue tint! How can I fix this?&#039;&#039;&#039;&lt;br /&gt;
:A: Unfortunately, most people who run into this error are out of luck, especially those with an Intel or SiS video chipset.  There are a few things you can do to try and fix this problem:&lt;br /&gt;
&lt;br /&gt;
:* Open the [[console]] and type &amp;quot;r_redbluemode 0&amp;quot;&lt;br /&gt;
:* Download the newest drivers for your graphics card&lt;br /&gt;
:* Delete the texture cache&lt;br /&gt;
:* Try the [http://dukeworld.duke4.net/eduke32/synthesis/eduke32_latest.zip most recent build] of EDuke32&lt;br /&gt;
&lt;br /&gt;
:Note: the following driver vendors have been blacklisted in the newest versions of EDuke32.  If you have a video card or driver from one of these companies, OpenGL modes will &#039;&#039;&#039;&#039;&#039;not&#039;&#039;&#039;&#039;&#039; be available:&lt;br /&gt;
:* Microsoft (default OpenGL ICD which comes with Windows)&lt;br /&gt;
:* SiS&lt;br /&gt;
:* 3Dfx&lt;br /&gt;
&lt;br /&gt;
:OpenGL can still be enabled for these cards by setting the BUILD_FORCEGL environment variable before running EDuke32, or by using the command line &amp;lt;code&amp;gt;eduke32 -forcegl&amp;lt;/code&amp;gt;. It should be noted, however, that the results will probably be less than satisfactory.  If you have a blacklisted driver but EDuke32 seems to run fine using BUILD_FORCEGL, please enter the &amp;lt;code&amp;gt;glinfo&amp;lt;/code&amp;gt; [[console]] command and send us your eduke32.log so that we can add an exception for your video card/driver combination.&lt;br /&gt;
&lt;br /&gt;
:Note: Intel video cards are no longer blacklisted.&lt;br /&gt;
:Note2: Some recent (G33 for example) Intel graphics cards work with OpenGL mode if texture compression is disabled (&amp;lt;tt&amp;gt;r_texcompr &amp;quot;0&amp;quot;&amp;lt;/tt&amp;gt;, see &amp;lt;tt&amp;gt;settings.cfg&amp;lt;/tt&amp;gt; configuration file).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q: How can I play multiplayer on the Internet or my LAN using EDuke32?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:A: See the [[Multiplayer]] page.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q: Where is my &amp;quot;eduke32.log&amp;quot; and what is it used for?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:A: The &amp;quot;eduke32.log&amp;quot; file is generated each time you run eduke32.exe. (mapster32.exe has a separate one titled, &amp;quot;mapster32.log&amp;quot;) &lt;br /&gt;
:You can find both of these files in the same directory where your &amp;quot;eduke32.exe&amp;quot; and &amp;quot;mapster32.exe&amp;quot; is located. Having &amp;quot;Hide extensions for known file types&amp;quot; (Tools, Folder Options, View) unticked will help you locate it easier.&lt;br /&gt;
&lt;br /&gt;
:What is the log used for?&lt;br /&gt;
:* Helping the EDuke32 developers and other helpful community members locate problems with a users EDuke32 if he or she is having trouble getting it to run, as the log file will 99% of the time indicate what is not working correctly plus many other various things that help developers and modders all around.&lt;br /&gt;
&lt;br /&gt;
:Where should I paste my log or URL?&lt;br /&gt;
:*Follow the instructions in the [[Troubleshooting EDuke32]] page.&lt;br /&gt;
&lt;br /&gt;
:Note: If you are having problems with Mapster32 you should do the same as above but replace &amp;quot;eduke32.log&amp;quot; with &amp;quot;mapster32.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q: If in system international properties system language is not English then symbol keys on keyboard is not work (Mac OS X). So I can&#039;t play the game. And I don&#039;t want to switch system language because I&#039;m living in Russia.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;[&#039;&#039;&#039;followup Q:&#039;&#039;&#039; is there an OSX API call to set the keyboard layout per-process? If you&#039;re knowledgeable in OS X, please let the developers know!]&lt;br /&gt;
&lt;br /&gt;
== Mapster32 ==&lt;br /&gt;
&#039;&#039;&#039;Q: I can&#039;t pan with Shift+KP5+KP&amp;lt;whatever&amp;gt; in 3D mode.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:A: This is an issue with modern keyboards and happens because some key combinations are &amp;quot;dead&amp;quot; (See [http://www.sjbaker.org/wiki/index.php?title=Keyboards_Are_Evil] for an overview and [http://www.dribin.org/dave/keyboard/one_html/] for a technical explanation). There are various workarounds. One is to alias some key to the KP5 key with the goal of finding one for which all key combinations will be passed to the OS. To do that, you need to edit the &#039;&#039;remap&#039;&#039; line at the end of mapster32.cfg. A suggestion is to map the KP0 key to KP5. Another way to solve the issue is by finding a keyboard from circa 1996 (one with a big 5-pin connector). Newer revisions of Mapster32 also let you to use Alt instead of Shift in these situations.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q: Why is aiming at objects so imprecise?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:A: The issue occurs only with the Polymost renderer and has its cause in the way it determines the aimed-at object: based on the mouse position on the screen, it constructs a direction vector and calls [[hitscan]]. Both steps are a cause of imprecision. The classic BUILD and the Polymer renderers determine the aimed-at object (roughly) by querying what object was drawn at the mouse position, and thus are pixel-perfect. If you prefer to use Polymost, try avoiding aiming at objects at the border of the screen and looking up or down, since the aiming method is particularly ill-behaved in these cases.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32_end-user_documentation]]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=10641</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=10641"/>
		<updated>2012-04-10T15:05:16Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Added CLANG&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Distribution intro}}&lt;br /&gt;
&lt;br /&gt;
= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. The shareware version can be found [http://www.3drealms.com/duke3d/ here]&lt;br /&gt;
* Proper 3D acceleration drivers. NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* Proper MIDI install. The EDuke32 will appear to &amp;quot;randomly&amp;quot; crash without one. Use &#039;&#039;timidity&#039;&#039; for an easy software midi solution.&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
* Current version (You need to install the &#039;&#039;subversion&#039;&#039; program) : &lt;br /&gt;
&amp;lt;pre&amp;gt;svn co https://eduke32.svn.sourceforge.net/svnroot/eduke32/polymer/eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis Source tarballs] (Lite subversion snapshots, it does not include metadata, Apple compiled libraries, third-party jaudiolib and Photoshop files).&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis/old/ Old] and [http://dukeworld.duke4.net/eduke32/old_versions/source_code/ Older versions].&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* LibStdc++ (or LibSupc++, the cut down version. These might not be necessary at all, try commenting out &#039;-lsupc++&#039; in build/Makefile.shared)&lt;br /&gt;
* Nasm (optional)&lt;br /&gt;
* LibGL and LibGLU (optional)&lt;br /&gt;
* LibSDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* LibSDL Mixer &amp;gt; 1.2.6&lt;br /&gt;
* LibVorbis &amp;gt;= 1.1.2&lt;br /&gt;
* LibPNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
* LibVPX &amp;gt;= 0.9.6 (optional)&lt;br /&gt;
* LibGTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Debian / Ubuntu&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev libsdl-mixer1.2-dev libvorbis-dev libpng12-dev libvpx-dev libgtk2.0-dev timidity freepats&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Fedora 14-16&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install SDL-devel SDL_mixer SDL_mixer-devel SDL_image-devel nasm libstdc++-devel libstdc++-static libpng-devel libvpx-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build the EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.X, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options during the build. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Various options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|PRETTY_OUTPUT||Use colored output.||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Engine options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|USE_OPENGL||Enable basic OpenGL Polymost renderer.||1&lt;br /&gt;
|-&lt;br /&gt;
|POLYMER||Enable fancy Polymer renderer.||1&lt;br /&gt;
|-&lt;br /&gt;
|NOASM||Disable the use of inline assembly pragmas. Should be enabled on 32-bit [http://en.wikipedia.org/wiki/Pentium_compatible_processor Pentium compatible processors] only.||0 (disabled for x86_64, hardcoded, because the ASM is 32-bit)&lt;br /&gt;
|-&lt;br /&gt;
|LINKED_GTK||Enable compile-time linkage to GTK+.||0&lt;br /&gt;
|-&lt;br /&gt;
|WITHOUT_GTK||Do not compile GTK+ code.||0&lt;br /&gt;
|-&lt;br /&gt;
|BUILD32_ON_64||||0&lt;br /&gt;
|-&lt;br /&gt;
|NEDMALLOC||Use nedmalloc instead of malloc().||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBPNG||Compile with libpng (used to make screenshots in the PNG format). This may or may not require libz.||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBVPX||VP8 video codec used as an alternative to the ANM file format (only works if compiled with OpenGL support).||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Debugging/Build options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|RELEASE||No debugging.||1&lt;br /&gt;
|-&lt;br /&gt;
|DEBUGANYWAY||Include debug symbols even when generating release code. The following arrays be allocated statically: spriteext, spritesmooth, sector, wall, sprite, tsprite, while necessarily disabling the clipshape feature (because it relies on setting sector/wall to different malloc&#039;d block temporarily). Really only useful with CC=clang.||0&lt;br /&gt;
|-&lt;br /&gt;
|KRANDDEBUG||Include logging of krand() calls for debugging the demo system.||0&lt;br /&gt;
|-&lt;br /&gt;
|EFENCE||Compile with Electric Fence for malloc() debugging.||0&lt;br /&gt;
|-&lt;br /&gt;
|DMALLOC||Compile with dmalloc for malloc() debugging.||0&lt;br /&gt;
|-&lt;br /&gt;
|OPTLEVEL||GCC optimization strategy. Values above 2 can cause crashes.||2&lt;br /&gt;
|-&lt;br /&gt;
|LTO||Enable link-time optimization, for GCC 4.5 and up.||0&lt;br /&gt;
|-&lt;br /&gt;
|ARCH||Define options specific to the CPU architecture.||empty (except for i686)&lt;br /&gt;
|-&lt;br /&gt;
|CLANG||Use the Clang compiler instead of the default GCC.||0&lt;br /&gt;
|-&lt;br /&gt;
|PROFILER||||0&lt;br /&gt;
|-&lt;br /&gt;
|MUDFLAP||||0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
&lt;br /&gt;
= Run the game! =&lt;br /&gt;
You need to have the original Duke Nukem 3D files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymost High Resolution Pack] you can pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g duke3d_hrp.zip polymost_hrp_update-*.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you can pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g polymer_hrp.zip polymer_upd.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that &#039;&#039;polymer_upd.zip&#039;&#039; may not be available. It is also possbile to add additional packs such as remade music and Z-Pack.&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g /path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;br /&gt;
&lt;br /&gt;
[[Category:Distribution documentation]]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=10341</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=10341"/>
		<updated>2012-03-09T18:50:21Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Defined cell width for tables.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. The shareware version can be found [http://www.3drealms.com/duke3d/ here]&lt;br /&gt;
* Proper 3D acceleration drivers. NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* Proper MIDI install. The EDuke32 will appear to &amp;quot;randomly&amp;quot; crash without one. Use &#039;&#039;timidity&#039;&#039; for an easy software midi solution.&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
* Current version (You need to install the &#039;&#039;subversion&#039;&#039; program) : &lt;br /&gt;
&amp;lt;pre&amp;gt;svn co https://eduke32.svn.sourceforge.net/svnroot/eduke32/polymer/eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis Source tarballs] (Lite subversion snapshots, it does not include metadata, Apple compiled libraries, third-party jaudiolib and Photoshop files).&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis/old/ Old] and [http://dukeworld.duke4.net/eduke32/old_versions/source_code/ Older versions].&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* LibStdc++ (or LibSupc++, the cut down version. These might not be necessary at all, try commenting out &#039;-lsupc++&#039; in build/Makefile.shared)&lt;br /&gt;
* Nasm (optional)&lt;br /&gt;
* LibGL and LibGLU (optional)&lt;br /&gt;
* LibSDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* LibSDL Mixer &amp;gt; 1.2.6&lt;br /&gt;
* LibVorbis &amp;gt;= 1.1.2&lt;br /&gt;
* LibPNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
* LibVPX &amp;gt;= 0.9.6 (optional)&lt;br /&gt;
* LibGTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Debian / Ubuntu&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev libsdl-mixer1.2-dev libvorbis-dev libpng12-dev libvpx-dev libgtk2.0-dev timidity freepats&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Fedora 14-16&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install SDL-devel SDL_mixer SDL_mixer-devel SDL_image-devel nasm libstdc++-devel libstdc++-static libpng-devel libvpx-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build the EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.X, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options during the build. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Various options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|PRETTY_OUTPUT||Use colored output.||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Engine options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|USE_OPENGL||Enable basic OpenGL Polymost renderer.||1&lt;br /&gt;
|-&lt;br /&gt;
|POLYMER||Enable fancy Polymer renderer.||1&lt;br /&gt;
|-&lt;br /&gt;
|NOASM||Disable the use of inline assembly pragmas. Should be enabled on 32-bit [http://en.wikipedia.org/wiki/Pentium_compatible_processor Pentium compatible processors] only.||0 (disabled for x86_64, hardcoded, because the ASM is 32-bit)&lt;br /&gt;
|-&lt;br /&gt;
|LINKED_GTK||Enable compile-time linkage to GTK+.||0&lt;br /&gt;
|-&lt;br /&gt;
|WITHOUT_GTK||Do not compile GTK+ code.||0&lt;br /&gt;
|-&lt;br /&gt;
|BUILD32_ON_64||||0&lt;br /&gt;
|-&lt;br /&gt;
|NEDMALLOC||Use nedmalloc instead of malloc().||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBPNG||Compile with libpng (used to make screenshots in the PNG format). This may or may not require libz.||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBVPX||VP8 video codec used as an alternative to the ANM file format (only works if compiled with OpenGL support).||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Debugging/Build options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Options!!width=&amp;quot;70%&amp;quot;|Description!!width=&amp;quot;15%&amp;quot;|Default value&lt;br /&gt;
|-&lt;br /&gt;
|RELEASE||No debugging.||1&lt;br /&gt;
|-&lt;br /&gt;
|DEBUGANYWAY||Include debug symbols even when generating release code. The following arrays be allocated statically: spriteext, spritesmooth, sector, wall, sprite, tsprite, while necessarily disabling the clipshape feature (because it relies on setting sector/wall to different malloc&#039;d block temporarily). Really only useful with CC=clang.||0&lt;br /&gt;
|-&lt;br /&gt;
|KRANDDEBUG||Include logging of krand() calls for debugging the demo system.||0&lt;br /&gt;
|-&lt;br /&gt;
|EFENCE||Compile with Electric Fence for malloc() debugging.||0&lt;br /&gt;
|-&lt;br /&gt;
|DMALLOC||Compile with dmalloc for malloc() debugging.||0&lt;br /&gt;
|-&lt;br /&gt;
|OPTLEVEL||GCC optimization strategy. Values above 2 can cause crashes.||2&lt;br /&gt;
|-&lt;br /&gt;
|ARCH||Define options specific to the CPU architecture.||empty (except for i686)&lt;br /&gt;
|-&lt;br /&gt;
|PROFILER||||0&lt;br /&gt;
|-&lt;br /&gt;
|MUDFLAP||||0&lt;br /&gt;
|-&lt;br /&gt;
|LTO||Enable link-time optimization, for GCC 4.5 and up.||0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
&lt;br /&gt;
= Run the game! =&lt;br /&gt;
You need to have the original Duke Nukem 3D files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymost High Resolution Pack] you can pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g duke3d_hrp.zip polymost_hrp_update-*.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you can pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g polymer_hrp.zip polymer_upd.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that &#039;&#039;polymer_upd.zip&#039;&#039; may not be available. It is also possbile to add additional packs such as remade music and Z-Pack.&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g /path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=10340</id>
		<title>APT repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=10340"/>
		<updated>2012-03-09T07:31:41Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Undo revision 10326 by 98.208.156.143. Why to add a space ?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EDuke32 can be installed from a repository for Debian and Ubuntu Linux.&lt;br /&gt;
&lt;br /&gt;
Just add the following lines which match with your version in an additional sources.list file such as &#039;&#039;/etc/apt/sources.list.d/eduke32.list&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Or, to do this quickly you can copy/paste both lines at one time in a terminal :&lt;br /&gt;
&amp;lt;pre&amp;gt;echo -e &amp;quot;deb http://apt.duke4.net $(lsb_release -cs) main\n\&lt;br /&gt;
deb-src http://apt.duke4.net $(lsb_release -cs) main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/eduke32.list&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ubuntu repositories =&lt;br /&gt;
&#039;&#039;&#039;Important&#039;&#039;&#039; : Ubuntu users must activate the &#039;&#039;universe&#039;&#039; [https://help.ubuntu.com/community/Repositories/Ubuntu repository] before installing EDuke32.&lt;br /&gt;
&lt;br /&gt;
== Oneiric Ocelot ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net oneiric main&lt;br /&gt;
deb-src http://apt.duke4.net oneiric main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Natty Narwhal ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net natty main&lt;br /&gt;
deb-src http://apt.duke4.net natty main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Maverick Meerkat ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net maverick main&lt;br /&gt;
deb-src http://apt.duke4.net maverick main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lucid Lynx ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net lucid main&lt;br /&gt;
deb-src http://apt.duke4.net lucid main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Debian repositories =&lt;br /&gt;
== Sid ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net sid main&lt;br /&gt;
deb-src http://apt.duke4.net sid main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wheezy ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net wheezy main&lt;br /&gt;
deb-src http://apt.duke4.net wheezy main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Squeeze ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net squeeze main&lt;br /&gt;
deb-src http://apt.duke4.net squeeze main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Secure APT =&lt;br /&gt;
You can import the [http://apt.duke4.net/key/eduke32.gpg GPG public key] to authenticate downloaded packages :&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -q http://apt.duke4.net/key/eduke32.gpg -O- | sudo apt-key add -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= About packages =&lt;br /&gt;
Packages are available for x86 and x86-64 architectures :&lt;br /&gt;
* &#039;&#039;&#039;eduke32&#039;&#039;&#039; : Open source enhanced port of the game Duke Nukem 3D.&lt;br /&gt;
* &#039;&#039;&#039;mapster32&#039;&#039;&#039; : OpenGL maps editor for EDuke32.&lt;br /&gt;
* &#039;&#039;&#039;duke3d-shareware&#039;&#039;&#039; : Duke Nukem 3D shareware files v1.3d.&lt;br /&gt;
* &#039;&#039;&#039;build-engine-utils&#039;&#039;&#039; : Collection of tools to manage the content of the Build engine based games.&lt;br /&gt;
&lt;br /&gt;
== Install EDuke32 ==&lt;br /&gt;
Run your packages manager and search &amp;quot;eduke32&amp;quot; or in command-line interface, type :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install eduke32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install a different version of a package ==&lt;br /&gt;
You may need to install a different version of a package, for that you can do :&lt;br /&gt;
* &#039;&#039;&#039;In command-line interface&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install eduke32=[version]&amp;lt;/pre&amp;gt;&lt;br /&gt;
example : &lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install eduke32=2.0.0devel.20110131.r1786-1&amp;lt;/pre&amp;gt;&lt;br /&gt;
The following command list all available versions for the eduke32 package : &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-cache policy eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;With Synaptic&#039;&#039;&#039; : search and select &amp;quot;eduke32&amp;quot; -&amp;gt; go in the &amp;quot;Package&amp;quot; menu -&amp;gt; &amp;quot;Force Version&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;With PackageKit&#039;&#039;&#039; : search &amp;quot;eduke32&amp;quot;, you will see several versions for EDuke32, install the one that you want.&lt;br /&gt;
&lt;br /&gt;
== High Resolution Pack ==&lt;br /&gt;
All HRP files can be found at [http://hrp.duke4.net hrp.duke4.net].&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=10332</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=10332"/>
		<updated>2012-03-08T07:55:45Z</updated>

		<summary type="html">&lt;p&gt;Bioman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. The shareware version can be found [http://www.3drealms.com/duke3d/ here]&lt;br /&gt;
* Proper 3D acceleration drivers. NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* Proper MIDI install. The EDuke32 will appear to &amp;quot;randomly&amp;quot; crash without one. Use &#039;&#039;timidity&#039;&#039; for an easy software midi solution.&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
* Current version (You need to install the &#039;&#039;subversion&#039;&#039; program) : &lt;br /&gt;
&amp;lt;pre&amp;gt;svn co https://eduke32.svn.sourceforge.net/svnroot/eduke32/polymer/eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis Source tarballs] (Lite subversion snapshots, it does not include metadata, Apple compiled libraries, third-party jaudiolib and Photoshop files).&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis/old/ Old] and [http://dukeworld.duke4.net/eduke32/old_versions/source_code/ Older versions].&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* LibStdc++ (or LibSupc++, the cut down version. These might not be necessary at all, try commenting out &#039;-lsupc++&#039; in build/Makefile.shared)&lt;br /&gt;
* Nasm (optional)&lt;br /&gt;
* LibGL and LibGLU (optional)&lt;br /&gt;
* LibSDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* LibSDL Mixer &amp;gt; 1.2.6&lt;br /&gt;
* LibVorbis &amp;gt;= 1.1.2&lt;br /&gt;
* LibPNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
* LibVPX &amp;gt;= 0.9.6 (optional)&lt;br /&gt;
* LibGTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Debian / Ubuntu&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev libsdl-mixer1.2-dev libvorbis-dev libpng12-dev libvpx-dev libgtk2.0-dev timidity freepats&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Fedora 14-16&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install SDL-devel SDL_mixer SDL_mixer-devel SDL_image-devel nasm libstdc++-devel libstdc++-static libpng-devel libvpx-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build the EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.X, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options during the build. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Various options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|PRETTY_OUTPUT||Use colored output.||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Engine options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|USE_OPENGL||Enable basic OpenGL Polymost renderer.||1&lt;br /&gt;
|-&lt;br /&gt;
|POLYMER||Enable fancy Polymer renderer.||1&lt;br /&gt;
|-&lt;br /&gt;
|NOASM||Disable the use of inline assembly pragmas. Should be enabled on 32-bit [http://en.wikipedia.org/wiki/Pentium_compatible_processor Pentium compatible processors] only.||0 (disabled for x86_64, hardcoded)&lt;br /&gt;
|-&lt;br /&gt;
|LINKED_GTK||Enable compile-time linkage to GTK+.||0&lt;br /&gt;
|-&lt;br /&gt;
|WITHOUT_GTK||Do not compile GTK+ code.||0&lt;br /&gt;
|-&lt;br /&gt;
|BUILD32_ON_64||||0&lt;br /&gt;
|-&lt;br /&gt;
|NEDMALLOC||Use nedmalloc instead of malloc().||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBPNG||Compile with libpng (used to make screenshots in the PNG format).||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBVPX||VP8 video codec used as an alternative to the ANM file format (only works if compiled with OpenGL support).||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Debugging/Build options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|RELEASE||No debugging.||1&lt;br /&gt;
|-&lt;br /&gt;
|DEBUGANYWAY||Include debug symbols even when generating release code.||0&lt;br /&gt;
|-&lt;br /&gt;
|KRANDDEBUG||Include logging of krand() calls for debugging the demo system.||0&lt;br /&gt;
|-&lt;br /&gt;
|EFENCE||Compile with Electric Fence for malloc() debugging.||0&lt;br /&gt;
|-&lt;br /&gt;
|DMALLOC||Compile with dmalloc for malloc() debugging.||0&lt;br /&gt;
|-&lt;br /&gt;
|OPTLEVEL||GCC optimization strategy.||2&lt;br /&gt;
|-&lt;br /&gt;
|ARCH||Define options specific to the CPU architecture.||empty (except for i686)&lt;br /&gt;
|-&lt;br /&gt;
|PROFILER||||0&lt;br /&gt;
|-&lt;br /&gt;
|MUDFLAP||||0&lt;br /&gt;
|-&lt;br /&gt;
|LTO||Enable link-time optimization, for GCC 4.5 and up.||0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
&lt;br /&gt;
= Run the game! =&lt;br /&gt;
You need to have the original Duke Nukem 3D files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymost High Resolution Pack] you can pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g duke3d_hrp.zip polymost_hrp_update-*.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you can pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g polymer_hrp.zip polymer_upd.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that &#039;&#039;polymer_upd.zip&#039;&#039; may not be available. It is also possbile to add additional packs such as remade music and Z-Pack.&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g /path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=10331</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=10331"/>
		<updated>2012-03-08T07:51:17Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Added some information about options&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. The shareware version can be found [http://www.3drealms.com/duke3d/ here]&lt;br /&gt;
* Proper 3D acceleration drivers. NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* Proper MIDI install. The EDuke32 will appear to &amp;quot;randomly&amp;quot; crash without one. Use &#039;&#039;timidity&#039;&#039; for an easy software midi solution.&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
* Current version (You need to install the &#039;&#039;subversion&#039;&#039; program) : &lt;br /&gt;
&amp;lt;pre&amp;gt;svn co https://eduke32.svn.sourceforge.net/svnroot/eduke32/polymer/eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis Source tarballs] (Lite subversion snapshots, it does not include metadata, Apple compiled libraries, third-party jaudiolib and Photoshop files).&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis/old/ Old] and [http://dukeworld.duke4.net/eduke32/old_versions/source_code/ Older versions].&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* LibStdc++ (or LibSupc++, the cut down version. These might not be necessary at all, try commenting out &#039;-lsupc++&#039; in build/Makefile.shared)&lt;br /&gt;
* Nasm (optional)&lt;br /&gt;
* LibGL and LibGLU (optional)&lt;br /&gt;
* LibSDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* LibSDL Mixer &amp;gt; 1.2.6&lt;br /&gt;
* LibVorbis &amp;gt;= 1.1.2&lt;br /&gt;
* LibPNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
* LibVPX &amp;gt;= 0.9.6 (optional)&lt;br /&gt;
* LibGTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Debian / Ubuntu&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev libsdl-mixer1.2-dev libvorbis-dev libpng12-dev libvpx-dev libgtk2.0-dev timidity freepats&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Fedora 14-16&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install SDL-devel SDL_mixer SDL_mixer-devel SDL_image-devel nasm libstdc++-devel libstdc++-static libpng-devel libvpx-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build the EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.X, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options during the build. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Various options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|PRETTY_OUTPUT||Use colored output.||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Engine options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|USE_OPENGL||Enable basic OpenGL Polymost renderer.||1&lt;br /&gt;
|-&lt;br /&gt;
|POLYMER||Enable fancy Polymer renderer.||1&lt;br /&gt;
|-&lt;br /&gt;
|NOASM||Disable the use of inline assembly pragmas. Should be enabled on 32-bit [http://en.wikipedia.org/wiki/Pentium_compatible_processor Pentium compatible processors] only.||0 (disabled for x86_64, hardcoded)&lt;br /&gt;
|-&lt;br /&gt;
|LINKED_GTK||Enable compile-time linkage to GTK+.||0&lt;br /&gt;
|-&lt;br /&gt;
|WITHOUT_GTK||Do not compile GTK+ code.||0&lt;br /&gt;
|-&lt;br /&gt;
|BUILD32_ON_64||||0&lt;br /&gt;
|-&lt;br /&gt;
|NEDMALLOC||Use nedmalloc instead of malloc().||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBPNG||Compile with libpng (used to make screenshots in the PNG format).||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBVPX||VP8 video codec used as an alternative to the ANM file format (only works if compiled with OpenGL support).||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Debugging/Build options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|RELEASE||No debugging.||1&lt;br /&gt;
|-&lt;br /&gt;
|DEBUGANYWAY||Include debug symbols even when generating release code.||0&lt;br /&gt;
|-&lt;br /&gt;
|KRANDDEBUG||Include logging of krand() calls for debugging the demo system.||0&lt;br /&gt;
|-&lt;br /&gt;
|EFENCE||Compile with Electric Fence for malloc() debugging.||0&lt;br /&gt;
|-&lt;br /&gt;
|DMALLOC||Compile with dmalloc for malloc() debugging.||0&lt;br /&gt;
|-&lt;br /&gt;
|OPTLEVEL||GCC optimization strategy.||2&lt;br /&gt;
|-&lt;br /&gt;
|ARCH||Define options specific to the CPU architecture.||empty (except for i686)&lt;br /&gt;
|-&lt;br /&gt;
|PROFILER||||0&lt;br /&gt;
|-&lt;br /&gt;
|MUDFLAP||||0&lt;br /&gt;
|-&lt;br /&gt;
|LTO||Enable link-time optimization, for GCC 4.5 and up.||0&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;ref&amp;gt;ARCH=-march=pentium3 -mtune=generic -mmmx&amp;lt;/ref&amp;gt;&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
&lt;br /&gt;
= Run the game! =&lt;br /&gt;
You need to have the original Duke Nukem 3D files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymost High Resolution Pack] you can pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g duke3d_hrp.zip polymost_hrp_update-*.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you can pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g polymer_hrp.zip polymer_upd.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that &#039;&#039;polymer_upd.zip&#039;&#039; may not be available. It is also possbile to add additional packs such as remade music and Z-Pack.&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g /path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=10220</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=10220"/>
		<updated>2012-02-20T20:23:41Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Update: launch the game with the Polymost HRP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. The shareware version can be found [http://www.3drealms.com/duke3d/ here]&lt;br /&gt;
* Proper 3D acceleration drivers. NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* Proper MIDI install. The EDuke32 will appear to &amp;quot;randomly&amp;quot; crash without one. Use &#039;&#039;timidity&#039;&#039; for an easy software midi solution.&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
* Current version (You need to install the &#039;&#039;subversion&#039;&#039; program) : &lt;br /&gt;
&amp;lt;pre&amp;gt;svn co https://eduke32.svn.sourceforge.net/svnroot/eduke32/polymer/eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis Source tarballs] (Lite subversion snapshots, it does not include metadata, Apple compiled libraries, third-party jaudiolib and Photoshop files).&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis/old/ Old] and [http://dukeworld.duke4.net/eduke32/old_versions/source_code/ Older versions].&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* LibStdc++ (or LibSupc++, the cut down version. These might not be necessary at all, try commenting out &#039;-lsupc++&#039; in build/Makefile.shared)&lt;br /&gt;
* Nasm (optional)&lt;br /&gt;
* LibGL and LibGLU (optional)&lt;br /&gt;
* LibSDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* LibSDL Mixer &amp;gt; 1.2.6&lt;br /&gt;
* LibVorbis &amp;gt;= 1.1.2&lt;br /&gt;
* LibPNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
* LibVPX &amp;gt;= 0.9.6 (optional)&lt;br /&gt;
* LibGTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Debian / Ubuntu&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev libsdl-mixer1.2-dev libvorbis-dev libpng12-dev libvpx-dev libgtk2.0-dev timidity freepats&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Fedora 14-16&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install SDL-devel SDL_mixer SDL_mixer-devel SDL_image-devel nasm libstdc++-devel libstdc++-static libpng-devel libvpx-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build the EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.X, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options during the build. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;45%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Various options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|PRETTY_OUTPUT||use colored output||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;45%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Engine options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|USE_OPENGL||enable basic OpenGL Polymost renderer||1&lt;br /&gt;
|-&lt;br /&gt;
|POLYMER||enable fancy Polymer renderer||1&lt;br /&gt;
|-&lt;br /&gt;
|NOASM||disable the use of inline assembly pragmas||0&lt;br /&gt;
|-&lt;br /&gt;
|LINKED_GTK||enable compile-time linkage to GTK+||0&lt;br /&gt;
|-&lt;br /&gt;
|WITHOUT_GTK||do not compile GTK+ code||0&lt;br /&gt;
|-&lt;br /&gt;
|BUILD32_ON_64||||0&lt;br /&gt;
|-&lt;br /&gt;
|NEDMALLOC||use nedmalloc instead of malloc()||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBPNG||compile with libpng (used to make screenshots in the PNG format)||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBVPX||VP8 video codec used as an alternative to the ANM file format (only works if compiled with OpenGL support)||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;45%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Debugging/Build options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|RELEASE||no debugging||1&lt;br /&gt;
|-&lt;br /&gt;
|DEBUGANYWAY||include debug symbols even when generating release code||0&lt;br /&gt;
|-&lt;br /&gt;
|KRANDDEBUG||include logging of krand() calls for debugging the demo system||0&lt;br /&gt;
|-&lt;br /&gt;
|EFENCE||compile with Electric Fence for malloc() debugging||0&lt;br /&gt;
|-&lt;br /&gt;
|DMALLOC||compile with dmalloc for malloc() debugging||0&lt;br /&gt;
|-&lt;br /&gt;
|OPTLEVEL||GCC optimization strategy||2&lt;br /&gt;
|-&lt;br /&gt;
|PROFILER||||0&lt;br /&gt;
|-&lt;br /&gt;
|MUDFLAP||||0&lt;br /&gt;
|-&lt;br /&gt;
|LTO||enable link-time optimization, for GCC 4.5 and up||0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
&lt;br /&gt;
= Run the game! =&lt;br /&gt;
You need to have the original Duke Nukem 3D files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymost High Resolution Pack] you can pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g duke3d_hrp.zip polymost_hrp_update-*.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you can pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g polymer_hrp.zip polymer_upd.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that &#039;&#039;polymer_upd.zip&#039;&#039; may not be available. It is also possbile to add additional packs such as remade music and Z-Pack.&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g /path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=10176</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=10176"/>
		<updated>2012-01-22T05:52:09Z</updated>

		<summary type="html">&lt;p&gt;Bioman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. The shareware version can be found [http://www.3drealms.com/duke3d/ here]&lt;br /&gt;
* Proper 3D acceleration drivers. NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* Proper MIDI install. The EDuke32 will appear to &amp;quot;randomly&amp;quot; crash without one. Use &#039;&#039;timidity&#039;&#039; for an easy software midi solution.&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
* Current version (You need to install the &#039;&#039;subversion&#039;&#039; program) : &lt;br /&gt;
&amp;lt;pre&amp;gt;svn co https://eduke32.svn.sourceforge.net/svnroot/eduke32/polymer/eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis Source tarballs] (Lite subversion snapshots, it does not include metadata, Apple compiled libraries, third-party jaudiolib and Photoshop files).&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis/old/ Old] and [http://dukeworld.duke4.net/eduke32/old_versions/source_code/ Older versions].&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* LibStdc++ (or LibSupc++, the cut down version. These might not be necessary at all, try commenting out &#039;-lsupc++&#039; in build/Makefile.shared)&lt;br /&gt;
* Nasm (optional)&lt;br /&gt;
* LibGL and LibGLU (optional)&lt;br /&gt;
* LibSDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* LibSDL Mixer &amp;gt; 1.2.6&lt;br /&gt;
* LibVorbis &amp;gt;= 1.1.2&lt;br /&gt;
* LibPNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
* LibVPX &amp;gt;= 0.9.6 (optional)&lt;br /&gt;
* LibGTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Debian / Ubuntu&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev libsdl-mixer1.2-dev libvorbis-dev libpng12-dev libvpx-dev libgtk2.0-dev timidity freepats&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Fedora 14-16&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install SDL-devel SDL_mixer SDL_mixer-devel SDL_image-devel nasm libstdc++-devel libstdc++-static libpng-devel libvpx-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build the EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.X, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options during the build. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;45%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Various options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|PRETTY_OUTPUT||use colored output||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;45%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Engine options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|USE_OPENGL||enable basic OpenGL Polymost renderer||1&lt;br /&gt;
|-&lt;br /&gt;
|POLYMER||enable fancy Polymer renderer||1&lt;br /&gt;
|-&lt;br /&gt;
|NOASM||disable the use of inline assembly pragmas||0&lt;br /&gt;
|-&lt;br /&gt;
|LINKED_GTK||enable compile-time linkage to GTK+||0&lt;br /&gt;
|-&lt;br /&gt;
|WITHOUT_GTK||do not compile GTK+ code||0&lt;br /&gt;
|-&lt;br /&gt;
|BUILD32_ON_64||||0&lt;br /&gt;
|-&lt;br /&gt;
|NEDMALLOC||use nedmalloc instead of malloc()||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBPNG||compile with libpng (used to make screenshots in the PNG format)||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBVPX||VP8 video codec used as an alternative to the ANM file format (only works if compiled with OpenGL support)||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;45%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Debugging/Build options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|RELEASE||no debugging||1&lt;br /&gt;
|-&lt;br /&gt;
|DEBUGANYWAY||include debug symbols even when generating release code||0&lt;br /&gt;
|-&lt;br /&gt;
|KRANDDEBUG||include logging of krand() calls for debugging the demo system||0&lt;br /&gt;
|-&lt;br /&gt;
|EFENCE||compile with Electric Fence for malloc() debugging||0&lt;br /&gt;
|-&lt;br /&gt;
|DMALLOC||compile with dmalloc for malloc() debugging||0&lt;br /&gt;
|-&lt;br /&gt;
|OPTLEVEL||GCC optimization strategy||2&lt;br /&gt;
|-&lt;br /&gt;
|PROFILER||||0&lt;br /&gt;
|-&lt;br /&gt;
|MUDFLAP||||0&lt;br /&gt;
|-&lt;br /&gt;
|LTO||enable link-time optimization, for GCC 4.5 and up||0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
&lt;br /&gt;
== Use the game files ==&lt;br /&gt;
You need to have the original Duke Nukem files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
== Run the game! ==&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net High Resolution Pack] you can pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g duke3d_hrp.zip hrp_update.zip maphacks.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you can pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g polymer_hrp.zip polymer_upd.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that &#039;&#039;polymer_upd.zip&#039;&#039; may not be available.&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g /path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=10133</id>
		<title>APT repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=10133"/>
		<updated>2012-01-17T01:10:04Z</updated>

		<summary type="html">&lt;p&gt;Bioman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EDuke32 can be installed from a repository for Debian and Ubuntu Linux.&lt;br /&gt;
&lt;br /&gt;
Just add the following lines which match with your version in an additional sources.list file such as &#039;&#039;/etc/apt/sources.list.d/eduke32.list&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Or, to do this quickly you can copy/paste both lines at one time in a terminal :&lt;br /&gt;
&amp;lt;pre&amp;gt;echo -e &amp;quot;deb http://apt.duke4.net $(lsb_release -cs) main\n\&lt;br /&gt;
deb-src http://apt.duke4.net $(lsb_release -cs) main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/eduke32.list&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ubuntu repositories =&lt;br /&gt;
&#039;&#039;&#039;Important&#039;&#039;&#039; : Ubuntu users must activate the &#039;&#039;universe&#039;&#039; [https://help.ubuntu.com/community/Repositories/Ubuntu repository] before installing EDuke32.&lt;br /&gt;
&lt;br /&gt;
== Oneiric Ocelot ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net oneiric main&lt;br /&gt;
deb-src http://apt.duke4.net oneiric main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Natty Narwhal ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net natty main&lt;br /&gt;
deb-src http://apt.duke4.net natty main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Maverick Meerkat ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net maverick main&lt;br /&gt;
deb-src http://apt.duke4.net maverick main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lucid Lynx ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net lucid main&lt;br /&gt;
deb-src http://apt.duke4.net lucid main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Debian repositories =&lt;br /&gt;
== Sid ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net sid main&lt;br /&gt;
deb-src http://apt.duke4.net sid main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wheezy ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net wheezy main&lt;br /&gt;
deb-src http://apt.duke4.net wheezy main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Squeeze ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net squeeze main&lt;br /&gt;
deb-src http://apt.duke4.net squeeze main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Secure APT =&lt;br /&gt;
You can import the [http://apt.duke4.net/key/eduke32.gpg GPG public key] to authenticate downloaded packages :&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -q http://apt.duke4.net/key/eduke32.gpg -O- | sudo apt-key add -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= About packages =&lt;br /&gt;
Packages are available for x86 and x86-64 architectures :&lt;br /&gt;
* &#039;&#039;&#039;eduke32&#039;&#039;&#039; : Open source enhanced port of the game Duke Nukem 3D.&lt;br /&gt;
* &#039;&#039;&#039;mapster32&#039;&#039;&#039; : OpenGL maps editor for EDuke32.&lt;br /&gt;
* &#039;&#039;&#039;duke3d-shareware&#039;&#039;&#039; : Duke Nukem 3D shareware files v1.3d.&lt;br /&gt;
* &#039;&#039;&#039;build-engine-utils&#039;&#039;&#039; : Collection of tools to manage the content of the Build engine based games.&lt;br /&gt;
&lt;br /&gt;
== Install EDuke32 ==&lt;br /&gt;
Run your packages manager and search &amp;quot;eduke32&amp;quot; or in command-line interface, type :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install eduke32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install a different version of a package ==&lt;br /&gt;
You may need to install a different version of a package, for that you can do :&lt;br /&gt;
* &#039;&#039;&#039;In command-line interface&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install eduke32=[version]&amp;lt;/pre&amp;gt;&lt;br /&gt;
example : &lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install eduke32=2.0.0devel.20110131.r1786-1&amp;lt;/pre&amp;gt;&lt;br /&gt;
The following command list all available versions for the eduke32 package : &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-cache policy eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;With Synaptic&#039;&#039;&#039; : search and select &amp;quot;eduke32&amp;quot; -&amp;gt; go in the &amp;quot;Package&amp;quot; menu -&amp;gt; &amp;quot;Force Version&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;With PackageKit&#039;&#039;&#039; : search &amp;quot;eduke32&amp;quot;, you will see several versions for EDuke32, install the one that you want.&lt;br /&gt;
&lt;br /&gt;
== High Resolution Pack ==&lt;br /&gt;
All HRP files can be found at [http://hrp.duke4.net hrp.duke4.net].&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=10132</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=10132"/>
		<updated>2012-01-17T01:04:48Z</updated>

		<summary type="html">&lt;p&gt;Bioman: polymer_mhk.zip no longer needed + added DMALLOC option&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. The shareware version can be found [http://www.3drealms.com/duke3d/ here]&lt;br /&gt;
* Proper 3D acceleration drivers. NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* Proper MIDI install. The EDuke32 will appear to &amp;quot;randomly&amp;quot; crash without one. Use &#039;&#039;timidity&#039;&#039; for an easy software midi solution.&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
* Current version (You need to install the &#039;&#039;subversion&#039;&#039; program) : &lt;br /&gt;
&amp;lt;pre&amp;gt;svn co https://eduke32.svn.sourceforge.net/svnroot/eduke32/polymer/eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis Source tarballs] (Lite subversion snapshots, it does not include metadata, Apple compiled libraries, third-party jaudiolib and Photoshop files).&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis/old/ Old] and [http://dukeworld.duke4.net/eduke32/old_versions/source_code/ Older versions].&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* Nasm (optional)&lt;br /&gt;
* LibStdc++ [or LibSupc++, the cut down version. These might not be necessary at all, try commenting out &#039;-lsupc++&#039; in build/Makefile.shared]&lt;br /&gt;
* LibGL and LibGLU (optional)&lt;br /&gt;
* LibSDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* LibSDL Mixer &amp;gt; 1.2.6&lt;br /&gt;
* LibVorbis &amp;gt;= 1.1.2&lt;br /&gt;
* LibPNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
* LibVPX &amp;gt;= 0.9.6 (optional)&lt;br /&gt;
* LibGTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Debian / Ubuntu&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev libsdl-mixer1.2-dev libvorbis-dev libpng12-dev libvpx-dev libgtk2.0-dev timidity freepats&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Fedora 14-16&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install SDL-devel SDL_mixer SDL_mixer-devel SDL_image-devel nasm libstdc++-devel libstdc++-static libpng-devel libvpx-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build the EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.X, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options during the build. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;45%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Various options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|PRETTY_OUTPUT||use colored output||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;45%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Engine options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|USE_OPENGL||enable basic OpenGL Polymost renderer||1&lt;br /&gt;
|-&lt;br /&gt;
|POLYMER||enable fancy Polymer renderer||1&lt;br /&gt;
|-&lt;br /&gt;
|NOASM||disable the use of inline assembly pragmas||0&lt;br /&gt;
|-&lt;br /&gt;
|LINKED_GTK||enable compile-time linkage to GTK+||0&lt;br /&gt;
|-&lt;br /&gt;
|WITHOUT_GTK||do not compile GTK+ code||0&lt;br /&gt;
|-&lt;br /&gt;
|BUILD32_ON_64||||0&lt;br /&gt;
|-&lt;br /&gt;
|NEDMALLOC||use nedmalloc instead of malloc()||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBPNG||compile with libpng (used to make screenshots in the PNG format)||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBVPX||VP8 video codec used as an alternative to the ANM file format (only works if compiled with OpenGL support)||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;45%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Debugging/Build options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|RELEASE||no debugging||1&lt;br /&gt;
|-&lt;br /&gt;
|DEBUGANYWAY||include debug symbols even when generating release code||0&lt;br /&gt;
|-&lt;br /&gt;
|KRANDDEBUG||include logging of krand() calls for debugging the demo system||0&lt;br /&gt;
|-&lt;br /&gt;
|EFENCE||compile with Electric Fence for malloc() debugging||0&lt;br /&gt;
|-&lt;br /&gt;
|DMALLOC||compile with dmalloc for malloc() debugging||0&lt;br /&gt;
|-&lt;br /&gt;
|OPTLEVEL||GCC optimization strategy||2&lt;br /&gt;
|-&lt;br /&gt;
|PROFILER||||0&lt;br /&gt;
|-&lt;br /&gt;
|MUDFLAP||||0&lt;br /&gt;
|-&lt;br /&gt;
|LTO||enable link-time optimization, for GCC 4.5 and up||0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
&lt;br /&gt;
== Use the game files ==&lt;br /&gt;
You need to have the original Duke Nukem files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
== Run the game! ==&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net High Resolution Pack] you can pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g duke3d_hrp.zip hrp_update.zip maphacks.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you can pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g polymer_hrp.zip polymer_upd.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that &#039;&#039;polymer_upd.zip&#039;&#039; may not be available.&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g /path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=10013</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=10013"/>
		<updated>2011-11-09T05:31:03Z</updated>

		<summary type="html">&lt;p&gt;Bioman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. The shareware version can be found [http://www.3drealms.com/duke3d/ here]&lt;br /&gt;
* Proper 3D acceleration drivers. NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* Proper MIDI install. The EDuke32 will appear to &amp;quot;randomly&amp;quot; crash without one. Use &#039;&#039;timidity&#039;&#039; for an easy software midi solution.&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
* Current version (You need to install the &#039;&#039;subversion&#039;&#039; program) : &lt;br /&gt;
&amp;lt;pre&amp;gt;svn co https://eduke32.svn.sourceforge.net/svnroot/eduke32/polymer/eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis Source tarballs] (Lite subversion snapshots, it does not include metadata, Apple compiled libraries, third-party jaudiolib and Photoshop files).&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis/old/ Old] and [http://dukeworld.duke4.net/eduke32/old_versions/source_code/ Older versions].&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* Nasm (optional)&lt;br /&gt;
* LibStdc++&lt;br /&gt;
* LibGL and LibGLU (optional)&lt;br /&gt;
* LibSDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* LibSDL Mixer &amp;gt; 1.2.6&lt;br /&gt;
* LibVorbis &amp;gt;= 1.1.2&lt;br /&gt;
* LibPNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
* LibVPX &amp;gt;= 0.9.6 (optional)&lt;br /&gt;
* LibGTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Debian / Ubuntu&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev libsdl-mixer1.2-dev libvorbis-dev libpng12-dev libvpx-dev libgtk2.0-dev timidity freepats&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Fedora 14&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install SDL-devel SDL_mixer SDL_mixer-devel SDL_image-devel nasm libstdc++-devel libstdc++-static libpng-devel libvpx-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build the EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.X, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options during the build. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;45%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Various options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|PRETTY_OUTPUT||use colored output||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;45%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Engine options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|USE_OPENGL||enable basic OpenGL Polymost renderer||1&lt;br /&gt;
|-&lt;br /&gt;
|POLYMER||enable fancy Polymer renderer||1&lt;br /&gt;
|-&lt;br /&gt;
|NOASM||disable the use of inline assembly pragmas||0&lt;br /&gt;
|-&lt;br /&gt;
|LINKED_GTK||enable compile-time linkage to GTK+||0&lt;br /&gt;
|-&lt;br /&gt;
|WITHOUT_GTK||do not compile GTK+ code||0&lt;br /&gt;
|-&lt;br /&gt;
|BUILD32_ON_64||||0&lt;br /&gt;
|-&lt;br /&gt;
|NEDMALLOC||use nedmalloc instead of malloc()||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBPNG||compile with libpng (used to make screenshots in the PNG format)||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBVPX||VP8 video codec used as an alternative to the ANM file format (only works if compiled with OpenGL support)||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;45%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Debugging/Build options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|RELEASE||no debugging||1&lt;br /&gt;
|-&lt;br /&gt;
|DEBUGANYWAY||include debug symbols even when generating release code||0&lt;br /&gt;
|-&lt;br /&gt;
|KRANDDEBUG||include logging of krand() calls for debugging the demo system||0&lt;br /&gt;
|-&lt;br /&gt;
|EFENCE||compile with Electric Fence for malloc() debugging||0&lt;br /&gt;
|-&lt;br /&gt;
|OPTLEVEL||GCC optimization strategy||2&lt;br /&gt;
|-&lt;br /&gt;
|PROFILER||||0&lt;br /&gt;
|-&lt;br /&gt;
|MUDFLAP||||0&lt;br /&gt;
|-&lt;br /&gt;
|LTO||enable link-time optimization, for GCC 4.5 and up||0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
&lt;br /&gt;
== Use the game files ==&lt;br /&gt;
You need to have the original Duke Nukem files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
== Run the game! ==&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net High Resolution Pack] you can pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g duke3d_hrp.zip hrp_update.zip maphacks.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you can pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g polymer_hrp.zip polymer_upd.zip polymer_mhk.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g /path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Packages&amp;diff=9983</id>
		<title>Packages</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Packages&amp;diff=9983"/>
		<updated>2011-10-10T09:28:12Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can found here some packages to play EDuke32 on your favorite system :&lt;br /&gt;
&lt;br /&gt;
* Debian and Ubuntu, [[APT repository | see APT repository]]&lt;br /&gt;
* Mandriva, [http://fr2.rpmfind.net/linux/rpm2html/search.php?query=eduke32 packages available from the official Non-free/Backports repository]&lt;br /&gt;
* Arch Linux, [http://aur.archlinux.org/packages.php?O=0&amp;amp;K=eduke32 PKGBUILDs available from the Arch User Repository (AUR)]&lt;br /&gt;
* openSUSE, [http://software.opensuse.org/search?q=eduke32&amp;amp;baseproject=openSUSE:Factory packages available from the official OBS Games repository]&lt;br /&gt;
* SliTaz GNU/Linux, [http://pkgs.slitaz.org/cooking/games.html#eduke32 package available from the Cooking repository]&lt;br /&gt;
* Puppy Linux and BrowserLinux, [http://www.murga-linux.com/puppy/viewtopic.php?t=48947 see here for PET packages]&lt;br /&gt;
* Gentoo Linux, [http://bugs.gentoo.org/show_bug.cgi?id=172183 see here for ebuilds]&lt;br /&gt;
* Slackware, [http://slackbuilds.org/repository/13.37/games/eduke32/ SlackBuild available at SlackBuilds.org]&lt;br /&gt;
* Dingux (for the Dingoo A320), [http://dingoowiki.com/index.php?title=Eduke32 has a compiled port]&lt;br /&gt;
* FreeBSD, [http://www.freebsd.org/cgi/cvsweb.cgi/ports/games/eduke32/ has a port]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=9982</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=9982"/>
		<updated>2011-10-10T09:07:24Z</updated>

		<summary type="html">&lt;p&gt;Bioman: USE_LIBVPX now set to 1 by default&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. The shareware version can be found [http://www.3drealms.com/duke3d/ here]&lt;br /&gt;
* Proper 3D acceleration drivers. NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* Proper MIDI install. The EDuke32 will appear to &amp;quot;randomly&amp;quot; crash without one. Use &#039;&#039;timidity&#039;&#039; for an easy software midi solution.&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
* Current version (You need to install the &#039;&#039;subversion&#039;&#039; program) : &lt;br /&gt;
&amp;lt;pre&amp;gt;svn co https://eduke32.svn.sourceforge.net/svnroot/eduke32/polymer/eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis Source tarballs] (Lite subversion snapshots, it does not include metadata, Apple compiled libraries, third-party jaudiolib and Photoshop files).&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis/old/ Old] and [http://dukeworld.duke4.net/eduke32/old_versions/source_code/ Older versions].&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* Nasm (optional)&lt;br /&gt;
* LibStdc++&lt;br /&gt;
* LibGL and LibGLU (optional)&lt;br /&gt;
* LibSDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* LibSDL Mixer &amp;gt; 1.2.6&lt;br /&gt;
* LibVorbis &amp;gt;= 1.1.2&lt;br /&gt;
* LibPNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
* LibVPX &amp;gt;= 0.9.0 (optional)&lt;br /&gt;
* LibGTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Debian / Ubuntu&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev libsdl-mixer1.2-dev libvorbis-dev libpng12-dev libvpx-dev libgtk2.0-dev timidity freepats&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Fedora 14&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install SDL-devel SDL_mixer SDL_mixer-devel SDL_image-devel nasm libstdc++-devel libstdc++-static libpng-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build the EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.X, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options during the build. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;45%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Various options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|PRETTY_OUTPUT||use colored output||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;45%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Engine options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|USE_OPENGL||enable basic OpenGL Polymost renderer||1&lt;br /&gt;
|-&lt;br /&gt;
|POLYMER||enable fancy Polymer renderer||1&lt;br /&gt;
|-&lt;br /&gt;
|NOASM||disable the use of inline assembly pragmas||0&lt;br /&gt;
|-&lt;br /&gt;
|LINKED_GTK||enable compile-time linkage to GTK+||0&lt;br /&gt;
|-&lt;br /&gt;
|WITHOUT_GTK||do not compile GTK+ code||0&lt;br /&gt;
|-&lt;br /&gt;
|BUILD32_ON_64||||0&lt;br /&gt;
|-&lt;br /&gt;
|NEDMALLOC||use nedmalloc instead of malloc()||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBPNG||compile with libpng (used to make screenshots in the PNG format)||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBVPX||VP8 video codec used as an alternative to the ANM file format (only works if compiled with OpenGL support)||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;45%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Debugging/Build options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|RELEASE||no debugging||1&lt;br /&gt;
|-&lt;br /&gt;
|DEBUGANYWAY||include debug symbols even when generating release code||0&lt;br /&gt;
|-&lt;br /&gt;
|KRANDDEBUG||include logging of krand() calls for debugging the demo system||0&lt;br /&gt;
|-&lt;br /&gt;
|EFENCE||compile with Electric Fence for malloc() debugging||0&lt;br /&gt;
|-&lt;br /&gt;
|OPTLEVEL||GCC optimization strategy||2&lt;br /&gt;
|-&lt;br /&gt;
|PROFILER||||0&lt;br /&gt;
|-&lt;br /&gt;
|MUDFLAP||||0&lt;br /&gt;
|-&lt;br /&gt;
|LTO||enable link-time optimization, for GCC 4.5 and up||0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
&lt;br /&gt;
== Use the game files ==&lt;br /&gt;
You need to have the original Duke Nukem files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
== Run the game! ==&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net High Resolution Pack] you need to pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g duke3d_hrp.zip hrp_update.zip maphacks.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you need to pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g polymer_hrp.zip polymer_upd.zip polymer_mhk.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g /path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=9981</id>
		<title>APT repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=9981"/>
		<updated>2011-10-10T09:05:21Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Remove Karmic, add Oneiric&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EDuke32 can be installed from a repository for Debian and Ubuntu Linux.&lt;br /&gt;
&lt;br /&gt;
Just add the following lines which match with your version in a custom sources.list file such as &#039;&#039;/etc/apt/sources.list.d/eduke32.list&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Or, to do this quickly you can just copy/paste both lines at one time in a terminal :&lt;br /&gt;
&amp;lt;pre&amp;gt;echo -e &amp;quot;deb http://apt.duke4.net $(lsb_release -cs) main\n\&lt;br /&gt;
deb-src http://apt.duke4.net $(lsb_release -cs) main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/eduke32.list&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ubuntu repositories =&lt;br /&gt;
&#039;&#039;&#039;Important&#039;&#039;&#039; : Ubuntu users must activate the &#039;&#039;universe&#039;&#039; [https://help.ubuntu.com/community/Repositories/Ubuntu repository] before installing EDuke32.&lt;br /&gt;
&lt;br /&gt;
== Oneiric Ocelot ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net oneiric main&lt;br /&gt;
deb-src http://apt.duke4.net oneiric main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Natty Narwhal ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net natty main&lt;br /&gt;
deb-src http://apt.duke4.net natty main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Maverick Meerkat ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net maverick main&lt;br /&gt;
deb-src http://apt.duke4.net maverick main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lucid Lynx ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net lucid main&lt;br /&gt;
deb-src http://apt.duke4.net lucid main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Debian repositories =&lt;br /&gt;
== Sid ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net sid main&lt;br /&gt;
deb-src http://apt.duke4.net sid main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wheezy ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net wheezy main&lt;br /&gt;
deb-src http://apt.duke4.net wheezy main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Squeeze ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net squeeze main&lt;br /&gt;
deb-src http://apt.duke4.net squeeze main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Secure APT =&lt;br /&gt;
You can import the [http://apt.duke4.net/key/eduke32.gpg GPG public key] to authenticate downloaded packages :&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -q http://apt.duke4.net/key/eduke32.gpg -O- | sudo apt-key add -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= About packages =&lt;br /&gt;
Packages are available for x86 and x86-64 architectures :&lt;br /&gt;
* &#039;&#039;&#039;eduke32&#039;&#039;&#039; : Open source enhanced port of the game Duke Nukem 3D.&lt;br /&gt;
* &#039;&#039;&#039;mapster32&#039;&#039;&#039; : OpenGL maps editor for EDuke32.&lt;br /&gt;
* &#039;&#039;&#039;duke3d-shareware&#039;&#039;&#039; : Duke Nukem 3D shareware files v1.3d.&lt;br /&gt;
* &#039;&#039;&#039;build-engine-utils&#039;&#039;&#039; : Collection of tools to manage the content of the Build engine based games.&lt;br /&gt;
&lt;br /&gt;
== Install EDuke32 ==&lt;br /&gt;
Run your packages manager and search &amp;quot;eduke32&amp;quot; or in command-line interface, type :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install eduke32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install a different version of a package ==&lt;br /&gt;
You may need to install a different version of a package, for that you can do :&lt;br /&gt;
* &#039;&#039;&#039;In command-line interface&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install eduke32=[version]&amp;lt;/pre&amp;gt;&lt;br /&gt;
example : &lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install eduke32=2.0.0devel.20110131.r1786-1&amp;lt;/pre&amp;gt;&lt;br /&gt;
The following command list all available versions for the eduke32 package : &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-cache policy eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;With Synaptic&#039;&#039;&#039; : search and select &amp;quot;eduke32&amp;quot; -&amp;gt; go in the &amp;quot;Package&amp;quot; menu -&amp;gt; &amp;quot;Force Version&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;With PackageKit&#039;&#039;&#039; : search &amp;quot;eduke32&amp;quot;, you will see several versions for EDuke32, install the one that you want.&lt;br /&gt;
&lt;br /&gt;
== High Resolution Pack ==&lt;br /&gt;
All HRP files can be found at [http://hrp.duke4.net hrp.duke4.net].&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=9953</id>
		<title>APT repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=9953"/>
		<updated>2011-09-16T15:49:13Z</updated>

		<summary type="html">&lt;p&gt;Bioman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EDuke32 can be installed from a repository for Debian and Ubuntu Linux.&lt;br /&gt;
&lt;br /&gt;
Just add the following lines which match with your version in a custom sources.list file such as &#039;&#039;/etc/apt/sources.list.d/eduke32.list&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Or, to do this quickly you can just copy/paste both lines at one time in a terminal :&lt;br /&gt;
&amp;lt;pre&amp;gt;echo -e &amp;quot;deb http://apt.duke4.net $(lsb_release -cs) main\n\&lt;br /&gt;
deb-src http://apt.duke4.net $(lsb_release -cs) main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/eduke32.list&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ubuntu repositories =&lt;br /&gt;
&#039;&#039;&#039;Important&#039;&#039;&#039; : Ubuntu users must activate the &#039;&#039;universe&#039;&#039; [https://help.ubuntu.com/community/Repositories/Ubuntu repository] before installing EDuke32.&lt;br /&gt;
&lt;br /&gt;
== Natty Narwhal ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net natty main&lt;br /&gt;
deb-src http://apt.duke4.net natty main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Maverick Meerkat ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net maverick main&lt;br /&gt;
deb-src http://apt.duke4.net maverick main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lucid Lynx ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net lucid main&lt;br /&gt;
deb-src http://apt.duke4.net lucid main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Karmic Koala ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net karmic main&lt;br /&gt;
deb-src http://apt.duke4.net karmic main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Debian repositories =&lt;br /&gt;
== Sid ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net sid main&lt;br /&gt;
deb-src http://apt.duke4.net sid main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wheezy ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net wheezy main&lt;br /&gt;
deb-src http://apt.duke4.net wheezy main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Squeeze ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net squeeze main&lt;br /&gt;
deb-src http://apt.duke4.net squeeze main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Secure APT =&lt;br /&gt;
You can import the [http://apt.duke4.net/key/eduke32.gpg GPG public key] to authenticate downloaded packages :&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -q http://apt.duke4.net/key/eduke32.gpg -O- | sudo apt-key add -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= About packages =&lt;br /&gt;
Packages are available for x86 and x86-64 architectures :&lt;br /&gt;
* &#039;&#039;&#039;eduke32&#039;&#039;&#039; : Open source enhanced port of the game Duke Nukem 3D.&lt;br /&gt;
* &#039;&#039;&#039;mapster32&#039;&#039;&#039; : OpenGL maps editor for EDuke32.&lt;br /&gt;
* &#039;&#039;&#039;duke3d-shareware&#039;&#039;&#039; : Duke Nukem 3D shareware files v1.3d.&lt;br /&gt;
* &#039;&#039;&#039;build-engine-utils&#039;&#039;&#039; : Collection of tools to manage the content of the Build engine based games.&lt;br /&gt;
&lt;br /&gt;
== Install EDuke32 ==&lt;br /&gt;
Run your packages manager and search &amp;quot;eduke32&amp;quot; or in command-line interface, type :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install eduke32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install a different version of a package ==&lt;br /&gt;
You may need to install a different version of a package, for that you can do :&lt;br /&gt;
* &#039;&#039;&#039;In command-line interface&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install eduke32=[version]&amp;lt;/pre&amp;gt;&lt;br /&gt;
example : &lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install eduke32=2.0.0devel.20110131.r1786-1&amp;lt;/pre&amp;gt;&lt;br /&gt;
The following command list all available versions for the eduke32 package : &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-cache policy eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;With Synaptic&#039;&#039;&#039; : search and select &amp;quot;eduke32&amp;quot; -&amp;gt; go in the &amp;quot;Package&amp;quot; menu -&amp;gt; &amp;quot;Force Version&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;With PackageKit&#039;&#039;&#039; : search &amp;quot;eduke32&amp;quot;, you will see several versions for EDuke32, install the one that you want.&lt;br /&gt;
&lt;br /&gt;
== High Resolution Pack ==&lt;br /&gt;
All HRP files can be found at [http://hrp.duke4.net hrp.duke4.net].&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=9952</id>
		<title>APT repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=9952"/>
		<updated>2011-09-15T20:30:10Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Update #3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EDuke32 can be installed from a repository for Debian and Ubuntu Linux.&lt;br /&gt;
&lt;br /&gt;
Just add the following lines which match with your version in a custom sources.list file such as &#039;&#039;/etc/apt/sources.list.d/eduke32.list&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Or, do to do this quickly you can just copy/paste both lines at one time into a terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo -e &amp;quot;deb http://apt.duke4.net $(lsb_release -cs) main\n\&lt;br /&gt;
deb-src http://apt.duke4.net $(lsb_release -cs) main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/eduke32.list&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ubuntu repositories =&lt;br /&gt;
&#039;&#039;&#039;Important&#039;&#039;&#039; : Ubuntu users must activate the &#039;&#039;universe&#039;&#039; [https://help.ubuntu.com/community/Repositories/Ubuntu repository] before installing EDuke32.&lt;br /&gt;
&lt;br /&gt;
== Natty Narwhal ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net natty main&lt;br /&gt;
deb-src http://apt.duke4.net natty main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Maverick Meerkat ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net maverick main&lt;br /&gt;
deb-src http://apt.duke4.net maverick main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lucid Lynx ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net lucid main&lt;br /&gt;
deb-src http://apt.duke4.net lucid main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Karmic Koala ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net karmic main&lt;br /&gt;
deb-src http://apt.duke4.net karmic main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Debian repositories =&lt;br /&gt;
== Sid ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net sid main&lt;br /&gt;
deb-src http://apt.duke4.net sid main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wheezy ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net wheezy main&lt;br /&gt;
deb-src http://apt.duke4.net wheezy main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Squeeze ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net squeeze main&lt;br /&gt;
deb-src http://apt.duke4.net squeeze main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Secure APT =&lt;br /&gt;
You can import the [http://apt.duke4.net/key/eduke32.gpg GPG public key] to authenticate downloaded packages :&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -q http://apt.duke4.net/key/eduke32.gpg -O- | sudo apt-key add -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= About packages =&lt;br /&gt;
Packages are available for x86 and x86-64 architectures :&lt;br /&gt;
* &#039;&#039;&#039;eduke32&#039;&#039;&#039; : Open source enhanced port of the game Duke Nukem 3D.&lt;br /&gt;
* &#039;&#039;&#039;mapster32&#039;&#039;&#039; : OpenGL maps editor for EDuke32.&lt;br /&gt;
* &#039;&#039;&#039;duke3d-shareware&#039;&#039;&#039; : Duke Nukem 3D shareware files v1.3d.&lt;br /&gt;
* &#039;&#039;&#039;build-engine-utils&#039;&#039;&#039; : Collection of tools to manage the content of the Build engine based games.&lt;br /&gt;
&lt;br /&gt;
== Install EDuke32 ==&lt;br /&gt;
Run your packages manager and search &amp;quot;eduke32&amp;quot; or in command-line interface, type :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install eduke32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install a different version of a package ==&lt;br /&gt;
You may need to install a different version of a package, for that you can do :&lt;br /&gt;
* &#039;&#039;&#039;In command-line interface&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install eduke32=[version]&amp;lt;/pre&amp;gt;&lt;br /&gt;
example : &lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install eduke32=2.0.0devel.20110131.r1786-1&amp;lt;/pre&amp;gt;&lt;br /&gt;
The following command list all available versions for the eduke32 package : &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-cache policy eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;With Synaptic&#039;&#039;&#039; : search and select &amp;quot;eduke32&amp;quot; -&amp;gt; go in the &amp;quot;Package&amp;quot; menu -&amp;gt; &amp;quot;Force Version&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;With PackageKit&#039;&#039;&#039; : search &amp;quot;eduke32&amp;quot;, you will see several versions for EDuke32, install the one that you want.&lt;br /&gt;
&lt;br /&gt;
== High Resolution Pack ==&lt;br /&gt;
All HRP files can be found at [http://hrp.duke4.net hrp.duke4.net].&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=9950</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=9950"/>
		<updated>2011-09-15T13:07:04Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Lowercase&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. The shareware version can be found [http://www.3drealms.com/duke3d/ here]&lt;br /&gt;
* Proper 3D acceleration drivers. NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* Proper MIDI install. The EDuke32 will appear to &amp;quot;randomly&amp;quot; crash without one. Use &#039;&#039;timidity&#039;&#039; for an easy software midi solution.&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
* Current version (You need to install the &#039;&#039;subversion&#039;&#039; program) : &lt;br /&gt;
&amp;lt;pre&amp;gt;svn co https://eduke32.svn.sourceforge.net/svnroot/eduke32/polymer/eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis Source tarballs] (Lite subversion snapshots, it does not include metadata, Apple compiled libraries, third-party jaudiolib and Photoshop files).&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis/old/ Old] and [http://dukeworld.duke4.net/eduke32/old_versions/source_code/ Older versions].&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* Nasm (optional)&lt;br /&gt;
* LibStdc++&lt;br /&gt;
* LibGL and LibGLU (optional)&lt;br /&gt;
* LibSDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* LibSDL Mixer &amp;gt; 1.2.6&lt;br /&gt;
* LibVorbis &amp;gt;= 1.1.2&lt;br /&gt;
* LibPNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
* LibVPX &amp;gt;= 0.9.0 (optional)&lt;br /&gt;
* LibGTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Debian / Ubuntu&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev libsdl-mixer1.2-dev libvorbis-dev libpng12-dev libvpx-dev libgtk2.0-dev timidity freepats&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Fedora 14&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install SDL-devel SDL_mixer SDL_mixer-devel SDL_image-devel nasm libstdc++-devel libstdc++-static libpng-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build the EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.X, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options during the build. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;45%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Various options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|PRETTY_OUTPUT||use colored output||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;45%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Engine options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|USE_OPENGL||enable basic OpenGL Polymost renderer||1&lt;br /&gt;
|-&lt;br /&gt;
|POLYMER||enable fancy Polymer renderer||1&lt;br /&gt;
|-&lt;br /&gt;
|NOASM||disable the use of inline assembly pragmas||0&lt;br /&gt;
|-&lt;br /&gt;
|LINKED_GTK||enable compile-time linkage to GTK+||0&lt;br /&gt;
|-&lt;br /&gt;
|WITHOUT_GTK||do not compile GTK+ code||0&lt;br /&gt;
|-&lt;br /&gt;
|BUILD32_ON_64||||0&lt;br /&gt;
|-&lt;br /&gt;
|NEDMALLOC||use nedmalloc instead of malloc()||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBPNG||compile with libpng (used to make screenshots in the PNG format)||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBVPX||VP8 video codec used as an alternative to the ANM file format (only works if compiled with OpenGL support)||0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;45%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Debugging/Build options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|RELEASE||no debugging||1&lt;br /&gt;
|-&lt;br /&gt;
|DEBUGANYWAY||include debug symbols even when generating release code||0&lt;br /&gt;
|-&lt;br /&gt;
|KRANDDEBUG||include logging of krand() calls for debugging the demo system||0&lt;br /&gt;
|-&lt;br /&gt;
|EFENCE||compile with Electric Fence for malloc() debugging||0&lt;br /&gt;
|-&lt;br /&gt;
|OPTLEVEL||GCC optimization strategy||2&lt;br /&gt;
|-&lt;br /&gt;
|PROFILER||||0&lt;br /&gt;
|-&lt;br /&gt;
|MUDFLAP||||0&lt;br /&gt;
|-&lt;br /&gt;
|LTO||enable link-time optimization, for GCC 4.5 and up||0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.&lt;br /&gt;
* mapster32.sym (this file is not built in newer versions)&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
* eduke32.sym (this file is not built in newer versions)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
&lt;br /&gt;
== Use the game files ==&lt;br /&gt;
You need to have the original Duke Nukem files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
== Run the game! ==&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net High Resolution Pack] you need to pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g duke3d_hrp.zip hrp_update.zip maphacks.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you need to pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g polymer_hrp.zip polymer_upd.zip polymer_mhk.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g /path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=9949</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=9949"/>
		<updated>2011-09-15T12:47:34Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Use the MediaWiki syntax instead of HTML for tables&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. The shareware version can be found [http://www.3drealms.com/duke3d/ here]&lt;br /&gt;
* Proper 3D acceleration drivers. NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* Proper MIDI install. The EDuke32 will appear to &amp;quot;randomly&amp;quot; crash without one. Use &#039;&#039;timidity&#039;&#039; for an easy software midi solution.&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
* Current version (You need to install the &#039;&#039;subversion&#039;&#039; program) : &lt;br /&gt;
&amp;lt;pre&amp;gt;svn co https://eduke32.svn.sourceforge.net/svnroot/eduke32/polymer/eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis Source tarballs] (Lite subversion snapshots, it does not include metadata, Apple compiled libraries, third-party jaudiolib and Photoshop files).&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis/old/ Old] and [http://dukeworld.duke4.net/eduke32/old_versions/source_code/ Older versions].&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* Nasm (optional)&lt;br /&gt;
* LibStdc++&lt;br /&gt;
* LibGL and LibGLU (optional)&lt;br /&gt;
* LibSDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* LibSDL Mixer &amp;gt; 1.2.6&lt;br /&gt;
* LibVorbis &amp;gt;= 1.1.2&lt;br /&gt;
* LibPNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
* LibVPX &amp;gt;= 0.9.0 (optional)&lt;br /&gt;
* LibGTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Debian / Ubuntu&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev libsdl-mixer1.2-dev libvorbis-dev libpng12-dev libvpx-dev libgtk2.0-dev timidity freepats&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;On Fedora 14&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install SDL-devel SDL_mixer SDL_mixer-devel SDL_image-devel nasm libstdc++-devel libstdc++-static libpng-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build the EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.X, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options during the build. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;45%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Various options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|PRETTY_OUTPUT||use colored output||1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;45%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Engine options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|USE_OPENGL||enables basic OpenGL Polymost renderer||1&lt;br /&gt;
|-&lt;br /&gt;
|POLYMER||enables fancy Polymer renderer||1&lt;br /&gt;
|-&lt;br /&gt;
|NOASM||disables the use of inline assembly pragmas||0&lt;br /&gt;
|-&lt;br /&gt;
|LINKED_GTK||enables compile-time linkage to GTK+||0&lt;br /&gt;
|-&lt;br /&gt;
|WITHOUT_GTK||does not compile GTK+ code||0&lt;br /&gt;
|-&lt;br /&gt;
|BUILD32_ON_64||||0&lt;br /&gt;
|-&lt;br /&gt;
|NEDMALLOC||Use nedmalloc instead of malloc()||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBPNG||compile with libpng (used to make screenshots in the PNG format)||0&lt;br /&gt;
|-&lt;br /&gt;
|USE_LIBVPX||VP8 video codec used as an alternative to the ANM file format (only works if compiled with OpenGL support)||0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;45%&amp;quot;&lt;br /&gt;
|+ &amp;lt;span style=&amp;quot;text-decoration: underline&amp;quot;&amp;gt;Debugging/Build options&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Options!!Description!!Default value&lt;br /&gt;
|-&lt;br /&gt;
|RELEASE||no debugging||1&lt;br /&gt;
|-&lt;br /&gt;
|DEBUGANYWAY||include debug symbols even when generating release code||0&lt;br /&gt;
|-&lt;br /&gt;
|KRANDDEBUG||include logging of krand() calls for debugging the demo system||0&lt;br /&gt;
|-&lt;br /&gt;
|EFENCE||compile with Electric Fence for malloc() debugging||0&lt;br /&gt;
|-&lt;br /&gt;
|OPTLEVEL||GCC optimization strategy||2&lt;br /&gt;
|-&lt;br /&gt;
|PROFILER||||0&lt;br /&gt;
|-&lt;br /&gt;
|MUDFLAP||||0&lt;br /&gt;
|-&lt;br /&gt;
|LTO||enable link-time optimization, for GCC 4.5 and up||0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.&lt;br /&gt;
* mapster32.sym (this file is not built in newer versions)&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
* eduke32.sym (this file is not built in newer versions)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
&lt;br /&gt;
== Use the game files ==&lt;br /&gt;
You need to have the original Duke Nukem files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
== Run the game! ==&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net High Resolution Pack] you need to pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g duke3d_hrp.zip hrp_update.zip maphacks.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you need to pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g polymer_hrp.zip polymer_upd.zip polymer_mhk.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g /path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=9894</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=9894"/>
		<updated>2011-08-08T08:34:37Z</updated>

		<summary type="html">&lt;p&gt;Bioman: LibGL and LibGLU missing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. The shareware version can be found [http://www.3drealms.com/duke3d/ here]&lt;br /&gt;
* Proper 3D acceleration drivers. NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* Proper MIDI install. The EDuke32 will appear to &amp;quot;randomly&amp;quot; crash without one. Use &#039;&#039;timidity&#039;&#039; for an easy software midi solution.&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
* Current version (You need to install the &#039;&#039;subversion&#039;&#039; program) : &lt;br /&gt;
&amp;lt;pre&amp;gt;svn co https://eduke32.svn.sourceforge.net/svnroot/eduke32/polymer/eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis Source tarballs] (Lite subversion snapshots, it does not include metadata, Apple compiled libraries, third-party jaudiolib and Photoshop files).&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis/old/ Old] and [http://dukeworld.duke4.net/eduke32/old_versions/source_code/ Older versions].&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* Nasm (optional)&lt;br /&gt;
* LibStdc++&lt;br /&gt;
* LibGL and LibGLU (optional)&lt;br /&gt;
* LibSDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* LibSDL Mixer &amp;gt; 1.2.6&lt;br /&gt;
* LibVorbis &amp;gt;= 1.1.2&lt;br /&gt;
* LibPNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
* LibVPX &amp;gt;= 0.9.0 (optional)&lt;br /&gt;
* LibGTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;On Debian / Ubuntu&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev libsdl-mixer1.2-dev libvorbis-dev libpng12-dev libvpx-dev libgtk2.0-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;On Fedora 14&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install SDL-devel SDL_mixer SDL_mixer-devel SDL_image-devel nasm libstdc++-devel libstdc++-static libpng-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build the EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.X, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options during the build. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Various options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;PRETTY_OUTPUT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;use colored output&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Engine options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;USE_OPENGL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables basic OpenGL Polymost renderer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;POLYMER&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables fancy Polymer renderer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NOASM&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;disables the use of inline assembly pragmas&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;LINKED_GTK&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables compile-time linkage to GTK+&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;WITHOUT_GTK&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;does not compile GTK+ code&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;BUILD32_ON_64&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NEDMALLOC&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;USE_LIBPNG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;compile with libpng (used to make screenshots in the PNG format)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;USE_LIBVPX&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;VP8 video codec used as an alternative to the ANM file format (only works if compiled with OpenGL support)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Debugging/Build options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;RELEASE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no debugging&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;DEBUGANYWAY&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;include debug symbols even when generating release code&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;KRANDDEBUG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;include logging of krand() calls for debugging the demo system&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;EFENCE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;compile with Electric Fence for malloc() debugging&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;OPTLEVEL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;GCC optimization strategy&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;PROFILER&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;MUDFLAP&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;LTO&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enable link-time optimization, for GCC 4.5 and up&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.&lt;br /&gt;
* mapster32.sym (this file is not built in newer versions)&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
* eduke32.sym (this file is not built in newer versions)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
&lt;br /&gt;
== Use the game files ==&lt;br /&gt;
You need to have the original Duke Nukem files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
== Run the game! ==&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net High Resolution Pack] you need to pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g duke3d_hrp.zip hrp_update.zip maphacks.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you need to pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g polymer_hrp.zip polymer_upd.zip polymer_mhk.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g /path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=9892</id>
		<title>APT repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=9892"/>
		<updated>2011-08-04T11:00:24Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Update #2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EDuke32 can be installed from a repository for Debian and Ubuntu Linux.&lt;br /&gt;
&lt;br /&gt;
Just add the following lines which match with your version in the &#039;&#039;/etc/apt/sources.list&#039;&#039; file.&lt;br /&gt;
&lt;br /&gt;
= Ubuntu repositories =&lt;br /&gt;
&#039;&#039;&#039;Important&#039;&#039;&#039; : Ubuntu users must activate the &#039;&#039;universe&#039;&#039; [https://help.ubuntu.com/community/Repositories/Ubuntu repository] before installing EDuke32.&lt;br /&gt;
&lt;br /&gt;
== Natty Narwhal ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net natty main&lt;br /&gt;
deb-src http://apt.duke4.net natty main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Maverick Meerkat ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net maverick main&lt;br /&gt;
deb-src http://apt.duke4.net maverick main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lucid Lynx ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net lucid main&lt;br /&gt;
deb-src http://apt.duke4.net lucid main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Karmic Koala ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net karmic main&lt;br /&gt;
deb-src http://apt.duke4.net karmic main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Debian repositories =&lt;br /&gt;
&lt;br /&gt;
== Sid ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net sid main&lt;br /&gt;
deb-src http://apt.duke4.net sid main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wheezy ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net wheezy main&lt;br /&gt;
deb-src http://apt.duke4.net wheezy main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Squeeze ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net squeeze main&lt;br /&gt;
deb-src http://apt.duke4.net squeeze main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Secure APT =&lt;br /&gt;
You can import the [http://apt.duke4.net/key/eduke32.gpg GPG public key] to authenticate downloaded packages :&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -q http://apt.duke4.net/key/eduke32.gpg -O- | sudo apt-key add -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= About packages =&lt;br /&gt;
&lt;br /&gt;
Packages are available for x86 and x86-64 architectures :&lt;br /&gt;
* &#039;&#039;&#039;eduke32&#039;&#039;&#039; : Open source enhanced port of the game Duke Nukem 3D.&lt;br /&gt;
* &#039;&#039;&#039;mapster32&#039;&#039;&#039; : OpenGL maps editor for EDuke32.&lt;br /&gt;
* &#039;&#039;&#039;duke3d-shareware&#039;&#039;&#039; : Duke Nukem 3D shareware files v1.3d.&lt;br /&gt;
* &#039;&#039;&#039;build-engine-utils&#039;&#039;&#039; : Collection of tools to manage the content of the Build engine based games.&lt;br /&gt;
&lt;br /&gt;
== Install EDuke32 ==&lt;br /&gt;
Run your packages manager and search &amp;quot;eduke32&amp;quot; or in command-line interface, type :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install eduke32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install a different version of a package ==&lt;br /&gt;
&lt;br /&gt;
You may need to install a different version of a package, for that you can do :&lt;br /&gt;
* &#039;&#039;&#039;In command-line interface&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install eduke32=[version]&amp;lt;/pre&amp;gt;&lt;br /&gt;
example : &lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install eduke32=2.0.0devel.20110131.r1786-1&amp;lt;/pre&amp;gt;&lt;br /&gt;
The following command list all available versions for the eduke32 package : &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-cache policy eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;With Synaptic&#039;&#039;&#039; : search and select &amp;quot;eduke32&amp;quot; -&amp;gt; go in the &amp;quot;Package&amp;quot; menu -&amp;gt; &amp;quot;Force Version&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;With PackageKit&#039;&#039;&#039; : search &amp;quot;eduke32&amp;quot;, you will see several versions for EDuke32, install the one that you want.&lt;br /&gt;
&lt;br /&gt;
== High Resolution Pack ==&lt;br /&gt;
&lt;br /&gt;
All HRP files can be found at [http://hrp.duke4.net hrp.duke4.net].&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Utilities&amp;diff=9891</id>
		<title>Utilities</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Utilities&amp;diff=9891"/>
		<updated>2011-08-04T10:47:04Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Added .IVF section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When modding EDuke32, there are some files you will need to edit certain aspects of the game.&lt;br /&gt;
Here we will cover the needed programs for each aspect.&lt;br /&gt;
&lt;br /&gt;
== Group File (.GRP) Editing ==&lt;br /&gt;
.GRP files are basically like a zip file, they hold all of the relevant files for the game, and keep your folders tidy. There are &#039;&#039;numerous&#039;&#039; programs available for use, even some crude extraction and grouping programs came on the Duke3D disc in the goodies directory: &amp;quot;KGROUP&amp;quot; and &amp;quot;KEXTRACT&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Both programs are also present in the build directoy of EDuke32 source code. To build it, just do :&lt;br /&gt;
&amp;lt;code&amp;gt;cd build &amp;amp;&amp;amp; make utils&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We can find a program called grpextract [svn://svn.icculus.org/duke3d/trunk here]. To build it, just do :&lt;br /&gt;
&amp;lt;code&amp;gt;gcc grpextract.c -o grpextract&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While lacking a GUI, they get the job done. There are other programs, which can view art files inside the .GRP, and listen to sound bytes. Other programs include, [http://archive.dukertcm.com/knowledge-base/downloads-rtcm/duke3d-tools-build/gfs31.zip &amp;quot;Group File Studio&amp;quot;] and Roma Loom&#039;s [http://loomsday.com/?page_id=4 &amp;quot;GRPViewer&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
== Control File (.CON) Editing ==&lt;br /&gt;
.CON files hold most of the important code for the game. To edit the con files, you actually dont need any special programs. Just open the .CON files in your favorite text editor, although [http://www.emeraldeditor.com/ Emerald Editor AKA Crimson Editor] is recommended as being one of the best. Special editing programs for writing CON code do exist, though all of them so far have only been developed for use with 1.5 Coding. Therefor, they will cause problems if you try to use Eduke32 exclusive parameters.&lt;br /&gt;
&lt;br /&gt;
== Art File (.ART) Editing ==&lt;br /&gt;
.ART files hold all the raw art data, in a tidy manner. Once again, there are numerous programs available which can edit the .ART files. The most commonly used program is the one that came with Duke Nukem 3d: Editart. Editart still works on most Windows XP computers. Other programs include, [http://archive.dukertcm.com/knowledge-base/downloads-rtcm/duke3d-tools-editart/bastART.zip &amp;quot;BastART&amp;quot;] and [http://archive.dukertcm.com/knowledge-base/downloads-rtcm/duke3d-tools-editart/dukeresART.zip &amp;quot;DukeRES&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
There are 2 command line utilities called art2tga and tga2art that allow to manage the art files, available [http://blood.sourceforge.net/snapshots.php#rebuild-section here]. To build it, just do :&lt;br /&gt;
&amp;lt;code&amp;gt;cd rebuild &amp;amp;&amp;amp; make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Map (.MAP) Editing ==&lt;br /&gt;
.MAP files are your levels. There arent too many widely used .MAP editors, the most commonly used and recommended one is Mapster32, which comes with Eduke32. The other commonly used one is Jonof&#039;s BUILD, which comes with JFDuke3D. Originally, BUILD from the /Goodies directory on the Duke3D disc was used. Other mapping utilities were made, but are now obsolete, these include &amp;quot;Mapster&amp;quot; and &amp;quot;Makemap&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Palette (.DAT) Editing ==&lt;br /&gt;
The PALETTE.DAT and LOOKUP.DAT files hold the palettes, palettes swaps, and shade tables for the game. This is one of the most loathed and untouched editable features of Duke3D. While incredibly difficult, it can come to good effect. One of the few .PAL editors is the [http://archive.dukertcm.com/knowledge-base/downloads-rtcm/duke3d-tools-editart/BSUIT01A.ZIP &amp;quot;Build Customization Suite&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
The program transpal allow to modify a palette file and can be found in the build directoy of EDuke32 source code (see &#039;&#039;Group File (.GRP) Editing&#039;&#039; section).&lt;br /&gt;
&lt;br /&gt;
== Animation (.ANM) Editing ==&lt;br /&gt;
.ANM files hold raw .PCX files, which are added together and then played as an animation. In the game these are the animations you see at the end of a boss fight. The sounds for the animations are not included in the .ANM. One of the few .ANM compiling programs is [http://archive.dukertcm.com/knowledge-base/downloads-rtcm/duke3d-tools-editart/anim2pcx.zip &amp;quot;Animation File Maker&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
[http://www.ffmpeg.org FFmpeg], since version 0.6,  can also decode and play anm files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Some examples :&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Play the &#039;foo&#039; animation file :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ffplay foo.anm&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Extract all frames from the &#039;foo&#039; animation file into the PNG format (works also with JPG, PCX, GIF, BMP ...)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ffmpeg -i foo.anm bar%03d.png&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Encode the &#039;foo&#039; animation file into a MPEG-4 format :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ffmpeg -i foo.anm bar.avi&amp;lt;/pre&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
Encode the &#039;foo&#039; animation file into a WebM format :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ffmpeg -i foo.anm -threads 2 bar.webm&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See &#039;ffmpeg -codecs&#039; for all available codecs.&lt;br /&gt;
&lt;br /&gt;
It&#039;s not possible, actually to encode into anm format with FFmpeg.&lt;br /&gt;
&lt;br /&gt;
== File container (.IVF) Editing ==&lt;br /&gt;
It&#039;s an alternative to the ANM format, it transports a VP8 video stream, same used in the WebM format but without the Vorbis audio stream.&lt;br /&gt;
&lt;br /&gt;
To extract VP8 video tracks from a WebM file into a IVF file, we can use the program &#039;&#039;mkvextract&#039;&#039;, part of MKVToolnix, available [http://www.bunkus.org/videotools/mkvtoolnix here].&lt;br /&gt;
&lt;br /&gt;
eg: mkvextract tracks &amp;lt;filename&amp;gt;.webm 1:&amp;lt;filename&amp;gt;.ivf&lt;br /&gt;
&lt;br /&gt;
To play it in-game now we just have to place it in a search path or in a custom mod directory and give it the same name as the .anm file that we want to replace (eg &#039;&#039;logo.ivf&#039;&#039; for the animation logo when the game starts).&lt;br /&gt;
&lt;br /&gt;
== Tools for 3D modeling ==&lt;br /&gt;
&lt;br /&gt;
[http://www.blender.org Blender], open source 3D modeler can be used for UV unwrapping, texturing, rigging, water simulations, skinning, animating, rendering, particle and other simulations.&lt;br /&gt;
&lt;br /&gt;
Import/Export MD3 scripts for Blender can be found [http://www.katsbits.com/tools here] or [http://johnny3d.promail.ca/blendermd3.zip here].&lt;br /&gt;
&lt;br /&gt;
[http://www.misfitcode.com/misfitmodel3d Misfit Model 3D], open source and OpenGL-based 3D model editor that works with triangle-based models (on Debian based distros, package is called mm3d).&lt;br /&gt;
&lt;br /&gt;
[http://automagically.de/g3dviewer/ G3DViewer], open source and OpenGL models viewer, support formats 3D Studio, Quake 2, Quake 3 and many others.&lt;br /&gt;
&lt;br /&gt;
[http://www.turbosquid.com/gmax Gmax], video game modeling tool (Windows, freeware).&lt;br /&gt;
&lt;br /&gt;
MD3 exporter plugin for Gmax can be found [http://www.katsbits.com/tools here].&lt;br /&gt;
&lt;br /&gt;
[http://usa.autodesk.com/adsk/servlet/index?siteID=123112&amp;amp;id=5659302 3DS Max], 3D modeler (Windows, commercial).&lt;br /&gt;
&lt;br /&gt;
MD3 export script for 3DS Max [http://www.katsbits.com/tools v4.2/v5] and [http://www.katsbits.com/tools v6].&lt;br /&gt;
&lt;br /&gt;
[http://chumbalum.swissquake.ch Milkshape 3D], 3D modeler (Windows, commercial).&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://dukerepository.com/utilities.php Duke Nukem Repository Utility Page]&lt;br /&gt;
* [http://www.gamers.org/pub/games/duke3d/other/build/ Gamers.org Archive Utility Page]&lt;br /&gt;
* [http://archive.dukertcm.com/ R.T.C.M.]&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=9890</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=9890"/>
		<updated>2011-08-04T07:33:46Z</updated>

		<summary type="html">&lt;p&gt;Bioman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. The shareware version can be found [http://www.3drealms.com/duke3d/ here]&lt;br /&gt;
* Proper 3D acceleration drivers. NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* Proper MIDI install. The EDuke32 will appear to &amp;quot;randomly&amp;quot; crash without one. Use &#039;&#039;timidity&#039;&#039; for an easy software midi solution.&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
* Current version (You need to install the &#039;&#039;subversion&#039;&#039; program) : &lt;br /&gt;
&amp;lt;pre&amp;gt;svn co https://eduke32.svn.sourceforge.net/svnroot/eduke32/polymer/eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis Source tarballs] (Lite subversion snapshots, it does not include metadata, Apple compiled libraries, third-party jaudiolib and Photoshop files).&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis/old/ Old] and [http://dukeworld.duke4.net/eduke32/old_versions/source_code/ Older versions].&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* Nasm (optional)&lt;br /&gt;
* Lib Stdc++&lt;br /&gt;
* Lib SDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* Lib SDL Mixer &amp;gt; 1.2.6&lt;br /&gt;
* Lib Vorbis &amp;gt;= 1.1.2&lt;br /&gt;
* Lib PNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
* Lib VPX &amp;gt;= 0.9.0 (optional)&lt;br /&gt;
* Lib GTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;On Debian / Ubuntu&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libsdl1.2-dev libsdl-mixer1.2-dev libvorbis-dev libpng12-dev libvpx-dev libgtk2.0-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;On Fedora 14&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install SDL-devel SDL_mixer SDL_mixer-devel SDL_image-devel nasm libstdc++-devel libstdc++-static libpng-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build the EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.X, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options during the build. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Various options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;PRETTY_OUTPUT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;use colored output&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Engine options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;USE_OPENGL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables basic OpenGL Polymost renderer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;POLYMER&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables fancy Polymer renderer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NOASM&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;disables the use of inline assembly pragmas&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;LINKED_GTK&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables compile-time linkage to GTK+&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;WITHOUT_GTK&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;does not compile GTK+ code&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;BUILD32_ON_64&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NEDMALLOC&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;USE_LIBPNG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;compile with libpng (used to make screenshots in the PNG format)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;USE_LIBVPX&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;VP8 video codec used as an alternative to the ANM file format (only works if compiled with OpenGL support)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Debugging/Build options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;RELEASE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no debugging&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;DEBUGANYWAY&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;include debug symbols even when generating release code&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;KRANDDEBUG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;include logging of krand() calls for debugging the demo system&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;EFENCE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;compile with Electric Fence for malloc() debugging&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;OPTLEVEL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;GCC optimization strategy&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;PROFILER&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;MUDFLAP&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;LTO&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enable link-time optimization, for GCC 4.5 and up&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.&lt;br /&gt;
* mapster32.sym (this file is not built in newer versions)&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
* eduke32.sym (this file is not built in newer versions)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
&lt;br /&gt;
== Use the game files ==&lt;br /&gt;
You need to have the original Duke Nukem files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
== Run the game! ==&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net High Resolution Pack] you need to pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g duke3d_hrp.zip hrp_update.zip maphacks.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you need to pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g polymer_hrp.zip polymer_upd.zip polymer_mhk.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g /path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=9889</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=9889"/>
		<updated>2011-08-04T07:26:08Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Uppercase&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. The shareware version can be found [http://www.3drealms.com/duke3d/ here]&lt;br /&gt;
* Proper 3D acceleration drivers. NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* Proper MIDI install. The EDuke32 will appear to &amp;quot;randomly&amp;quot; crash without one. Use &#039;&#039;timidity&#039;&#039; for an easy software midi solution.&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
* Current version (You need to install the &#039;&#039;subversion&#039;&#039; program) : &lt;br /&gt;
&amp;lt;pre&amp;gt;svn co https://eduke32.svn.sourceforge.net/svnroot/eduke32/polymer/eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis Source tarballs] (Lite subversion snapshots, it does not include metadata, Apple compiled libraries, third-party jaudiolib and Photoshop files).&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis/old/ Old] and [http://dukeworld.duke4.net/eduke32/old_versions/source_code/ Older versions].&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* Nasm (optional)&lt;br /&gt;
* Lib SDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* Lib SDL Mixer &amp;gt; 1.2.6&lt;br /&gt;
* Lib Stdc++&lt;br /&gt;
* Lib Vorbis &amp;gt;= 1.1.2&lt;br /&gt;
* Lib PNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
* Lib VPX &amp;gt;= 0.9.0 (optional)&lt;br /&gt;
* Lib GTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;On Debian / Ubuntu&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libsdl1.2-dev libsdl-mixer1.2-dev libvorbis-dev libpng12-dev libvpx-dev libgtk2.0-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;On Fedora 14&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install SDL-devel SDL_mixer SDL_mixer-devel SDL_image-devel nasm libstdc++-devel libstdc++-static libpng-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build the EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.X, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options during the build. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Various options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;PRETTY_OUTPUT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;use colored output&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Engine options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;USE_OPENGL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables basic OpenGL Polymost renderer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;POLYMER&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables fancy Polymer renderer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NOASM&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;disables the use of inline assembly pragmas&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;LINKED_GTK&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables compile-time linkage to GTK+&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;WITHOUT_GTK&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;does not compile GTK+ code&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;BUILD32_ON_64&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NEDMALLOC&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;USE_LIBPNG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;compile with libpng (used to make screenshots in the PNG format)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;USE_LIBVPX&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;VP8 video codec used as an alternative to the ANM file format (only works if compiled with OpenGL support)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Debugging/Build options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;RELEASE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no debugging&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;DEBUGANYWAY&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;include debug symbols even when generating release code&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;KRANDDEBUG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;include logging of krand() calls for debugging the demo system&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;EFENCE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;compile with Electric Fence for malloc() debugging&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;OPTLEVEL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;GCC optimization strategy&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;PROFILER&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;MUDFLAP&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;LTO&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enable link-time optimization, for GCC 4.5 and up&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.&lt;br /&gt;
* mapster32.sym (this file is not built in newer versions)&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
* eduke32.sym (this file is not built in newer versions)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
&lt;br /&gt;
== Use the game files ==&lt;br /&gt;
You need to have the original Duke Nukem files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
== Run the game! ==&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net High Resolution Pack] you need to pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g duke3d_hrp.zip hrp_update.zip maphacks.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you need to pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g polymer_hrp.zip polymer_upd.zip polymer_mhk.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g /path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=9888</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=9888"/>
		<updated>2011-08-04T07:24:34Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. The shareware version can be found [http://www.3drealms.com/duke3d/ here]&lt;br /&gt;
* Proper 3D acceleration drivers. NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* Proper MIDI install. The EDuke32 will appear to &amp;quot;randomly&amp;quot; crash without one. Use &#039;&#039;timidity&#039;&#039; for an easy software midi solution.&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
* Current version (You need to install the &#039;&#039;subversion&#039;&#039; program) : &lt;br /&gt;
&amp;lt;pre&amp;gt;svn co https://eduke32.svn.sourceforge.net/svnroot/eduke32/polymer/eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis Source tarballs] (Lite subversion snapshots, it does not include metadata, Apple compiled libraries, third-party jaudiolib and Photoshop files).&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis/old/ Old] and [http://dukeworld.duke4.net/eduke32/old_versions/source_code/ Older versions].&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* Nasm (optional)&lt;br /&gt;
* Lib SDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* Lib SDL Mixer &amp;gt; 1.2.6&lt;br /&gt;
* Lib stdc++&lt;br /&gt;
* Lib Vorbis &amp;gt;= 1.1.2&lt;br /&gt;
* Lib PNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
* Lib VPX &amp;gt;= 0.9.0 (optional)&lt;br /&gt;
* Lib GTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;On Debian / Ubuntu&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libsdl1.2-dev libsdl-mixer1.2-dev libvorbis-dev libpng12-dev libvpx-dev libgtk2.0-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;On Fedora 14&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install SDL-devel SDL_mixer SDL_mixer-devel SDL_image-devel nasm libstdc++-devel libstdc++-static libpng-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build the EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.X, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options during the build. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Various options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;PRETTY_OUTPUT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;use colored output&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Engine options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;USE_OPENGL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables basic OpenGL Polymost renderer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;POLYMER&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables fancy Polymer renderer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NOASM&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;disables the use of inline assembly pragmas&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;LINKED_GTK&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables compile-time linkage to GTK+&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;WITHOUT_GTK&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;does not compile GTK+ code&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;BUILD32_ON_64&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NEDMALLOC&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;USE_LIBPNG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;compile with libpng (used to make screenshots in the PNG format)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;USE_LIBVPX&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;VP8 video codec used as an alternative to the ANM file format (only works if compiled with OpenGL support)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Debugging/Build options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;RELEASE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no debugging&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;DEBUGANYWAY&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;include debug symbols even when generating release code&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;KRANDDEBUG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;include logging of krand() calls for debugging the demo system&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;EFENCE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;compile with Electric Fence for malloc() debugging&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;OPTLEVEL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;GCC optimization strategy&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;PROFILER&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;MUDFLAP&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;LTO&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enable link-time optimization, for GCC 4.5 and up&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.&lt;br /&gt;
* mapster32.sym (this file is not built in newer versions)&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
* eduke32.sym (this file is not built in newer versions)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
&lt;br /&gt;
== Use the game files ==&lt;br /&gt;
You need to have the original Duke Nukem files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
== Run the game! ==&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net High Resolution Pack] you need to pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g duke3d_hrp.zip hrp_update.zip maphacks.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you need to pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g polymer_hrp.zip polymer_upd.zip polymer_mhk.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g /path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=9887</id>
		<title>APT repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=9887"/>
		<updated>2011-08-04T06:46:17Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EDuke32 can be installed from a repository for Debian and Ubuntu Linux.&lt;br /&gt;
&lt;br /&gt;
Just add the following lines which match with your version in the &#039;&#039;/etc/apt/sources.list&#039;&#039; file.&lt;br /&gt;
&lt;br /&gt;
= Ubuntu repositories =&lt;br /&gt;
&#039;&#039;&#039;Important&#039;&#039;&#039; : Ubuntu users must activate the &#039;&#039;universe&#039;&#039; [https://help.ubuntu.com/community/Repositories/Ubuntu repository] before installing EDuke32.&lt;br /&gt;
&lt;br /&gt;
== Natty Narwhal ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net natty main&lt;br /&gt;
deb-src http://apt.duke4.net natty main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Maverick Meerkat ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net maverick main&lt;br /&gt;
deb-src http://apt.duke4.net maverick main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lucid Lynx ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net lucid main&lt;br /&gt;
deb-src http://apt.duke4.net lucid main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Karmic Koala ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net karmic main&lt;br /&gt;
deb-src http://apt.duke4.net karmic main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Debian repositories =&lt;br /&gt;
&lt;br /&gt;
== Sid ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net sid main&lt;br /&gt;
deb-src http://apt.duke4.net sid main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wheezy ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net wheezy main&lt;br /&gt;
deb-src http://apt.duke4.net wheezy main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Squeeze ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net squeeze main&lt;br /&gt;
deb-src http://apt.duke4.net squeeze main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Secure APT =&lt;br /&gt;
You can import the [http://apt.duke4.net/key/eduke32.gpg GPG public key] to authenticate downloaded packages :&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -q http://apt.duke4.net/key/eduke32.gpg -O- | sudo apt-key add -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= About packages =&lt;br /&gt;
&lt;br /&gt;
Packages are available for x86 and x86-64 architectures :&lt;br /&gt;
* &#039;&#039;&#039;eduke32&#039;&#039;&#039; : Open source enhanced port of the game Duke Nukem 3D.&lt;br /&gt;
* &#039;&#039;&#039;mapster32&#039;&#039;&#039; : OpenGL maps editor for EDuke32.&lt;br /&gt;
* &#039;&#039;&#039;duke3d-shareware&#039;&#039;&#039; : Duke Nukem 3D shareware files v1.3d.&lt;br /&gt;
* &#039;&#039;&#039;build-engine-utils&#039;&#039;&#039; : Collection of tools to manage the content of the Build engine based games.&lt;br /&gt;
&lt;br /&gt;
== Install EDuke32 ==&lt;br /&gt;
Run your packages manager and search &amp;quot;eduke32&amp;quot; or in command-line interface with the root privileges, type :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install eduke32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install a different version of a package ==&lt;br /&gt;
&lt;br /&gt;
You may need to install a different version of a package, for that you can do :&lt;br /&gt;
* &#039;&#039;&#039;In command-line interface&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install eduke32=[version]&amp;lt;/pre&amp;gt;&lt;br /&gt;
example : &lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install eduke32=2.0.0devel.20110131.r1786-1&amp;lt;/pre&amp;gt;&lt;br /&gt;
The following command list all available versions for the eduke32 package : &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-cache policy eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;With Synaptic&#039;&#039;&#039; : search and select &amp;quot;eduke32&amp;quot; -&amp;gt; go in the &amp;quot;Package&amp;quot; menu -&amp;gt; &amp;quot;Force Version&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;With PackageKit&#039;&#039;&#039; : search &amp;quot;eduke32&amp;quot;, you will see several versions for EDuke32, install the one that you want.&lt;br /&gt;
&lt;br /&gt;
== High Resolution Pack ==&lt;br /&gt;
&lt;br /&gt;
All HRP files can be found at [http://hrp.duke4.net hrp.duke4.net].&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=9834</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=9834"/>
		<updated>2011-06-24T20:58:33Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Added WITHOUT_GTK option&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. The shareware version can be found [http://www.3drealms.com/duke3d/ here]&lt;br /&gt;
* Proper 3D acceleration drivers. NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* Proper MIDI install. The EDuke32 will appear to &amp;quot;randomly&amp;quot; crash without one. Use &#039;&#039;timidity&#039;&#039; for an easy software midi solution.&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
* Current version (You need to install the &#039;&#039;subversion&#039;&#039; program) : &lt;br /&gt;
&amp;lt;pre&amp;gt;svn co https://eduke32.svn.sourceforge.net/svnroot/eduke32/polymer/eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis Source tarballs] (Lite subversion snapshots, it does not include metadata, Apple compiled libraries, third-party jaudiolib and Photoshop files).&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis/old/ Old versions] and [http://dukeworld.duke4.net/eduke32/old_versions/source_code/ Older versions].&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* Nasm (optional)&lt;br /&gt;
* Lib SDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* Lib SDL Mixer &amp;gt; 1.2.6&lt;br /&gt;
* Lib stdc++&lt;br /&gt;
* Lib Vorbis &amp;gt;= 1.1.2&lt;br /&gt;
* Lib PNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
* Lib GTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;On Debian / Ubuntu&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libsdl1.2-dev libsdl-mixer1.2-dev libstdc++6-4.5-dev libvorbis-dev libpng12-dev libgtk2.0-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;On Fedora 14&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install SDL-devel SDL_mixer SDL_mixer-devel SDL_image-devel nasm libstdc++-devel libstdc++-static libpng-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build the EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.X, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options when building. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Various options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;PRETTY_OUTPUT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;use colored output&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Engine options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;USE_OPENGL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables basic OpenGL Polymost renderer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;POLYMER&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables fancy Polymer renderer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NOASM&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;disables the use of inline assembly pragmas&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;LINKED_GTK&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables compile-time linkage to GTK+&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;WITHOUT_GTK&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;does not compile GTK+ code&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;BUILD32_ON_64&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NEDMALLOC&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;USE_LIBPNG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;compile with libpng (used to make screenshots in the PNG format)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Debugging/Build options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;RELEASE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no debugging&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;DEBUGANYWAY&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;include debug symbols even when generating release code&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;KRANDDEBUG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;include logging of krand() calls for debugging the demo system&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;EFENCE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;compile with Electric Fence for malloc() debugging&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;OPTLEVEL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;GCC optimization strategy&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;PROFILER&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;MUDFLAP&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;LTO&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enable link-time optimization, for GCC 4.5 and up&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.&lt;br /&gt;
* mapster32.sym (this file doesn&#039;t seem to be created in newer versions)&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
* eduke32.sym (this file doesn&#039;t seem to be created in newer versions)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
&lt;br /&gt;
== Use the game files ==&lt;br /&gt;
You need to have the original Duke Nukem files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
== Run the game! ==&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net High Resolution Pack] you need to pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g duke3d_hrp.zip hrp_update.zip maphacks.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you need to pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g polymer_hrp.zip polymer_upd.zip polymer_mhk.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g /path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=9805</id>
		<title>APT repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=APT_repository&amp;diff=9805"/>
		<updated>2011-06-12T08:43:40Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Clean HRP section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EDuke32 can be installed from a repository for Debian and Ubuntu Linux.&lt;br /&gt;
&lt;br /&gt;
Just add the following lines which match with your version in the &#039;&#039;/etc/apt/sources.list&#039;&#039; file.&lt;br /&gt;
&lt;br /&gt;
= Ubuntu repositories =&lt;br /&gt;
&#039;&#039;&#039;Important&#039;&#039;&#039; : Ubuntu users must activate the &#039;&#039;universe&#039;&#039; [https://help.ubuntu.com/community/Repositories/Ubuntu repository] before installing EDuke32.&lt;br /&gt;
&lt;br /&gt;
== Natty Narwhal ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net natty main&lt;br /&gt;
deb-src http://apt.duke4.net natty main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Maverick Meerkat ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net maverick main&lt;br /&gt;
deb-src http://apt.duke4.net maverick main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lucid Lynx ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net lucid main&lt;br /&gt;
deb-src http://apt.duke4.net lucid main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Karmic Koala ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net karmic main&lt;br /&gt;
deb-src http://apt.duke4.net karmic main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Debian repositories =&lt;br /&gt;
&lt;br /&gt;
== Sid ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net sid main&lt;br /&gt;
deb-src http://apt.duke4.net sid main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wheezy ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net wheezy main&lt;br /&gt;
deb-src http://apt.duke4.net wheezy main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Squeeze ==&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://apt.duke4.net squeeze main&lt;br /&gt;
deb-src http://apt.duke4.net squeeze main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Secure APT =&lt;br /&gt;
You can import the [http://apt.duke4.net/key/eduke32.gpg GPG public key] to authenticate downloaded packages :&lt;br /&gt;
&lt;br /&gt;
== Ubuntu ==&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -q http://apt.duke4.net/key/eduke32.gpg -O- | sudo apt-key add -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debian ==&lt;br /&gt;
&amp;lt;pre&amp;gt;su &amp;amp;&amp;amp; wget -q http://apt.duke4.net/key/eduke32.gpg -O- | apt-key add -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= About packages =&lt;br /&gt;
&lt;br /&gt;
Packages are available for x86 and x86-64 architectures :&lt;br /&gt;
* &#039;&#039;&#039;eduke32&#039;&#039;&#039; : Open source enhanced port of the game Duke Nukem 3D.&lt;br /&gt;
* &#039;&#039;&#039;mapster32&#039;&#039;&#039; : OpenGL maps editor for EDuke32.&lt;br /&gt;
* &#039;&#039;&#039;duke3d-shareware&#039;&#039;&#039; : Duke Nukem 3D shareware files v1.3d.&lt;br /&gt;
* &#039;&#039;&#039;build-engine-utils&#039;&#039;&#039; : Collection of tools to manage the content of the BUILD engine based games.&lt;br /&gt;
&lt;br /&gt;
== Install EDuke32 ==&lt;br /&gt;
Run your packages manager and search &amp;quot;eduke32&amp;quot; or in command-line interface with the root privileges, type :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get update&lt;br /&gt;
apt-get install eduke32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install a different version of a package ==&lt;br /&gt;
&lt;br /&gt;
You may need to install a different version of a package, for that you can do :&lt;br /&gt;
* &#039;&#039;&#039;In command-line interface&#039;&#039;&#039; : &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install eduke32=[version]&amp;lt;/pre&amp;gt;&lt;br /&gt;
example : &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install eduke32=2.0.0devel.20110131.r1786-1&amp;lt;/pre&amp;gt;&lt;br /&gt;
The following command list all available versions for the eduke32 package : &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-cache policy eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;With Synaptic&#039;&#039;&#039; : search and select &amp;quot;eduke32&amp;quot; -&amp;gt; go in the &amp;quot;Package&amp;quot; menu -&amp;gt; &amp;quot;Force Version&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;With PackageKit&#039;&#039;&#039; : search &amp;quot;eduke32&amp;quot;, you will see several versions for EDuke32, install the one that you want.&lt;br /&gt;
&lt;br /&gt;
== High Resolution Pack files ==&lt;br /&gt;
&lt;br /&gt;
All require HRP files can be found at [http://hrp.duke4.net hrp.duke4.net].&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=9797</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=9797"/>
		<updated>2011-06-08T12:06:10Z</updated>

		<summary type="html">&lt;p&gt;Bioman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. The shareware version can be found [http://www.3drealms.com/duke3d/ here]&lt;br /&gt;
* Proper 3D acceleration drivers. NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* Proper MIDI install. The EDuke32 will appear to &amp;quot;randomly&amp;quot; crash without one. Use &#039;&#039;timidity&#039;&#039; for an easy software midi solution.&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
* Current version (You need to install the &#039;&#039;subversion&#039;&#039; program) : &lt;br /&gt;
&amp;lt;pre&amp;gt;svn co https://eduke32.svn.sourceforge.net/svnroot/eduke32/polymer/eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis Source tarballs] (Lite subversion snapshots, it does not include metadata, Apple compiled libraries, third-party jaudiolib and Photoshop files).&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis/old/ Old versions] and [http://dukeworld.duke4.net/eduke32/old_versions/source_code/ Older versions].&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* Nasm (optional)&lt;br /&gt;
* Lib SDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* Lib SDL Mixer &amp;gt; 1.2.6&lt;br /&gt;
* Lib stdc++&lt;br /&gt;
* Lib Vorbis &amp;gt;= 1.1.2&lt;br /&gt;
* Lib PNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
* Lib GTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;On Debian / Ubuntu&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libsdl1.2-dev libsdl-mixer1.2-dev libstdc++6-4.5-dev libvorbis-dev libpng12-dev libgtk2.0-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;On Fedora 14&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install SDL-devel SDL_mixer SDL_mixer-devel SDL_image-devel nasm libstdc++-devel libstdc++-static libpng-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build the EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.X, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options when building. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Various options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;PRETTY_OUTPUT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;use colored output&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Engine options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;USE_OPENGL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables basic OpenGL Polymost renderer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;POLYMER&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables fancy Polymer renderer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NOASM&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;disables the use of inline assembly pragmas&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;LINKED_GTK&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables compile-time linkage to GTK&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;BUILD32_ON_64&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NEDMALLOC&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;USE_LIBPNG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;compile with libpng (used to make screenshots in the PNG format)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Debugging/Build options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;RELEASE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no debugging&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;DEBUGANYWAY&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;include debug symbols even when generating release code&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;KRANDDEBUG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;include logging of krand() calls for debugging the demo system&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;EFENCE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;compile with Electric Fence for malloc() debugging&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;OPTLEVEL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;GCC optimization strategy&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;PROFILER&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;MUDFLAP&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;LTO&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enable link-time optimization, for GCC 4.5 and up&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.&lt;br /&gt;
* mapster32.sym (this file doesn&#039;t seem to be created in newer versions)&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
* eduke32.sym (this file doesn&#039;t seem to be created in newer versions)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
&lt;br /&gt;
== Use the game files ==&lt;br /&gt;
You need to have the original Duke Nukem files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
== Run the game! ==&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net High Resolution Pack] you need to pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g duke3d_hrp.zip hrp_update.zip maphacks.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you need to pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g polymer_hrp.zip polymer_upd.zip polymer_mhk.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g /path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=9796</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=9796"/>
		<updated>2011-06-08T11:38:53Z</updated>

		<summary type="html">&lt;p&gt;Bioman: missing libvorbis-dev&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. The shareware version can be found [http://www.3drealms.com/duke3d/ here]&lt;br /&gt;
* Proper 3D acceleration drivers. NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* Proper MIDI install. The EDuke32 will appear to &amp;quot;randomly&amp;quot; crash without one. Use &#039;&#039;timidity&#039;&#039; for an easy software midi solution.&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
* Current version (You need to install the &#039;&#039;subversion&#039;&#039; program) : &lt;br /&gt;
&amp;lt;pre&amp;gt;svn co https://eduke32.svn.sourceforge.net/svnroot/eduke32/polymer/eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis Source tarballs] (Lite subversion snapshots, it does not include metadata, Apple compiled libraries, third-party jaudiolib and Photoshop files).&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis/old/ Old versions] and [http://dukeworld.duke4.net/eduke32/old_versions/source_code/ Older versions].&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* Nasm (optional)&lt;br /&gt;
* Lib SDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* Lib SDL Mixer &amp;gt; 1.2.6&lt;br /&gt;
* Lib stdc++&lt;br /&gt;
* Lib Vorbis &amp;gt;= 1.1.2&lt;br /&gt;
* Lib PNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
* Lib GTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;On Debian / Ubuntu&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential nasm libsdl1.2-dev libsdl-mixer1.2-dev libstdc++6-4.4-dev libvorbis-dev libpng12-dev libgtk2.0-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;On Fedora 14&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install SDL-devel SDL_mixer SDL_mixer-devel SDL_image-devel nasm libstdc++-devel libstdc++-static libpng-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build the EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.X, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options when building. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Various options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;PRETTY_OUTPUT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;use colored output&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Engine options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;USE_OPENGL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables basic OpenGL Polymost renderer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;POLYMER&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables fancy Polymer renderer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NOASM&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;disables the use of inline assembly pragmas&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;LINKED_GTK&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables compile-time linkage to GTK&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;BUILD32_ON_64&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NEDMALLOC&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;USE_LIBPNG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;compile with libpng (used to make screenshots in the PNG format)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Debugging/Build options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;RELEASE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no debugging&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;DEBUGANYWAY&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;include debug symbols even when generating release code&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;KRANDDEBUG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;include logging of krand() calls for debugging the demo system&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;EFENCE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;compile with Electric Fence for malloc() debugging&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;OPTLEVEL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;GCC optimization strategy&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;PROFILER&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;MUDFLAP&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;LTO&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enable link-time optimization, for GCC 4.5 and up&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.&lt;br /&gt;
* mapster32.sym (this file doesn&#039;t seem to be created in newer versions)&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
* eduke32.sym (this file doesn&#039;t seem to be created in newer versions)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
&lt;br /&gt;
== Use the game files ==&lt;br /&gt;
You need to have the original Duke Nukem files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
== Run the game! ==&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net High Resolution Pack] you need to pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g duke3d_hrp.zip hrp_update.zip maphacks.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you need to pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g polymer_hrp.zip polymer_upd.zip polymer_mhk.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g /path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=9772</id>
		<title>Building EDuke32 on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Linux&amp;diff=9772"/>
		<updated>2011-05-31T05:28:55Z</updated>

		<summary type="html">&lt;p&gt;Bioman: Added polymer_upd.zip&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling From Source =&lt;br /&gt;
&lt;br /&gt;
== Installation Notes ==&lt;br /&gt;
* You need an actual copy of Duke Nukem 3D. The shareware version can be found [http://www.3drealms.com/duke3d/ here]&lt;br /&gt;
* Proper 3D acceleration drivers. NVIDIA has classically had the best Linux drivers.&lt;br /&gt;
* Proper MIDI install. The EDuke32 will appear to &amp;quot;randomly&amp;quot; crash without one. Use &#039;&#039;timidity&#039;&#039; for an easy software midi solution.&lt;br /&gt;
&lt;br /&gt;
== Getting source files ==&lt;br /&gt;
* Current version (You need to install the &#039;&#039;subversion&#039;&#039; program) : &lt;br /&gt;
&amp;lt;pre&amp;gt;svn co https://eduke32.svn.sourceforge.net/svnroot/eduke32/polymer/eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/synthesis Source tarballs] (Lite subversion, it does not include metadata, Apple compiled libraries, third-party jaudiolib and Photoshop files).&lt;br /&gt;
* [http://dukeworld.duke4.net/eduke32/old_versions/source_code/ Older versions].&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for the build ==&lt;br /&gt;
EDuke32 requires some development files installed before you can properly build.&lt;br /&gt;
* Basic dev environment (GCC &amp;gt;= 4.3.3, make, etc)&lt;br /&gt;
* Nasm (optional)&lt;br /&gt;
* Lib SDL &amp;gt;= 1.2.10 &#039;&#039;&#039;or&#039;&#039;&#039; 1.3&lt;br /&gt;
* Lib SDL Mixer &amp;gt; 1.2.6&lt;br /&gt;
* Lib stdc++&lt;br /&gt;
* Lib Vorbis &amp;gt;= 1.1.2&lt;br /&gt;
* Lib PNG &amp;gt;= 1.2.13 (optional)&lt;br /&gt;
* Lib GTK+ &amp;gt;= 2.8.0 (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;On Debian / Ubuntu&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install build-essential libsdl1.2-dev libsdl-mixer1.2-dev nasm libstdc++6-4.4-dev libpng12-dev libgtk2.0-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build the EDuke32 ==&lt;br /&gt;
In a terminal window move to the EDuke32 sources folder and type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
NOTE: with eduke32_src_20080924 and older GCC versions (&amp;lt; 4.3) remove; &amp;lt;code&amp;gt;-finline-small-functions -fpredictive-commoning&amp;lt;/code&amp;gt; options from &amp;lt;code&amp;gt;debug=&amp;lt;/code&amp;gt; options in &amp;lt;code&amp;gt;eduke32/Makefile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;build/Makefile&amp;lt;/code&amp;gt;.  Newer source releases do not have this problem.&lt;br /&gt;
&lt;br /&gt;
NOTE2:&lt;br /&gt;
&lt;br /&gt;
If building fails with GCC version 4.4.X, try: &amp;lt;code&amp;gt;make OPTLEVEL=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it fails again, you can try with another version of GCC, for example: &amp;lt;code&amp;gt;make CC=gcc-4.3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build options ==&lt;br /&gt;
It is possible to define some options when building. Just add them before or after the &#039;make&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;make USE_LIBPNG=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Various options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;PRETTY_OUTPUT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;use colored output&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Engine options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;USE_OPENGL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables basic OpenGL Polymost renderer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;POLYMER&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables fancy Polymer renderer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NOASM&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;disables the use of inline assembly pragmas&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;LINKED_GTK&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enables compile-time linkage to GTK&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;BUILD32_ON_64&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NEDMALLOC&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;USE_LIBPNG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;compile with libpng (used to make screenshots in the PNG format)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Debugging/Build options&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=wikitable width=45%&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Options&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Default value&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;RELEASE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no debugging&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;DEBUGANYWAY&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;include debug symbols even when generating release code&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;KRANDDEBUG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;include logging of krand() calls for debugging the demo system&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;EFENCE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;compile with Electric Fence for malloc() debugging&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;OPTLEVEL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;GCC optimization strategy&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;PROFILER&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;MUDFLAP&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;LTO&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;enable link-time optimization, for GCC 4.5 and up&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Confirm successful compile ==&lt;br /&gt;
These files should now be present in the EDuke32 directory.&lt;br /&gt;
* mapster32.sym (this file doesn&#039;t seem to be created in newer versions)&lt;br /&gt;
* mapster32 (executable)&lt;br /&gt;
* eduke32.sym (this file doesn&#039;t seem to be created in newer versions)&lt;br /&gt;
* eduke32 (exectuable)&lt;br /&gt;
&lt;br /&gt;
== Use the game files ==&lt;br /&gt;
You need to have the original Duke Nukem files and the newly created EDuke32 executables in the same place. So, you could create a new folder (example eduke32_linux) and copy the original game files and the newly created EDuke32 executables there.&lt;br /&gt;
&lt;br /&gt;
== Run the game! ==&lt;br /&gt;
To run the game open up a terminal window, move to the proper directory and type :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To use the [http://hrp.duke4.net High Resolution Pack] you need to pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g duke3d_hrp.zip hrp_update.zip maphacks.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To use the [http://hrp.duke4.net Polymer HRP] you need to pass the -g parameter :&lt;br /&gt;
&amp;lt;pre&amp;gt;./eduke32 -g polymer_hrp.zip polymer_upd.zip polymer_mhk.zip eduke32_mus.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Using the autoload folder :&lt;br /&gt;
Copy mods or HRP files in the &#039;&#039;$HOME/.eduke32/autoload&#039;&#039; folder and it will be automaticaly loaded without additional parameters.&lt;br /&gt;
&lt;br /&gt;
= Installing EDuke32 globally =&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
Installing EDuke32 as an application that you could run anywhere brings some useful advantages and is surprisingly easy to do.&lt;br /&gt;
&lt;br /&gt;
EDuke32 will use the directory you are currently in as the directory to work in, as well as ~/.eduke32 (/home/yourname/.eduke32). This means that you could have a directory, copy a Duke Nukem TC (or mod) in there, cd to that directory and run the global EDuke32 binary without having to make even more copies of the same EDuke32 binaries. EDuke32 will adapt to use the GAME/USER.CON files it finds in the CURRENT directory.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
All you&#039;ll have to do to get EDuke32 to run from anywhere is copy the eduke32 and mapster32 binaries to /usr/local/bin. After doing this, copy the &#039;&#039;duke3d.grp&#039;&#039; file to /usr/local/share/games/eduke32 or ~/.eduke32 (it&#039;s hidden, so try to cd to it or show hidden files). After this you&#039;ll be able to run EDuke32 from any directory on your hard disk!&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
== Lowercase/Uppercase problems ==&lt;br /&gt;
&amp;lt;!-- &#039;&#039;&#039;Shareware&#039;&#039;&#039;&lt;br /&gt;
If you are using the Shareware files located on the 3D Realms website, after you build and combine all the files into one folder and try to run the game you will get an error about the TABLES.DAT file. To correct the error simply rename the DUKE3D.GRP to all lowercase letter. After that the game should run. This isn&#039;t necessary anymore --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maps with extra resources&#039;&#039;&#039;&lt;br /&gt;
Some maps that include extra resources might have trouble finding these new files (for example, an older version of Duke Plus won&#039;t be able to find Step#.wav and Grate#.wav sounds). The EDuke32 log will output a &amp;quot;file not found&amp;quot; error every time this happens. To fix this, change the names of these files to match the exact case given in EDuke32&#039;s log (for example, GRATE#.wav instead of Grate#.wav).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ART file inconsistency&#039;&#039;&#039;&lt;br /&gt;
While most standard resources are referred to as UPPERCASE by EDuke32 (for example, GAME.CON), ART files are not as consistent and should be renamed to lowercase if you want to use custom art (tiles014.art instead of TILES014.ART).&lt;br /&gt;
&lt;br /&gt;
== Running with HRP Notes ==&lt;br /&gt;
If you want to run Polymer with the HRP you will need to provide the path to polymer_hrp.zip (even if its installed globally):&lt;br /&gt;
&amp;lt;code&amp;gt;eduke32 -g /path/to/polymer_hrp.zip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Running EDuke32 with an ATI card is slow for some users.&lt;br /&gt;
One user has had success with a Radeon 4850 and Fedora 12 with the open source default driver plus the latest Mesa experimental - the game runs smooth and pretty fast.&lt;/div&gt;</summary>
		<author><name>Bioman</name></author>
	</entry>
</feed>