Установка: различия между версиями
(Немного перевода на русский язык) |
(Добавлено руководство установки на ARM64 Debian (включая Android)) |
||
Строка 153: | Строка 153: | ||
$ ln -s /usr/lib/libopenal.so.1 libs/libopenal.so | $ ln -s /usr/lib/libopenal.so.1 libs/libopenal.so | ||
$ ln -s /usr/lib/libsndfile.so.1 libs/libsndfile.so | $ ln -s /usr/lib/libsndfile.so.1 libs/libsndfile.so | ||
==== ARM 64-бит ==== | |||
Возможно запустить Dwarf Fortress на 64-битных ARM процессорах, включая Android смартфоны с установленным Debian/Ubuntu через Linux Deploy, посредством программы-транслятора <code>box64</code>: https://github.com/ptitSeb/box64 | |||
===== Установка box64 ===== | |||
$ sudo wget https://ryanfortner.github.io/box64-debs/box64.list -O /etc/apt/sources.list.d/box64.list | |||
$ wget -O- https://ryanfortner.github.io/box64-debs/KEY.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/box64-debs-archive-keyring.gpg | |||
$ sudo apt update && sudo apt install box64 -y | |||
===== Установка зависимостей ===== | |||
$ sudo apt-get update && sudo apt-get install libsdl1.2debian libsdl-image1.2 libsdl-ttf2.0-0 libopenal1 libsndfile1 libncursesw5 | |||
===== Запуск игры ===== | |||
$ cd ~/df_linux # Корневая папка установленного Dwarf Fortress | |||
$ box64 libs/Dwarf_Fortress | |||
==== Стандартный пакет ==== | ==== Стандартный пакет ==== | ||
Строка 410: | Строка 429: | ||
== Android == | == Android == | ||
Версии для Android нет, но | Версии для Android нет, но есть возможность трансляции 64-битной версии Dwarf Fortress на 64-битные ARM процессоры с помощью сторонних программ. | ||
Запуск возможен через Linux Deploy и установленным на нём 64-битным дистрибутивом, см. [[Установка#ARM_64-бит|ARM 64-бит]]. | |||
Работает как через SSH, так и графически через VNC или X-сервер. Поддерживается графика. | |||
=== Запуск версии для Windows === | |||
Версию для Windows можно запустить на Android с помощью ExaGear, эмулятора Windows от Eltech (который по сути является Wine для Android), как описано в документации [http://www.bay12forums.com/smf/index.php?topic=174983.0 здесь]. Хотя приложение не бесплатное. | |||
== iOS == | == iOS == |
Версия от 10:51, 19 сентября 2022
Чтобы установить Dwarf Fortress, просто загрузите последнюю версию, распакуйте ее содержимое и играйте.
Загрузка
Dwarf Fortress Classic доступно в свободном доступе непосредственно от разработчиков, компании Bay 12 Games, по адресу http://www.bay12games.com/dwarves/. Просто найдите версию, соответствующую вашей операционной системе, и нажмите на ссылку. Вам будет предложено сохранить zip-файл, сделайте это и следуйте приведенным ниже инструкциям по установке.
- Три ссылки, указанные в верхней части страницы, представляют собой 64-разрядные версии DF для Windows, macOS и Linux. "Все версии" ссылаются на страницу с дополнительными вариантами, включая 32-разрядные сборки для всех платформ, "маленькие" сборки для Windows (в которых отсутствуют звуковые файлы) и "устаревшие" сборки для Windows. Как правило, предпочтительнее использовать сборки SDL для Windows, хотя на некоторых старых компьютерах могут потребоваться сборки Legacy.
Dwarf Fortress premium планируется выпустить в Steam и itch.io платформы. Эти платные версии игры будут включать совершенно новый графический тайлсет и новые музыкальные треки. Кроме того, версия Steam будет включать интеграцию Steam Workshop для моддинга. Большинство других функций будут также добавлены в Dwarf Fortress Classic (которая останется бесплатной).
Сторонние сборки
Существует несколько пакетов, которые объединяют игру с различными утилитами и графическими сетами, обычно настраиваемыми с помощью прилагаемого лаунчера. Они перечислены на странице Lazy Newb Pack.
Сообщество Dwarf Fortress часто создает пользовательские графические сеты, тайлсеты и цветовые схемы. Они похожи на графические моды, которые делают DF более красивым или просто меняют вид. Часто тайлсет распрастроняют установленным в папку с игрой, тогда всё, что нужно сделать, это распаковать архив и играть. Среди самых популярных из них графика от Ironhand и графика от Phoebus. Наиболее известные графические сеты включены в упомянутые выше пакеты.
Установка
- См. также: Системные требования
Windows
У игры нет установщика — просто извлеките содержимое архива в папку по вашему выбору (мы будем называть ее "папкой с игрой"), и чтобы начать игру запустите Dwarf Fortress.exe
из внутри этой папки.
Убедитесь, что вы действительно распаковали архив, а не просто открыли архив и запустили игру из появившегося окна. Если вы сделаете это, может показаться, что всё в порядке, но ваши сохранения будут удалены — причина многих жалоб на то, что "мои сохранения постоянно удаляются". Игра также должна иметь возможность сохранения файлов в свою собственную папку, поэтому не устанавливайте ее в C:\Program Files, если вы используете Windows Vista или более позднюю систему. (Кроме того, предполагается что у вас конечно есть любой архиватор для начала: например такой)
Если у вас возникла ошибка, указывающая на отсутствие MSVCP140.dll, этот файл можно получить, загрузив Visual C++ Redistributable для Visual Studio 2015. Выберите версию x64 для 64-разрядной DF или версию x86 для 32-разрядной DF.
Если Windows масштабирует изображение, вам может понадобиться отключить это для DF. Нажмите правой кнопкой на иконку Dwarf Fortress.exe, выберите Свойства, затем вкладку Совместимость, и затем нажмите на опцию Отключение масштабирования изображения при высоком Разрешении экрана (или масштабирование выполняется переопределение высокое разрешение DPI, поведение,: приложение).[1]
Mac
Данная статья помечена как не оконченная. Вы можете прочитать эту статью на английском или помочь проекту её переводом. |
The Mac version is not an application bundle. Like the Windows version, it consists of a folder containing the application and data files; 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.
To start the game, execute the launch script "df". Launching "dwarfort.exe" by itself will not work (since the "df" script sets up environment variables pointing to DF's libraries).
There are alternative installation options, such as pre-packaged bundles and this third-party app launcher, that may make the game easier to start and fix some of the issues listed below.
Исправление распространённых ошибок
Changing the ``PRINT_MODE`` setting in data/init/init.txt from ``2D`` to ``STANDARD`` is necessary on some systems, particularly macOS 11+ (see below) and machines with Retina displays Bug:6031. Doing this on any macOS system can improve performance significantly Bug:10052. Other values for this setting, like ``FRAME_BUFFER``, may also help.
On macOS 10.15 (Catalina) and above, if you encounter gatekeeper security-related warnings that prevent DF from starting, one solution (from here) is to run the following command from the terminal in the folder containing dwarfort.exe
:
find . -print0 | xargs -0 xattr -d com.apple.quarantine
На macOS 11 (Big Sur) и новее, если у Вас только пустое белое окно при старте игры, Вам нужно изменить ``[PRINT_MODE:2D]`` на ``[PRINT_MODE:STANDARD]`` в файле init.txt. Bug:11680
При использовании файловой системы с чувствительностью к регистру, новоустановленная версия игры не запустится. Bug:11136
- Переименуйте "libs/SDL_ttf.framework/Versions/A/Frameworks/FreeType.framework" в "libs/SDL_ttf.framework/Versions/A/Frameworks/freetype.framework" для исправления.
If you are using Parallels Desktop, you might need to change the file association for ``*.exe`` files to prevent the script from opening Parallels automatically. To do this:
- Right click ``dwarfort.exe`` then click "Get Info"
- Then click on "Open with:", select "Other..."
- Then and select "Finder"
- Change "Enable: Recommended Applications" to "Enabled: All Applications"
- Select "Finder" and then click "Add"
Linux
You may want to check if the package manager for the Linux distribution you are using has a Dwarf Fortress package. A package will get the correct build of DF for your system, handle all the dependencies and configuration, make any necessary system-specific fixes, probably add an entry to the system application launcher or menu, and handle updates. Note that in some cases, these packages can lag behind official DF releases, and they typically only support a single system-wide installation of DF. If you want a version of DF newer than what your package manager provides, or if you want a portable installation, follow the instructions in the rest of this section instead.
As of 0.43.05, both 64-bit and 32-bit compiled builds of Dwarf Fortress are available for Linux. Note, to get the 32-bit edition, click the All Versions button on the Dwarf Fortress download page. Older 32-bit only versions can possibly run on a 64-bit system if the system has the required (32-bit) shared libraries, see below.
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. (See Installation#TEXT mode for an alternative.) Dwarf Fortress will create a new window outside of the terminal window by default, so don't worry about the size of the terminal.
When you installed Linux, you chose either a 32-bit (i386, x86) or 64-bit (amd64, x86_64) architecture. Some systems are able to run programs for either, but it is best to use a version of DF compiled for the same architecture. If you've forgotten which one you have, you can check by running the command uname -m
in a terminal. A result of x86_64
and i686
would indicate 64-bit or 32-bit respectively.
Downloading: Either download it from the Dwarf Fortress Homepage with a web browser, or with one of these terminal commands, 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
or, for the 32-bit version:
wget http://www.bay12games.com/dwarves/df_XX_YY_linux32.tar.bz2
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, perhaps ~/games
, 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.
(note: tar -xjvf ./df_XX_YY_linux.tar.bz2
may be needed in some cases. [what cases? all this does is add verbosity and assume the file is in the current dir])
Running: First, change to the new directory
cd df_linux
then execute the launcher script.
./df
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. Specific installation commands for some distributions are in the sections below. 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 you see any errors related to libstdc++ when starting DF (for example, "version `CXXABI_1.3.8' not found"), try removing libstdc++.so.6 and libgcc_s.so.1 from the "libs" folder. This will cause DF to use the system version of these libraries, which are more up-to-date on many modern systems than the libraries that DF includes.
Since Dwarf Fortress 0.43.05 and later are 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. Though, at that point it may just be easier to run the old windows version of DF in Wine.
На базе Debian
Installing the dependencies for Dwarf Fortress is simple, but varies slightly depending on whether you're running a 32-bit OS, a 64-bit OS, or a 32-bit version of Dwarf Fortress on a 64-bit OS.
64-бит (последние версии Dwarf Fortress, современное железо)
Установка зависимостей
$ sudo apt install libsdl1.2debian libsdl-image1.2 libsdl-ttf2.0-0 libgtk2.0-0 libopenal1 libsndfile1 libncursesw5
This will install the SDL image and font libraries necessary, as well as libopenal and libsndfile, which are needed to get the sound working. It will also install libncursesw5, which is needed if you want to run Dwarf Fortress in TEXT mode.
Исправление звука
In some old versions, Dwarf Fortress does not quite look in the correct place for the sound libraries it needs to play the wonderful music. This is easily fixed.
Switch to the Dwarf Fortress folder and add some symlinks to the correct location:
$ cd ~/df_linux # or other location, depending on where you installed Dwarf Fortress $ ln -s /usr/lib/x86_64-linux-gnu/libopenal.so.1 libs/libopenal.so $ ln -s /usr/lib/x86_64-linux-gnu/libsndfile.so.1 libs/libsndfile.so
Sometimes OpenAL uses PulseAudio instead of ALSA as the output device breaking the sound.
$ sudo echo "drivers = alsa," > .alsoftrc
Запуск 32-битной версии на 64-битном Debian
Установка зависимостей
If you're trying to run a version of Dwarf Fortress older than 0.43.05, you'll need to install the 32-bit versions of the libraries. You can do this with:
$ sudo dpkg --add-architecture i386 $ sudo apt-get update $ sudo apt-get install libsdl1.2debian:i386 libsdl-image1.2:i386 libsdl-ttf2.0-0:i386 libgtk2.0-0:i386 libopenal1:i386 libsndfile1:i386 libncursesw5:i386
Исправление звука
Almost the same as above, but the libraries will be in a different location as you're looking for the 32-bit versions:
$ cd ~/df_linux # or other location, depending on where you installed Dwarf Fortress $ ln -s /usr/lib/i386-linux-gnu/libopenal.so.1 libs/libopenal.so $ ln -s /usr/lib/i386-linux-gnu/libsndfile.so.1 libs/libsndfile.so
Just as above sometimes OpenAL uses PulseAudio instead of ALSA as the output device breaking the sound.
$ sudo echo "drivers = alsa," > .alsoftrc
32-бит
Установка зависимостей
$ sudo apt-get install libsdl1.2debian libsdl-image1.2 libsdl-ttf2.0-0 libopenal1 libsndfile1 libncursesw5
As above, this will install the SDL image and font libraries, sound libraries, and text libraries.
Исправление звука
Смените активную директорию на папку Dwarf Fortress и создайте несколько символьных ссылок до корректных местоположений:
$ cd ~/df_linux # или другая папка, где установлен Dwarf Fortress $ ln -s /usr/lib/libopenal.so.1 libs/libopenal.so $ ln -s /usr/lib/libsndfile.so.1 libs/libsndfile.so
ARM 64-бит
Возможно запустить Dwarf Fortress на 64-битных ARM процессорах, включая Android смартфоны с установленным Debian/Ubuntu через Linux Deploy, посредством программы-транслятора box64
: https://github.com/ptitSeb/box64
Установка box64
$ sudo wget https://ryanfortner.github.io/box64-debs/box64.list -O /etc/apt/sources.list.d/box64.list $ wget -O- https://ryanfortner.github.io/box64-debs/KEY.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/box64-debs-archive-keyring.gpg $ sudo apt update && sudo apt install box64 -y
Установка зависимостей
$ sudo apt-get update && sudo apt-get install libsdl1.2debian libsdl-image1.2 libsdl-ttf2.0-0 libopenal1 libsndfile1 libncursesw5
Запуск игры
$ cd ~/df_linux # Корневая папка установленного Dwarf Fortress $ box64 libs/Dwarf_Fortress
Стандартный пакет
Dwarf Fortress доступен в виде бинарного пакета в репозитории Debian (non-free). Его можно установить сразу со всеми необходимыми зависимостями следующей командой:
$ sudo apt-get install dwarf-fortress
Fedora
Dwarf Fortress has been packaged in RPM Fusion Nonfree, using a similar method as it is done in Arch Linux (see below). After installing RPM Fusion you can simply run the following commands to install and run Dwarf Fortress, which will pull in all the required dependencies:
$ sudo dnf install dwarffortress $ dwarffortress
Some other tools are provided by the same packager in the "Dwarf Fortress for Fedora" repository. For more information please see this forum thread.
If you want to install 64-bit Dwarf Fortress manually, you can run the following:
$ 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, to install 32-bit Dwarf Fortress 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.
Arch Linux
A 64-bit Dwarf Fortress package is available in the community repository. There are also other packages available in the Arch User Repository (AUR).
Установка официального пакета
Install the official package like any other
# pacman -Syu dwarffortress
Any required dependencies will be installed, too.
You can then launch Dwarf Fortress by running 'dwarffortress' in your terminal emulator. The package also includes a .desktop file so the game should appear in whatever application launcher or menu you might use.
The first time a user launches the game, the directory .dwarffortress will be created in that user's home directory. Game settings and files can be changed there. Note that some of the directories in there are links to common directories and changes to them will effect all users. Also, any changes to common files should be backed up since they will be overwritten when the package updates. You can find the locations of files installed by the package with the command
$ pacman -Ql dwarffortress
If you use tools like dfhack you might want to configure pacman to not update Dwarf Fortress until the tools are updated.
Установка пакета AUR
Install an AUR package manually or using an AUR helper. The different AUR packages may or may not install the game similarly to the official package - use the previous pacman command to check game file locations.
Ручная или множественная установки
You can also manually install Dwarf Fortress in case you want to try other versions or with and without mods. Just follow the generic Linux instructions above with a different directory for each install. If you've installed one of the above packages, all the dependencies should already be installed, except maybe GTK2. The package in the official repositories patches ``libgraphics.so`` to remove the GTK2 dependency. If you get an error that ``libgtk-x11-2.0.so.0`` cannot be opened, you can either use the ``libgraphics.so`` from the official package, by copying it to the ``libs`` folder in the new install or linking to it from there, or install GTK2.
To launch this version: in a terminal emulator, ``cd`` to that directory, and run ``./df``. If you get a permission error, you may need to mark the script and executable as being executable with:
$ chmod u+x df libs/Dwarf_Fortress
Once you get an install working you can create a custom .desktop file to launch it.
If you want to install a 32-bit version of Dwarf Fortress you will have to enable the multilib repository, install the 32-bit system libraries, and install the 32-bit game dependencies manually (check the Arch wiki for more information).
CentOS 7
Dwarf Fortress is now 64-bit, so simply run:
sudo yum install SDL SDL_image SDL_ttf openal
Note that CentOS 7 ships with glibc 2.17, but Dwarf Fortress by default would like 2.18. This bug has a fix, simply copy the Pastebin script, then move the libraries into a new folder.
cd df_linux curl -L http://pastebin.com/raw/jX4Wf062 > df mkdir c_libs mv libs/libgcc_s.so.1 libs/libstdc++.so.6 c_libs/ chmod a+x df
Then run it!
./df
Gentoo
There is a Dwarf Fortress ebuild in the main Gentoo's portage tree compatible with the new multilib support.
# emerge -av games-roguelike/dwarf-fortress
Solus
Download Dwarf Fortress from the Bay 12 Games website. If you encounter the following error upon launch:
./libs/Dwarf_Fortress: error while loading shared libraries: libSDL_ttf-2.0.so.0: cannot open shared object file: No such file or directory
then simply run the following command to install the missing libraries:
sudo eopkg install sdl-ttf
If you are running a 32bit version of Dwarf Fortress, simply replace sdl-ttf
with sdl-ttf-32bit
in the above command. You're all set!
OpenSuse Tumbleweed
These instructions should work for OpenSuse Leap as well, they just haven't been tested yet.
Зависимости
$ sudo zypper in libGLU1 libSDL_image-1_2-0 libSDL_ttf-2_0-0
Удаление включенной библиотеки c++
The included library isn't compatible with OpenSuse's libGLU1
package
$ cd path/to/df_linux/libs $ rm libstdc++.so.6
cd back to df_linux/ and run the game!
$ cd ../ $ ./df
Wine
Downloading the windows version and running it with Wine works fine (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.
Исправление проблем
If you get errors, it is likely that others will have had the same problem; Try searching the bay12games forum with the error message.
Звук
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:
$ 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
TEXT mode
In this mode - which can be activated in init.txt - DF uses a terminal as its display, much like classic roguelikes such as Rogue, Moria, and Nethack originally did. There are some caveats for using this mode.
Some key combinations in the default DF configuration will not work. These can be changed in game by pressing ESC then choosing the Key Bindings option or out of the game by editing the interface.txt file. This is due to the way terminal emulators handle input, the ncurses library, and the way DF interfaces with them.Bug:5494 Some examples are the keypad keys with modifiers or Shift+Enter.
DF uses the CP437 character set and TEXT mode translates those to UTF-8. Characters will only be displayed correctly if the font the terminal emulator is using has glyphs for all of the set. A UTF-8 encoded text file to test glyph coverage can be found here. Download the text file, view it in the terminal (using more, less, cat, etc.), and check if the font the terminal is using includes all the characters shown on the HTML version. Some terminals may be configured to use a fallback font if the main one lacks a glyph - that may result in different sized glyphs being used.
There is a utility to convert a DF tileset to a TTF file. That thread also has downloads for some already converted sets. This does not work for graphics sets. This is one way to get a square font that includes all the characters. Kreative Square is another though it has many more glyphs than are needed.
DF's colors.txt file will have no effect. However, many terminal emulators have settings to change the colors they display. See the terminal emulator's man page for details. Note that the order of the colors is different - the position of the blues and reds are switched as are the cyans and brown/yellow. So, when copying DF color schemes into terminal emulator settings, be sure to change them to the correct order or you'll get yellow "sky", red water, and blue blood.
Many terminal emulators have a setting to treat bright colored text as bold instead. This will cause dark grey text to be "displayed" as bold, black text - usually on a black background - making it unreadable. See the terminal emulator's man page for an option to disable this behavior. (Note that LXTerminal's disallowbold option does not currently seem to work.)
If the intro movie is enabled, DF will not use the full terminal size unless it receives a resize event. If the intro movie is disabled, DF will use the full size from the start. Note, however, that some DF screens do not use the full size of the window under any circumstance.
Обновление
Since every new version of Dwarf Fortress unpacks in a directory named df_linux you have to manage upgrades yourself - or use the 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.
Ручная установка 32-битных библиотек
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 a results page from which we can proceed to 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"
Способ 1: Предзагрузить 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 /your/path/df_linux/df
(or /your/path/df_linux/dfhack
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.
Способ 2: Использвать bmp
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.png". 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!
libGL error
libGL error: MESA-LOADER: failed to open i965
libGL error: failed to load driver: swrast
This can be caused by incompatible libgcc_s.so.1
Способ 1: изменить режим отображения
- Go to /data/init/init.txt
- Edit PRINT_MODE to be any of the 2D modes or TEXT instead of openGL-based modes like STANDARD, VBO or TWBT.
Способ 2: изменить библиотеку
- Open df_linux/libs folder
- Rename libgcc_s.so.1 to libgcc_s.so.1.bak so that DF will be unable to find it and will default to system libraries.
- If DF still doesn't launch, find and install suitable libgcc with your package manager.
- If you have multiple libgccs, you may need to make a shortcut like with libopenal and libsndfile above.
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. There is now an official port and installing it can be done the following way (with ports):
cd /usr/ports/games/linux-dwarffortress/ && make install clean
or, with pkg:
pkg install linux-dwarffortress
You may also wish to download and run it manually. 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 port it, as well as a 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
Chrome OS (Crostini)
It is possible to add Dwarf Fortress to Chrome OS using the Linux (Beta), to add Linux to Chrome OS, check here to enable it You will need to edit the sources list to include the "non-free" repository, this is done by adding "non-free" to the end of the main sources file found at /etc/apt/sources.list
e.g.
# Generated by distrobuilder deb https://deb.debian.org/debian buster main non-free deb https://deb.debian.org/debian-security buster/updates main non-free
Followed by running
sudo apt-get update
Then just follow the Debian instructions above
Android
Версии для Android нет, но есть возможность трансляции 64-битной версии Dwarf Fortress на 64-битные ARM процессоры с помощью сторонних программ.
Запуск возможен через Linux Deploy и установленным на нём 64-битным дистрибутивом, см. ARM 64-бит.
Работает как через SSH, так и графически через VNC или X-сервер. Поддерживается графика.
Запуск версии для Windows
Версию для Windows можно запустить на Android с помощью ExaGear, эмулятора Windows от Eltech (который по сути является Wine для Android), как описано в документации здесь. Хотя приложение не бесплатное.
iOS
Версии для iOS нет, но вы можете удаленно подключиться к компьютеру, на котором работает DF, через приложение под названием Dwarf Fortress Remote. Для этого на компьютере должна быть запущена нужная версия DFHack, которую вы можете загрузить отдельно. Оно также может предоставить подписку, по которой вы подключаетесь к уже настроенному удаленному серверу.
Документация
К счастью, документация на этой вики очень подробная и обширная. Вы можете начать с:
А затем перейти к: