v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

Difference between revisions of "Installation"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
(→‎Linux: improve the main linux section as well wrt 64bit stuff)
(→‎via Whisky on Apple Silicon Macs: fixed incorrect line to add; the part in brackets is added by whisky. Adding it manually will crash DF every time. Try yourself please!)
 
(177 intermediate revisions by 51 users not shown)
Line 1: Line 1:
{{Quality|Exceptional|12:06, 26 January 2015 (UTC)}}
+
{{Quality|Fine}}
 
{{av}}
 
{{av}}
<br/>
+
{{TOC right}}
{{quick download|{{current/version/ns}}}}
+
''Dwarf Fortress'' is available as [[Premium version|Premium and Classic versions]]. The installation process depends on the game version.  
<br/>
 
__TOC__
 
= Download =
 
You can always get Dwarf Fortress as [[Main:Toady One|Toady One]], the developer, released it from the [http://www.bay12games.com/dwarves/ Bay12 site] (listed at the top of the page).
 
  
You can also download the latest version from the links at the top of this page.
+
The ''Premium version'' is published on the [https://store.steampowered.com/app/975370/Dwarf_Fortress/ Steam] and [https://kitfoxgames.itch.io/dwarf-fortress itch.io] platforms. Once bought, the game will automatically add to your game library and will handle like any other game on the platform.  
  
Windows users should generally download one of the "Main" (SDL) versions (listed in the first row), unless the "Legacy" version is required for some reason.
+
The ''Classic version'' is freely available directly from the developers, [http://www.bay12games.com/dwarves/ Bay 12 Games]. Simply download the latest version, extract its contents, and play.
  
Mac and Linux users should generally download the SDL version for their platform. While it is possible to run the Windows version under WINE, it is often slower and less stable than the native version.
+
Note that plans for a native MacOS build have been [https://store.steampowered.com/news/app/975370/view/4237410439220288178?l=english cancelled] for the time being, but some people have gotten both the Steam and Classic version working through Wine. [[#MacOS|See below]].
  
== Third-Party Packages ==
+
= Classic Download =
 +
{{quick download|0.{{current/version/ns}}}}
 +
''Dwarf Fortress Classic'' is freely available directly from the developers, [http://www.bay12games.com/dwarves/ Bay 12 Games]. Simply find the version that matches your operating system and click the link. You may be prompted to save an archive file, or your browser may save it to its configured downloads folder, do so and follow the installation instructions bellow.
  
These packages include the game as well as several utilities and graphics sets, configurable with an included launcher.
+
:The download linked at the top of the main page is a 64-bit version for Windows. "All versions" links to a page with additional choices depending on version, possibly including "small" builds for Windows (which lack sound files).
*[http://www.bay12forums.com/smf/index.php?topic=126076 PeridexisErrant's Dwarf Fortress Starter Pack] (Windows) - A more comprehensive, and more importantly, up-to-date implementation of LusasUP's original Lazy Newb Pack.
 
*[http://www.bay12forums.com/smf/index.php?topic=128960 Fricy's MacNewbie] - essentially a very well maintained Lazy Newb Pack, for OS X.
 
*[http://www.bay12forums.com/smf/index.php?topic=140966 Beautato's Linux Lazy Newb Pack] - a basic unmaintained (Last update March 29, 2015) package for Linux
 
  
The Dwarf Fortress community often creates custom [[Graphics set repository|graphics sets]], [[Tileset repository|tilesets]] and [[Color_scheme#Custom_color_schemes|color schemes]]. They're like graphical mods that make DF look prettier or just different. A lot of people pack the game folder with the tileset installed and everything already set up, so all you have to do is extract and play. Among the most popular of these are [http://www.bay12forums.com/smf/index.php?topic=53180.0 Ironhand's Graphics Set] and [http://www.bay12forums.com/smf/index.php?topic=57557.0 Phoebus' Graphic Set].  Most notable graphics sets are included in the packs above.
+
== DFHack and other third-party packages ==
  
= Installation =
+
The most prominent add-on to install for ''Dwarf Fortress'' is [[Utility:DFHack|DFHack]], which introduces a wide variety of interface improvements, bugfixes, and productivity tools. If you have installed ''Dwarf Fortress'' via Steam, you can also [https://store.steampowered.com/app/2346660/DFHack install DFHack from Steam]. Players of other ''Dwarf Fortress'' distributions can download and install DFHack from DFHack's [https://github.com/dfhack/dfhack/releases GitHub releases page].
:''Also see: [[System requirements]]''
 
  
== Windows ==
+
If you have an older version of DF, you might be interested in the [[Utility:Lazy Newb Pack|Lazy Newb Pack]], which bundles a number of utilities and graphic sets (including DFHack). With recent (''50.01+'') versions of ''Dwarf Fortress'', a Lazy Newb Pack is no longer needed.
  
There is no installer for the game. Simply extract the archive file to a folder somewhere and run the game from within the folder by opening "Dwarf Fortress.exe".
+
There are also a wide variety of player-made mods available at the [https://steamcommunity.com/app/975370/workshop/ Dwarf Fortress Steam Workshop] and the [http://www.bay12forums.com/smf/index.php?board=27.0 Bay 12 forums]. If you don't have a Steam account, workshop mods can also be downloaded from Steam using the [https://developer.valvesoftware.com/wiki/SteamCMD steamcmd] commandline utility.
  
Make sure to actually ''extract'' the archive; do not just open the archive and run the game from the window that appears. If you do this then it may appear to work, but your save game data will get discarded. This is the cause of many "my saved games keep getting deleted" complaints. The game also needs to be able to write to its own folder, so do '''not''' install it in C:\Program Files if you are running Windows Vista or later.
+
= Classic Installation =
 +
:''Also see: [[System requirements]]''
  
If you have an error stating that MSVCP140.dll is missing, it can be obtained by downloading [https://www.microsoft.com/en-us/download/details.aspx?id=48145 Visual C++ Redistributable for Visual Studio 2015]. When prompted choose the x86 version.
+
== Windows ==
 
 
== Mac ==
 
  
The Mac version is not a single application bundle, but like the Windows version it consists of a folder containing the application along with data files and there is no installer. The entire folder can be dragged into the Applications folder or placed elsewhere. As with the Windows version, the game must be able to write to its own folder.
+
There is no installer for the game. Simply right-click the zip archive you downloaded and choose <code>Extract All...</code>, then choose a destination folder, and click <code>Extract</code> (or maybe <code>Unzip</code> or <code>Next</code> on older versions of Windows). By default Windows uses the name of the archive as the folder name, in the folder the archive is in, so something like <code>C:\Users\yourusername\Downloads\df_50_12_win</code>. You should change that to something like <code>C:\Users\yourusername\Desktop\Dwarf Fortress</code> or <code>C:\games\Dwarf Fortress</code>. After the files have been extracted, double-click the <code>Dwarf Fortress.exe</code> file within the folder you chose to start the game.
  
To start the game execute the launch script "df". Launching "dwarfort.exe" by itself will ''not'' work (since the "df" script sets up [[wikipedia:environment variables|environment variables]] pointing to DF's libraries).
+
* Make sure to actually ''extract'' the archive; do not just double-click the archive and run the game from the window that appears. If you do this, then it may appear to work, but your save game data will get discarded - the cause of many "my saved games keep getting deleted" complaints.
 +
* The game needs to be able to write to its own folder, choose a game folder your user has write access to without requiring administrator rights for example: your <code>Downloads</code> folder, <code>Desktop</code>, or <code>C:\games\..</code>; do '''not''' install it in <code>C:\Program Files\..</code> unless you know how to set up the correct permissions.
  
On OS X 10.8 and above, you will need to [http://www.bay12games.com/dwarves/mantisbt/view.php?id=7389#c32194 update the SDL_ttf library] to run Dwarf Fortress. {{bug|7389}}
+
Troubleshooting:  
* [https://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-2.0.11.dmg Download] SDL_ttf 2.0.11 and replace the file libs/SDL_ttf.framework with the one from the downloaded folder.
 
  
On OS X 10.11 and above, you will need to [http://www.bay12games.com/dwarves/mantisbt/view.php?id=2624#c33110 update the SDL library]:
+
* If you have an error stating that MSVCP140.dll or MSVCP140_ATOMIC_WAIT.dll is missing, it can be obtained by downloading the [https://aka.ms/vs/17/release/vc_redist.x64.exe Visual C++ Redistributable for Visual Studio 2022].
* [https://www.libsdl.org/release/SDL-1.2.15.dmg Download] SDL 1.2.15 and replace the file libs/SDL.framework with the one from the downloaded folder
+
* If Windows is set to scale the display, you may need to disable that for DF. Right-click the ''Dwarf Fortress.exe'' icon, select '''Properties''', select the '''Compatibility''' tab, and then activate the '''Disable display scaling on high DPI settings''' (or '''Override high DPI scaling behavior, scaling performed by: Application''') check box.[https://support.microsoft.com/en-us/help/3025083/windows-scaling-issues-for-high-dpi-devices]
  
Alternatively, instead of replacing SDL, you can change the PRINT_MODE setting in data/init/[[init.txt]] to STANDARD (or anything not related to 2D). {{bug|2624}}
+
Creating shortcuts:
  
Retina display users will also need to change PRINT_MODE to STANDARD (or any non-2D option) in [[init.txt]]. {{bug|6031}}
+
* Right-click the <code>Dwarf Fortress.exe</code> file and choose any of <code>Pin to Start</code>, <code>Pin to taskbar</code>, or <code>Send To > Desktop (create shortcut)</code>. (The availability of these options may vary depending on the version of Windows.)
  
 
== Linux ==
 
== Linux ==
  
As of 0.43.05, both 64-bit and 32-bit compiled editions are available for Dwarf Fortress. For older versions you can run the 32-bit compiled edition with a 64-bit system, provided that you have the (32-bit) shared libraries available that the program needs. Note that users of 32-bit systems have to click the All Versions button on the Dwarf Fortress download page in order to get the 32-bit edition.
+
''Dwarf Fortress'' for Linux is expected to be run from a terminal (command-line) interface, and so the instructions here will assume you know how to log in and get to a command prompt. By default, however, ''Dwarf Fortress'' is a graphical desktop program (an X client), so you should be in a terminal emulator (inside an X session) before starting the game. ''Dwarf Fortress'' will create a new window outside of the terminal window by default, so don't worry about the size of the terminal.
 
 
Dwarf Fortress for Linux is meant to be run from a terminal (command-line) interface, and so the instructions here will assume you know how to login and get to a command prompt. At least in the default mode, however, Dwarf Fortress is an X client (graphical desktop) program, so you should be in a terminal inside an X session before starting the game. Dwarf Fortress will create a new X window outside of the terminal window, so don't worry about the size of the terminal.
 
 
 
*'''Downloading''': Either download it from the [http://www.bay12games.com/dwarves/ Dwarf Fortress Homepage], or from the terminal call (replacing "XX_YY" with the numbers in the most current Dwarf Fortress file version, found on the [http://www.bay12games.com/dwarves/ site]):
 
<code>wget http://www.bay12games.com/dwarves/df_XX_YY_linux.tar.bz2</code>
 
* '''Unpacking''': Dwarf Fortress is shipped as a (bzip2) compressed tar archive.  It will extract into a new directory called '''df_linux'''.  So, cd to wherever you want the game to be unpacked, and then run <code>tar xjf /path/to/df_XX_YY_linux.tar.bz2</code> (where df_XX_YY_linux.tar.bz2 is the filename).  Then <code>cd df_linux</code> to change into the new directory, and run <code>./df</code> to execute the Dwarf Fortress wrapper script.
 
 
 
(note: <code>tar xjvf ./df_XX_YY_linux.tar.bz2</code> may be needed in some cases.)
 
 
 
When you installed Linux, you chose one of a 32-bit or 64-bit architectures. The programs on your system will then be compiled either for the 32-bit (i386, x86) arch, or the 64-bit (amd64, x86_64) arch.  If you've forgotten which one you have, you can check by running the command <code>uname -m</code> in a terminal. A result of <code>x86_64</code> and <code>i686</code> would indicate a 64-bit or a 32-bit system respectively.
 
 
 
All that's needed now is to install the required dependencies. If you are getting errors about missing SDL_image libraries (etc.) then you simply need to install them. Use your distribution's package manager for this -- details will be extremely distribution-specific. You don't need the development versions of the packages with the headers (although that won't hurt) -- you just need the runtime versions, with the actual shared libraries. Specific installation commands for some popular distributions are listed below.
 
 
 
Since Dwarf Fortress 0.43.05 is now compiled for both architectures, running natively shouldn't be an issue. However if you're wanting to run an older version of Dwarf Fortress on a 64-bit system, things get a bit trickier. Since older DF is only a 32-bit application, it will need 32-bit versions of the shared libraries. Some Linux distributions provide these in one or more packages that you can download. For example, in Debian, you'll need to enable the 32bit architecture in your package manager and install the relevant 32-bit libraries like libSDL. If your distribution does not include these, then you may have to supply them manually.
 
 
 
 
 
=== Debian-based ===
 
==== 64bit ====
 
If you're trying to run a version of Dwarf Fortress older than 0.43.05, you'll need to install the 32bit versions of the libraries. You can do this like:
 
 
 
  $ sudo dpkg --add-architecture i386
 
  $ sudo apt-get update
 
  $ sudo apt-get install libsdl-image1.2:i386 libsdl-ttf2.0-0:i386 libgtk2.0-0:i386 libglu1-mesa:i386 libopenal1:i386
 
 
 
Otherwise, it's just a simple
 
 
 
  $ sudo apt-get install libsdl-image1.2 libsdl-ttf2.0-0 libgtk2.0-0 libglu1-mesa libopenal1
 
 
 
 
 
==== 32bit ====
 
Nice and easy:
 
 
 
  $ sudo apt-get install libsdl-image1.2 libsdl-ttf2.0-0 libgtk2.0-0 libglu1-mesa libopenal1
 
 
 
 
 
=== Fedora ===
 
 
 
  $ sudo dnf install SDL SDL_image SDL_ttf gtk2-devel openal-soft alsa-lib alsa-plugins-pulseaudio mesa-dri-drivers
 
 
 
On 64-bit Fedora installations you can install 32-bit libraries by appending ".i686" to the package name:
 
 
 
  $ sudo dnf install SDL.i686 SDL_image.i686 SDL_ttf.i686 gtk2-devel.i686 openal-soft.i686 alsa-lib.i686 alsa-plugins-pulseaudio.i686 mesa-dri-drivers.i686
 
 
 
Fedora installs all 32-bit libraries to /usr/lib and 64-bit libraries to /usr/lib64 (with /lib and /lib64 being links to these two directories), so if you need to install stuff manually, look in there.
 
 
 
You can also use [https://www.acm.jhu.edu/~bjr/pages/dwarf-fortress-for-fedora.html this RPM repository], which contains Dwarf Fortress as packaged similarly to the way it is done for Arch Linux (see below). You can enable that repository and install Dwarf Fortress on Fedora by running the following commands:
 
 
 
  $ sudo wget -P /etc/yum.repos.d/ https://www.acm.jhu.edu/~bjr/fedora/dwarffortress/dwarffortress.repo
 
  $ sudo dnf install dwarffortress
 
 
 
This should automatically pull in all required dependencies. At which point, running the command "dwarffortress" should launch DF.
 
 
 
=== Arch Linux ===
 
Although Dwarf Fortress may be installed using the method above (with some modifications), it is available through pacman (Arch Linux's package management system), in the [community], for 32-bit, and the [multilib], for 64-bit, repositories. These packages are updated as Dwarf fortress is updated, and handle required dependencies. 
 
 
 
==== 32-bit ====
 
All of the following commands must be run as root
 
 
 
First, download and install Dwarf Fortress with pacman
 
  pacman -S dwarffortress
 
Any required dependencies will be installed, too.
 
 
 
Next you need to add the user(s) that will be playing the game to the games group
 
  gpasswd -a [users] games
 
 
 
Any users you added to the games group must now be logged out, if they were logged in
 
 
 
Now Dwarf Fortress should be playable by typing:
 
  dwarffortress
 
As any user in the games group. Any edits to game files must be done in the '.dwarffortress' directory in the user's home directory, not /opt/dwarffortress.
 
 
 
==== 64-Bit ====
 
Installing Dwarf Fortress on 64-bit installs of Arch Linux is the same as installing it on 32-bit systems, with the exception of the [multilib] repository needing to be enabled prior to install. 
 
 
 
These commands also must be run as root.
 
  
To enable the [multilib] repository run:
+
'''Downloading''': Either download it from the [http://www.bay12games.com/dwarves/ Dwarf Fortress Homepage] with a web browser, or with the following terminal command, replacing "XX_YY" with the numbers in the desired ''Dwarf Fortress'' file version, found on the [http://www.bay12games.com/dwarves/ site]:
  nano /etc/pacman.conf
+
  wget http://www.bay12games.com/dwarves/df_XX_YY_linux.tar.bz2
And delete the pound symbol(#) in front of these three lines (Make sure the top one says #[multilib] NOT #[multilib-testing]
 
#[multilib]
 
#SigLevel = PackageRequired
 
#Include = /etc/pacman.d/mirrorlist
 
So that they look like this
 
[multilib]
 
  SigLevel = PackageRequired
 
Include = /etc/pacman.d/mirrorlist
 
Save the file by typing
 
  ctrl x
 
  
Then run:
+
'''Unpacking''': ''Dwarf Fortress'' is shipped as a (bzip2) compressed tar archive. Current builds will extract directly into the current directory, so create a new subdirectory in a suitable location (perhaps <code>~/games/df_linux</code>), <code>cd</code> to it, and then run
  pacman -Syyu
+
tar -xjf /path/to/df_XX_YY_linux.tar.bz2
 +
where /path/to/df_XX_YY_linux.tar.bz2 is the path and filename of the actual file you downloaded.
  
===== Sound and Graphics =====
+
'''Dependencies:''' ''Dwarf Fortress'' requires at least the SDL2 and SDL2_image libraries. If you downloaded Classic or Itch builds of DF, these libraries are not included. To install these libraries, run the appropriate command for your distro:
  
After that you can continue the install as detailed in the 32-bit section. Required 32-bit dependencies will automatically be installed, however you may have to install more dependencies, depending on what sound support you use, and your graphics card
+
* on Debian-based systems (e.g. Ubuntu/Linux Mint/Pop!_OS):
 +
sudo apt install libsdl2-image-2.0-0
 +
* on Fedora/CentOS, use one of the following depending on your package manager:
 +
sudo dnf install SDL SDL_image
 +
# or:
 +
sudo yum install SDL SDL_image
 +
* on OpenSUSE:
 +
sudo zypper in libGLU1 libSDL_image-1_2-0
  
If you use alsa sound, install lib32-alsa-lib with:
+
note: these lists may not be exhaustive.
  pacman -S lib32-alsa-lib
 
  
If use use pulse sound install lib32-libpulse with:
+
'''Running''': First, change to the new directory
  pacman -S lib32-libpulse
+
cd df_linux
 +
then run the program.
 +
./dwarfort
  
You will also need to install a 32-bit graphics driver. Install the driver from multilib that corresponds to your driver/device on [https://wiki.archlinux.org/index.php/Xorg#Driver_installation this chart]. ''For example'', if you have xf86-video-nouveau installed, you would run:
+
If you have [[Utility:DFHack|DFHack]] installed, instead run
  pacman -S lib32-mesa-libgl
+
./dfhack
 +
which will set up the console as a DFHack command terminal. The DFHack launcher also solves some issues with loading libraries that you may otherwise run into.
  
If you don't know what driver/device you're currently using run:
+
'''Troubleshooting''':  
  lspci -k
 
  
Find the line that starts with "VGA compatible controller." Your driver will be listed under "kernel driver in use", like so:
+
Now you need to ensure that the required dependencies are installed. If you try to run the game and get errors about missing SDL_image libraries (etc.) then you need to install them. Use your distribution's package manager for this - details will be extremely distribution-specific. You don't need the development versions of the packages with the headers (although that won't hurt) - you just need the runtime versions, with the actual shared libraries.
  01:00.0 VGA compatible controller: NVIDIA Corporation GK106M [GeForce GTX 765M] (rev a1)
 
          Subsystem: ASUSTeK Computer Inc. Device 119d
 
          Kernel driver in use: nvidia
 
          Kernel modules: nouveau, nvidia
 
  
If you are using/wish to use the AMD catalyst drivers, please note that they are no longer available within the main arch repositories. You will have to install them from the AUR. [https://wiki.archlinux.org/index.php/AMD_Catalyst#Installation See here for more information.]
+
If sound is not working for you, load the game through the DFHack launcher (<code>./dfhack</code>) or change the startup command to:
 +
LD_LIBRARY_PATH=. ./dwarfort
  
If you have Nvidia graphics, you may also want to install lib32-nvidia-utils with:
+
If you see any errors related to glibc when starting DF (for example, "version `GLIBC_2.34' not found"), your version of Linux is too old and will need to be upgraded (e.g. Ubuntu 20.04 LTS is insufficient, but 22.04 LTS should work). Alternatively, you can try running the Windows version in Wine.
  pacman -S lib32-nvidia-utils
 
  
=== CentOS 7 ===
+
== MacOS ==
CentOS7 is 64-bit, and not all of the required libraries are in the repositories. However, the process is not all that bad, and the last step for the openal library could probably be extended to all of the required libraries for running Dwarf Fortress on other versions of linux.
+
Although there is no native build, you can run Dwarf Fortress Premium version on a Mac through either [https://getwhisky.app Whisky] or [https://www.winehq.org/ Wine]. Whisky only works on Apple Silicon Macs, but is the preferred option if you are on Apple Silicon.
  
Install the 32-bit libsdl. The .i686 implies 32-bit:
+
=== via Whisky on Apple Silicon Macs ===
  sudo yum install SDL.i686
+
* Download the zip file for the [https://github.com/Whisky-App/Whisky/releases lastest release of Whisky].
 +
* Unzip the app and, optionally, move it to your /Applications/ folder.
 +
* Open the Whisky app and verify in the Setup settings that Rosetta and "WhiskyWine" are installed and checked. (Versions of Whisky prior to v2.3.0 will have "GPTK" instead of "WhiskyWine".<sup><nowiki>[</nowiki>[https://github.com/Whisky-App/Whisky/commit/d98a8147f1e25bffc9501020a45423f217e6a4cc source]]</sup>)
 +
* Create your first bottle. Win10 will work fine.
 +
* Click Bottle Configuration, then Open Wine Configuration. In the pane “Libraries”, add a new override:
 +
msvcp140_atomic_wait
 +
* Download Steam for Windows installer on your Mac
 +
* In Whisky click “Open C: Drive”, navigate to your Steam installation file, double-click the file and follow the instructions.
 +
* You should be able to run Steam and log in. Install Dwarf Fortress and strike the earth!
  
Fortunately, the PUIAS repos have compiled SDL_image for CentOS7 (PUIAS seems to be it's own version of linux, but all of the related libraries seem to have CentOS7 as the distribution). Get it [http://pkgs.org/centos-7/puias-x86_64/SDL_image-1.2.12-7.sdl7.i686.rpm.html here]. For SDL_ttf, you can use the i686 rpm intended for Fedora 18.  Other versions would probably work, but this one is tested on at least one system.  Get it here [http://rpmfind.net/linux/rpm2html/search.php?query=libSDL_ttf-2.0.so.0 here]; the filename is SDL_ttf-2.0.11-2.fc18.i686.rpm.  *Note: since this rpm was intended for Fedora, there may be some conflicts related to it - if you feel uneasy, you could probably apply the local library method to this rpm.  Install both rpm's:
+
You can install DF Hack through Steam too. If this fails (as it does for some) you can install it manually. Download the [https://github.com/dfhack/dfhack/releases latest release from their GitHub]. Unpack the zip and copy all files inside the DF Hack folder into your Dwarf Fortress folder. The DF folder can be found here: Library > Containers > Whisky > Bottles > (individual string of letters and numbers representing your bottle) > drive_c > Program Files (x86) > Steam > steamapps > common > Dwarf Fortress
  sudo rpm -Uvh SDL_image-1.2.12-7.sdl7.i686.rpm
 
  sudo rpm -Uvh SDL_ttf-2.0.11-2.fc18.i686.rpm
 
  
The PUIAS repository also has a CentOS7 32-bit openal library.  However, if you have a media player installed such as VLC, the rpm will conflict and fail to install.  A solution to this is to make a custom libraries folder in your home path. Download the rpm [http://pkgs.org/centos-7/puias-x86_64/openal-soft-1.15.1-3.sdl7.i686.rpm.html here], and move it to its own directory for simplicity, such as ~/test.  Then, extract the rpm, copy the /usr/ files to your local folder, and finally fix a library linking issue:
+
For the Classic version follow the steps to create a Win10 bottle. Download the latest classic version from the[https://www.bay12games.com/dwarves/ Dwarf Fortress website]. Unpack the .zip file. Click “Open C: Drive” in Whisky and navigate to the unzipped classic version. Click Dwarf Fortress.exe to run the game.
  rpm2cpio openal-soft-1.15.1-3.sdl7.i686.rpm | cpio -idmv
 
  cp -r ./usr/* ~/local
 
  ln -s ~/local/lib/libopenal.so.1 ~/local/lib/libopenal.so
 
  
Finally, create a custom run script which will link the openal libraries to Dwarf Fortress and the launch the game. cd into df_linux, and then open your favorite text editor and save the following script in a file with a name such as 'run':
+
=== via Wine for older MacOS distributions ===
  #!/bin/bash
+
Wine needs [https://brew.sh/ Homebrew] to be installed, which is a Mac OS packet manager. If you don't have any experience with this, it might seem a bit overwhelming at first, but you should be fine just following the step-by-step guide below. If you need help with Homebrew, you find plenty of tutorials on the web. You will also need to run [https://en.wikipedia.org/wiki/Terminal_(macOS) Terminal], which is a build in App you can find and start through a search via Spotlight.  
  export LD_LIBRARY_PATH=~/local/lib
 
  ./df
 
  
Save the script, and set it to executable:
+
If you have Homebrew installed, you can open Terminal and paste the following for installing Wine through brew.
  sudo chmod 777 run
+
brew install --cask --no-quarantine wine-stable
  
Then run it!
+
Be sure to consult the [https://wiki.winehq.org/MacOS winehq website] for the most up to date instructions. If you don't have brew installed, follow the instructions on [https://brew.sh brew's website] before running the above command.
  ./run
 
  
=== Gentoo ===
+
For the Classic version, download the Windows version available on the [https://www.bay12games.com/dwarves/ Dwarf Fortress website] (see [[#Classic Download|Classic Download]] for a direct download link). A .zip file named df_50_13_win.zip or similar should automatically download and extract itself in your Downloads folder. Open the folder, right click Dwarf Fortress.exe, click Open With and then click Wine Stable. If (default) appears next to this, you don't need to do this next time and you can just double click Dwarf Fortress.exe to run it.
  
There is a a Dwarf Fortress [https://packages.gentoo.org/package/games-roguelike/dwarf-fortress ebuild] in the main Gentoo's portage tree compatible with the new multilib support.
+
For the Steam version, first the caveat that you shouldn't buy it with the expectation of it working on MacOS. It is ''not'' officially supported on MacOS and so if you don't have a Windows or Linux machine as a backup, then you risk not being able to play what you paid for in the future, even if it happens to work for some people today.
  
  # emerge -av games-roguelike/dwarf-fortress
+
That aside, download the Windows version of Steam from [https://store.steampowered.com/about/ Steam's website] by clicking on the little Windows icon. Right click SteamSetup and Open With Wine Stable. It might take a minute, but it should pop up the installer. The default options Steam gives should be okay. Once you're able to log in to Steam, download Dwarf Fortress from Steam like you would on Windows. You should be able to run Dwarf Fortress afterwards.
  
=== Wine ===
+
Opening the Wine version of Steam again after closing it is a bit more tricky. Open Finder and press shift command G or click Go > Go to folder. Paste <code>~/.wine/drive_c/Program Files (x86)/Steam</code> into the prompt and press enter. You can then click steam.exe to run Steam again, or click steamapps > common > Dwarf Fortress to backup your saves and run Steam Dwarf Fortress directly by opening it with Wine.
Downloading the windows version and running it with Wine works fine ([https://appdb.winehq.org/objectManager.php?sClass=version&iId=32503 platinum] on 1.7.47 as of .4x.xx, which means the program runs flawlessly without any initial user configuration). This also avoids any issues with 32-bit versus 64-bit mode.
 
  
=== Troubleshooting ===
+
Creating shortcuts:
If you get errors, it is likely that others will have had the same problem; Try searching the bay12games forum with the error message.
 
==== Sound ====
 
  
After installing, DF will run, but will complain that it cannot find the OpenAL library and cannot play sounds, even when OpenAL (i386) has been installed. This is due to a bug/feature in which there is no link from the name of the library that DF is looking for ("libopenal.so") to its implementation ("libopenal.so.1" - technically another link). To fix this, simply provide the necessary links in DF's own ''libs'' directory:
+
* Right-click the <code>Dwarf Fortress.exe</code> file and choose <code>Make alias</code>. It should make a file in the same folder called Dwarf Fortress.exe alias. You can rename it and move it wherever you want. You can also make aliases for the Steam and Dwarf Fortress folders, so you don't have to find the hidden Windows files through Finder again.
 
 
  $ cd df_linux/libs
 
  $ ln -s /usr/lib/i386-linux-gnu/libopenal.so.1 ./libopenal.so
 
  $ ln -s /usr/lib/i386-linux-gnu/libsndfile.so.1 ./libsndfile.so
 
 
 
==== Upgrading ====
 
 
 
Since every new version of Dwarf Fortress unpacks in a directory named '''df_linux''' you have to manage upgrades yourself - or use the [http://dffd.wimbli.com/file.php?id=9639 Linux Updater Script]. As on all systems, you should '''not''' unpack a new version of DF on top of an old version's directory -- this will cause things to break, usually in subtle and mysterious ways.  Instead, you should either delete or rename the old '''df_linux''' directory first, before extracting the new version.
 
 
 
==== Manually installing 32-bit libraries ====
 
 
 
If you do need to manually install the libraries, then the first step is to figure out where you will be putting them.  Check to see where your other 32-bit libraries are already installed; for example, on Debian, some are in /lib32 and others are in /usr/lib32.  Since libSDL is in /usr/lib32 on a Debian system, that's where we'll want to put libSDL_image and libSDL_ttf.  On other distributions, the path could be different.
 
 
 
The second step is to get the 32-bit libraries.  You can typically do this by downloading them directly from your distribution's 32-bit package repository.  Again using Debian as our example, we can perform a search at http://packages.debian.org/ for files containing the word libSDL_image for the Intel x86 architecture.  This takes us to [http://packages.debian.org/search?searchon=contents&keywords=libSDL_image&mode=filename&suite=stable&arch=i386 a results page] from which we can proceed to [http://packages.debian.org/squeeze/libsdl-image1.2 the libsdl-image1.2 package page] with a list of download links arranged by architecture.  Grab the i386 package from here, and repeat this for the libSDL_ttf package, and whatever other library you are missing.  Store these package files somewhere convenient.
 
 
 
The third step is to extract the libraries from the packages and get them in the proper location.  You probably ''won't'' be able simply to install the packages using your package manager, because they are for the wrong architecture.  Instead, you'll probably have to extract them by hand.  The steps for doing this are distribution-specific, so when in doubt consult your distribution's help resources. Here are the steps for a .deb package.
 
 
 
* cd into some temporary working directory such as /tmp
 
* Extract the files from the .deb archive, which is in ar(1) format:
 
  tar x /path/to/libsdl-image1.2*_i386.deb
 
: This creates three files: debian-binary, control.tar.gz and data.tar.gz.  We only care about data.tar.gz.
 
* Extract data.tar.gz:
 
  tar xzf data.tar.gz
 
: This creates a subdirectory named usr with various files inside it.  We only care about usr/lib/libSDL_image-1.2.so.0.8.2 (or whatever precise version yours has).
 
* Move the shared library into place:
 
  sudo mv usr/lib/libSDL_image-1.2.so.* /usr/lib32/
 
* Create a symlink to it:
 
  cd /usr/lib32
 
  sudo ln -s libSDL_image-1.2.so.0.* libSDL_image-1.2.so.0
 
  cd -
 
 
 
Repeat this for libSDL_ttf and whatever other libraries are required.
 
 
 
'''NOTE''': If you get the error that libsndfile.so is not found, you must use the following:
 
  find */libsndfile.so*
 
cd to the correct directory, then use ln as shown above.
 
 
 
 
 
==== "Not found: /data/art/mouse.png" and similar errors ====
 
===== Fix 1: Preload zlib=====
 
Due to incompatibilities between DF's included zlib and newer versions of zlib, libpng can fail on newer systems. A solution is to add this line to the beginning of <code>/your/path/df_linux/df</code> (or <code>/your/path/df_linux/dfhack</code> if you use [[DFHack]]):
 
export LD_PRELOAD=/usr/lib/libz.so.1
 
Note that this path can vary - be sure that it is referring to a '''32-bit''' zlib.
 
===== Fix 2: Use bmp instead =====
 
Another solution (if preloading zlib doesn't work) is to force DF to use the BMP versions of image files. You must first edit the ''/data/init/init.txt'' file and change all occurrences of "png" to "bmp". This should solve all the error messages except for one: "''Not found: data/art/mouse.png''" since there is no setting in the init files to change it. The workaround for this is to edit the ''Dwarf_Fortress'' file found in the ''/your/path/df_linux/libs'' folder which contains the setting for the mouse cursor.
 
If you don't know how to do that, you can try this:
 
* cd to the ''/df_linux/libs'' folder
 
* open ''Dwarf_Fortress'' in ''vi'' or any other editor of your choise:
 
  vi ./Dwarf_Fortress
 
: This opens the file for editing (text mode). If you are not familiar with ''vi'', it would be a good idea to follow these steps exactly and not press any other keys since they all activate specific commands. If you do press a key though, you can press the ''ESC key'' a few times to cancel the command.
 
* With vi open, write the following string and press ''Enter'':
 
  /mouse
 
: This will search for all the strings that contain the word "mouse" and place the cursor on the first match. Pressing the ''n key'' will cycle through all the matches.
 
* Press the ''n'' key until the cursor moves to the desired string, which is "''data/art/mouse.png''". If you accidentally move past the string, you can cycle back through the matched strings using the ''N key'' (shift + n).
 
* Once you find the right string, you will have to move the cursor over the "p" in "[..]/mouse.<b>p</b>ng". You do that by pressing the ''l key'' which will move the cursor to the right. There is also the ''h key'' to move the cursor to the left, in case you move past it.
 
* With the cursor in the right position press the following key sequence:
 
  xxxibmp
 
: This will replace the ''.png'' extension with the ''.bmp'' one which solves the problem of the missing ''/data/art/mouse.png'' error.
 
* All there is left to do is to save the modifications to the file and quit ''vi''. For that, press the ''ESC key'' once or twice and then press the following key sequence after which you press ''Enter'':
 
  :wq
 
: This saves the changes and quits 'vi'
 
 
 
Now the game should work properly. Have fun!
 
 
 
==FreeBSD==
 
 
 
Although there is no official version ported to FreeBSD, Dwarf Fortress can nevertheless be run using either Wine or FreeBSD's compatibility with Linux. However, attempting to run the Linux version out of the blue will result in an error about missing library files. Such files must be downloaded from special linux-compatible packages or ports; using your preferred installation method, install the following:
 
 
 
===linux-c6===
 
  sudo pkg install linux-c6-gtk2 linux-c6-sdl linux-c6-sdl_image linux-c6-sdl_ttf linux-c6-libGLU \
 
  linux-c6-openal-soft linux-c6-libsndfile linux-c6-alsa-plugins-oss
 
 
 
===linux-f10===
 
If you don't have the linux-c6 ports available in your system, you can still run Dwarf Fortress (albeit without sound) using the following packages:
 
  sudo pkg install linux-f10-alsa-lib linux-f10-atk linux-f10-cairo linux-f10-expat linux-f10-fontconfig \
 
  linux-f10-gtk2 linux-f10-jpeg linux-f10-pango linux-f10-png linux-f10-sdl linux-f10-sdl_image linux-f10-tiff \
 
  linux-f10-xorg-libs linux-sdl_ttf linux_base-f10 linux_dri linux-f10-libGLU
 
linux_dri might be optional if you have the NVIDIA driver. Note that due to the lack of a linux-f10-libsndfile port, the sound will not work. Requests are being made to [http://lists.freebsd.org/pipermail/freebsd-ports-bugs/2013-January/247698.html port] it, as well as a [https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=178474 DF] port itself.
 
 
 
 
 
After you install the required packages, copy (or symlink) DF's own library files to the linux-compatible directory:
 
  cd dwarf_fortress_directory
 
  sudo cp libs/lib* /compat/linux/usr/lib/
 
Or
 
  cd dwarf_fortress_directory
 
  sudo ln -s libs/lib* /compat/linux/usr/lib/
 
 
 
You can then run df normally. Although it will likely display a bunch of warnings and errors about fonts, it should work.
 
 
 
If you want to avoid polluting your linux-compatible directory, you can always just set LD_LIBRARY_PATH when running df:
 
  LD_LIBRARY_PATH=libs:$LD_LIBRARY_PATH ./df
 
  
 
= Documentation =
 
= Documentation =
  
Fortunately the documentation on this wiki is very detailed and extensive. You may want to start out with:
+
Fortunately, the documentation on this wiki is very detailed and extensive. You may want to start out with:
 
* [[Tutorials]]
 
* [[Tutorials]]
 
* [[Quickstart_guide|Fortress Mode Quickstart Guide]]
 
* [[Quickstart_guide|Fortress Mode Quickstart Guide]]
Line 315: Line 134:
 
* [[Adventure mode|Adventure Mode reference]]
 
* [[Adventure mode|Adventure Mode reference]]
 
* [[Special:Search|Searching]] the wiki
 
* [[Special:Search|Searching]] the wiki
 +
 +
DFHack has its own documentation site:
 +
* [https://docs.dfhack.org/en/latest/index.html DFHack docs]
  
 
{{Getting Started}}
 
{{Getting Started}}
 +
[[ru:Installation]][[zh:Installation]]

Latest revision as of 20:14, 14 November 2024

This article is about the current version of DF.
Note that some content may still need to be updated.

Dwarf Fortress is available as Premium and Classic versions. The installation process depends on the game version.

The Premium version is published on the Steam and itch.io platforms. Once bought, the game will automatically add to your game library and will handle like any other game on the platform.

The Classic version is freely available directly from the developers, Bay 12 Games. Simply download the latest version, extract its contents, and play.

Note that plans for a native MacOS build have been cancelled for the time being, but some people have gotten both the Steam and Classic version working through Wine. See below.

Classic Download[edit]

Download: Linux · Windows · all versions · starter packs

Dwarf Fortress Classic is freely available directly from the developers, Bay 12 Games. Simply find the version that matches your operating system and click the link. You may be prompted to save an archive file, or your browser may save it to its configured downloads folder, do so and follow the installation instructions bellow.

The download linked at the top of the main page is a 64-bit version for Windows. "All versions" links to a page with additional choices depending on version, possibly including "small" builds for Windows (which lack sound files).

DFHack and other third-party packages[edit]

The most prominent add-on to install for Dwarf Fortress is DFHack, which introduces a wide variety of interface improvements, bugfixes, and productivity tools. If you have installed Dwarf Fortress via Steam, you can also install DFHack from Steam. Players of other Dwarf Fortress distributions can download and install DFHack from DFHack's GitHub releases page.

If you have an older version of DF, you might be interested in the Lazy Newb Pack, which bundles a number of utilities and graphic sets (including DFHack). With recent (50.01+) versions of Dwarf Fortress, a Lazy Newb Pack is no longer needed.

There are also a wide variety of player-made mods available at the Dwarf Fortress Steam Workshop and the Bay 12 forums. If you don't have a Steam account, workshop mods can also be downloaded from Steam using the steamcmd commandline utility.

Classic Installation[edit]

Also see: System requirements

Windows[edit]

There is no installer for the game. Simply right-click the zip archive you downloaded and choose Extract All..., then choose a destination folder, and click Extract (or maybe Unzip or Next on older versions of Windows). By default Windows uses the name of the archive as the folder name, in the folder the archive is in, so something like C:\Users\yourusername\Downloads\df_50_12_win. You should change that to something like C:\Users\yourusername\Desktop\Dwarf Fortress or C:\games\Dwarf Fortress. After the files have been extracted, double-click the Dwarf Fortress.exe file within the folder you chose to start the game.

  • Make sure to actually extract the archive; do not just double-click the archive and run the game from the window that appears. If you do this, then it may appear to work, but your save game data will get discarded - the cause of many "my saved games keep getting deleted" complaints.
  • The game needs to be able to write to its own folder, choose a game folder your user has write access to without requiring administrator rights for example: your Downloads folder, Desktop, or C:\games\..; do not install it in C:\Program Files\.. unless you know how to set up the correct permissions.

Troubleshooting:

  • If you have an error stating that MSVCP140.dll or MSVCP140_ATOMIC_WAIT.dll is missing, it can be obtained by downloading the Visual C++ Redistributable for Visual Studio 2022.
  • If Windows is set to scale the display, you may need to disable that for DF. Right-click the Dwarf Fortress.exe icon, select Properties, select the Compatibility tab, and then activate the Disable display scaling on high DPI settings (or Override high DPI scaling behavior, scaling performed by: Application) check box.[1]

Creating shortcuts:

  • Right-click the Dwarf Fortress.exe file and choose any of Pin to Start, Pin to taskbar, or Send To > Desktop (create shortcut). (The availability of these options may vary depending on the version of Windows.)

Linux[edit]

Dwarf Fortress for Linux is expected to be run from a terminal (command-line) interface, and so the instructions here will assume you know how to log in and get to a command prompt. By default, however, Dwarf Fortress is a graphical desktop program (an X client), so you should be in a terminal emulator (inside an X session) before starting the game. Dwarf Fortress will create a new window outside of the terminal window by default, so don't worry about the size of the terminal.

Downloading: Either download it from the Dwarf Fortress Homepage with a web browser, or with the following terminal command, replacing "XX_YY" with the numbers in the desired Dwarf Fortress file version, found on the site:

wget http://www.bay12games.com/dwarves/df_XX_YY_linux.tar.bz2

Unpacking: Dwarf Fortress is shipped as a (bzip2) compressed tar archive. Current builds will extract directly into the current directory, so create a new subdirectory in a suitable location (perhaps ~/games/df_linux), cd to it, and then run

tar -xjf /path/to/df_XX_YY_linux.tar.bz2

where /path/to/df_XX_YY_linux.tar.bz2 is the path and filename of the actual file you downloaded.

Dependencies: Dwarf Fortress requires at least the SDL2 and SDL2_image libraries. If you downloaded Classic or Itch builds of DF, these libraries are not included. To install these libraries, run the appropriate command for your distro:

  • on Debian-based systems (e.g. Ubuntu/Linux Mint/Pop!_OS):
sudo apt install libsdl2-image-2.0-0
  • on Fedora/CentOS, use one of the following depending on your package manager:
sudo dnf install SDL SDL_image
# or:
sudo yum install SDL SDL_image
  • on OpenSUSE:
sudo zypper in libGLU1 libSDL_image-1_2-0

note: these lists may not be exhaustive.

Running: First, change to the new directory

cd df_linux

then run the program.

./dwarfort

If you have DFHack installed, instead run

./dfhack

which will set up the console as a DFHack command terminal. The DFHack launcher also solves some issues with loading libraries that you may otherwise run into.

Troubleshooting:

Now you need to ensure that the required dependencies are installed. If you try to run the game and get errors about missing SDL_image libraries (etc.) then you need to install them. Use your distribution's package manager for this - details will be extremely distribution-specific. You don't need the development versions of the packages with the headers (although that won't hurt) - you just need the runtime versions, with the actual shared libraries.

If sound is not working for you, load the game through the DFHack launcher (./dfhack) or change the startup command to:

LD_LIBRARY_PATH=. ./dwarfort

If you see any errors related to glibc when starting DF (for example, "version `GLIBC_2.34' not found"), your version of Linux is too old and will need to be upgraded (e.g. Ubuntu 20.04 LTS is insufficient, but 22.04 LTS should work). Alternatively, you can try running the Windows version in Wine.

MacOS[edit]

Although there is no native build, you can run Dwarf Fortress Premium version on a Mac through either Whisky or Wine. Whisky only works on Apple Silicon Macs, but is the preferred option if you are on Apple Silicon.

via Whisky on Apple Silicon Macs[edit]

  • Download the zip file for the lastest release of Whisky.
  • Unzip the app and, optionally, move it to your /Applications/ folder.
  • Open the Whisky app and verify in the Setup settings that Rosetta and "WhiskyWine" are installed and checked. (Versions of Whisky prior to v2.3.0 will have "GPTK" instead of "WhiskyWine".[source])
  • Create your first bottle. Win10 will work fine.
  • Click Bottle Configuration, then Open Wine Configuration. In the pane “Libraries”, add a new override:
msvcp140_atomic_wait
  • Download Steam for Windows installer on your Mac
  • In Whisky click “Open C: Drive”, navigate to your Steam installation file, double-click the file and follow the instructions.
  • You should be able to run Steam and log in. Install Dwarf Fortress and strike the earth!

You can install DF Hack through Steam too. If this fails (as it does for some) you can install it manually. Download the latest release from their GitHub. Unpack the zip and copy all files inside the DF Hack folder into your Dwarf Fortress folder. The DF folder can be found here: Library > Containers > Whisky > Bottles > (individual string of letters and numbers representing your bottle) > drive_c > Program Files (x86) > Steam > steamapps > common > Dwarf Fortress

For the Classic version follow the steps to create a Win10 bottle. Download the latest classic version from theDwarf Fortress website. Unpack the .zip file. Click “Open C: Drive” in Whisky and navigate to the unzipped classic version. Click Dwarf Fortress.exe to run the game.

via Wine for older MacOS distributions[edit]

Wine needs Homebrew to be installed, which is a Mac OS packet manager. If you don't have any experience with this, it might seem a bit overwhelming at first, but you should be fine just following the step-by-step guide below. If you need help with Homebrew, you find plenty of tutorials on the web. You will also need to run Terminal, which is a build in App you can find and start through a search via Spotlight.

If you have Homebrew installed, you can open Terminal and paste the following for installing Wine through brew.

brew install --cask --no-quarantine wine-stable

Be sure to consult the winehq website for the most up to date instructions. If you don't have brew installed, follow the instructions on brew's website before running the above command.

For the Classic version, download the Windows version available on the Dwarf Fortress website (see Classic Download for a direct download link). A .zip file named df_50_13_win.zip or similar should automatically download and extract itself in your Downloads folder. Open the folder, right click Dwarf Fortress.exe, click Open With and then click Wine Stable. If (default) appears next to this, you don't need to do this next time and you can just double click Dwarf Fortress.exe to run it.

For the Steam version, first the caveat that you shouldn't buy it with the expectation of it working on MacOS. It is not officially supported on MacOS and so if you don't have a Windows or Linux machine as a backup, then you risk not being able to play what you paid for in the future, even if it happens to work for some people today.

That aside, download the Windows version of Steam from Steam's website by clicking on the little Windows icon. Right click SteamSetup and Open With Wine Stable. It might take a minute, but it should pop up the installer. The default options Steam gives should be okay. Once you're able to log in to Steam, download Dwarf Fortress from Steam like you would on Windows. You should be able to run Dwarf Fortress afterwards.

Opening the Wine version of Steam again after closing it is a bit more tricky. Open Finder and press shift command G or click Go > Go to folder. Paste ~/.wine/drive_c/Program Files (x86)/Steam into the prompt and press enter. You can then click steam.exe to run Steam again, or click steamapps > common > Dwarf Fortress to backup your saves and run Steam Dwarf Fortress directly by opening it with Wine.

Creating shortcuts:

  • Right-click the Dwarf Fortress.exe file and choose Make alias. It should make a file in the same folder called Dwarf Fortress.exe alias. You can rename it and move it wherever you want. You can also make aliases for the Steam and Dwarf Fortress folders, so you don't have to find the hidden Windows files through Finder again.

Documentation[edit]

Fortunately, the documentation on this wiki is very detailed and extensive. You may want to start out with:

Then move on to:

DFHack has its own documentation site: