Installing the game on Linux
If you do not wish to perform a manual install, here are the options for unofficial, but easy and convenient install:
- An AUR package (for Arch Linux)
- A Flatpak package (for Fedora, Linux Mint, Manjaro, PopOS!, Red Hat, CentOS, elementary OS, SteamOS etc.) If not already installed, you can install Flatpak itself as well.
If you install the game using any of these methods, you can start it by clicking the Vintage Story
menu entry in your desktop environment's application launcher.
Disclaimer: Packages above are maintained by volunteers to the open-source community. Anego Studios can't held responsible if they don't work as intended or don't work at all. In addition, the game itself may not be always up to date with the latest stable version that's released officially.
Manual installation
The Vintage Story game client relies on three main components: the .NET Runtime, OpenAL, and OpenGL. As of recent
To perform a manual installation, you are expected to know how to open a terminal, what package manager your Linux distribution uses, and how to use your package manager's search
, list
, and install
commands or command flags.
Some common package managers (apt
, dnf
, yum
, and apk
) share a similar command format, so the following apt
examples can be used by substituting apt
with a near-equivalent command. Other package managers may stray slightly from the above four or use a completely different format, as is the case with pacman
in Arch.
Installing .NET
The easiest way to install the .NET Runtime on your Linux system is to use a package available in your distribution's official package repository (see example below). Package names for some popular distributions are as follows:
- Alpine Linux: dotnet7-runtime
- Arch Linux: dotnet-runtime-7.0
- Fedora: dotnet-runtime-7.0
- Linux Mint: dotnet-runtime-7.0
- Ubuntu: dotnet-runtime-7.0
If your distribution isn't listed or if you want to check whether the package is installed, you can search for dotnet.*runtime
or dotnet runtime
in your package manager and copy the name for version 7 into an install command (see example below).
For advanced users, Microsoft also offers official package repositories for several Linux distributions and guides for manual or scripted installations as alternatives. An overview of these options is available on dotnet's GitHub.
As an example, these are two ways to search for the .NET Runtime with apt
(in Ubuntu); the example using grep
is slower but provides a cleaner output:
Search with Grep: sudo apt list | grep -E dotnet.*runtime
Normal Search: sudo apt search dotnet.*runtime
Once the .NET Runtime's package name is found (in this case, dotnet-runtime-7.0
), the package can be installed:
Install: sudo apt install dotnet-runtime-7.0
If it is already installed, the search list entry will have some text indicating so near the beginning or end of the line, usually [Installed]
.
Installing OpenAL
OpenAL is a cross-platform audio library, needed to play game sounds in Vintage Story. Recent versions of the game (since the update to .NET 7) include the library, so this section may be skipped. Even with older versions however, OpenAL may already be installed, either by default as part of another game's or application's installation.
If you don't have it already, the OpenAL library should be present in your distribution's package repository. Search for openal
, libopenal
, libopenal-dev
or anything that provides the required libopenal.so
library.
As an example, searching for and installing OpenAL with apt
might be done with these commands (in Ubuntu); prefer the grep
variant here as there are many more extraneous results:
Search: sudo apt list | grep openal
OR sudo apt search openal
Install: sudo apt install libopenal-dev
Installing Graphics Drivers
OpenGL is the 3D graphics library the game uses, which needs to be supported by a graphics driver. If you have a graphics card (integrated or dedicated) but do not have drivers installed, you will need to search online for installation instructions for your specific hardware, Linux distribution, and package manager. The process will be similar to the installation of .NET above, but may include additional steps to add third-party repositories to your package manager.
NVIDIA graphics cards can make use of nvidia
driver packages, while Intel and AMD graphics will need to use mesa
driver packages. You can use the following command to check if parts of the mesa or nvidia packages are installed (in Ubuntu):
Search Installed: sudo apt list --installed | grep -E "mesa|nvidia"
Launching the game
Once you have its dependencies installed, you're ready to download and run the game.
Sign in and find the client download for Linux in the Vintage Story website's client area. The Linux download is a tarball (.tar.gz archive) that will need to be extracted. Most desktop environments will allow you to right click the archive and extract it from the context menu, or double-click it to open an archive viewer with an "Extract" option.
If neither option is available, right click in empty space next to the archive to open a terminal in (or use the cd
command to set the terminal's directory to) the directory containing the archive, then use the tar
command to extract the contents of the archive:
Change Directory: cd /home/myusername/Downloads
Extract Archive: tar -xvf ./vintagestory_tarball.tar.gz
Be aware that path and file names are case-sensitive, but you can press TAB while typing to auto-complete them. Make sure to substitute the directory in the cd
command and archive name in the tar
command with the location and filename of your download.
Once the vintagestory
directory has been fully extracted, you can enter it and double-click to execute the run.sh
or Vintagestory
files, or open a terminal in that directory (using the same process as above) and run one of them from the command line:
Run the Game: ./run.sh
OR ./Vintagestory
The game files also contain a script, install.sh
that is intended to install the game in ~/.local/share/vintagestory/
(prior to 1.19.2 ~/ApplicationData/vintagestory/
) and create a shortcut on your desktop as well as add support for moddb 1 click install and connect via URL (vintagestoryjoin://ip:port
). This install script may not work for everyone, so you may need to take these steps manually or create the target install folder before running the script (there may be a permissions issue?). For more details please refer to the Forum thread linked below.
Updating the game
To update the game you can run the install.sh
from any location, it will move the old installation to a backup location and after that move the new files to the default installation directory and reinstall the desktop entries. At the end, it will ask you if you want to delete the old installation files.
You can also update the game by extracting game binary files from the tar.gz downloaded from vintagestory.at. That should work fine, except that it is a good idea to extract those files into an empty folder where possible. If that is not possible for some reason, then we strongly recommend that you at least delete the /assets/
folder from your previous Vintage Story installation. If you simply extract the archive into an existing game installation folder without deleting /assets/
, some previous asset files will remain, leading to minor issues - e.g. unintended blocks or items in the game, duplicated guides in the Handbook Guides tab.
(To make things more complicated, some of the downloads with sizes around 50MB contain all the game files except for music. In that case, you shouldn't delete the whole of the /assets/
folder because you would lose the music you already have: instead delete everything in /assets/
except for the subfolders /assets/game/music
and /assets/survival/music
- keep those subfolders.)
If you use a package manager, that may take care of some of this for you.
Troubleshooting
If you have any issues, the Forum thread on working linux setups might help you considerably. Please do share your own experiences there. You might also want to use the mesa_glthread optimization, which works well for some players.
GL threading issues
However, many users have reported problems with the game with OpenGL threading enabled.
OpenGL threading optimization is enabled by default in some configurations and can lead to the following problems:
- Mouse cursor not registering clicks properly
- Inability to resize the game window
- Hanging, freezing, etc.
To disable OpenGL threading, you will need to create a mesa_glthread
environment variable and set it to false
. You can easily test it, by launching the command line, navigating to the directory where Vintage Story resides and running the mesa_glthread=false ./Vintagestory
command. If you don't want to use the command, look up how to make Linux environment variables permanent and restart the system.
If you installed the game using Flatpak instead, try launching it with the command: flatpak run --env=mesa_glthread=false at.vintagestory.VintageStory vintagestory
. You can make it permanent by typing: flatpak override --env=mesa_glthread=false at.vintagestory.VintageStory
sudo for first time run
Some players have reported needing to run sudo ./Vintagestory
to launch the game the first time: this may depend on how it was installed.
Graphical glitches
Some people report minor graphical issues which are platform and driver dependent. Vintage Story makes use of a large variety of GLSL shaders for its rendering effects including commonplace elements such as grass and leaf colors in different climates. Bugs in the GPU driver's implementation of GLSL may cause artifacts with some of these. There's a chance a driver update might improve the situation. The in-game Graphics settings give high level control over many of the effects, you can try different settings.
Video Walkthrough
Manual installation walkthrough.
Wiki Navigation | |
---|---|
Vintage Story | Guides • Frequently Asked Questions • Soundtrack • Versions • Controls |
Game systems | Crafting • Knapping • Clay forming • Smithing • Cooking • Temperature • Hunger • Mining • Temporal stability • Mechanical power • Trading • Farming • Animal husbandry |
World | World generation • Biomes • Weather • Temporal storms |
Items | Tools • Weapons • Armor • Clothing • Bags • Materials • Food |
Blocks | Terrain • Plants • Decorative • Lighting • Functional • Ore |
Entities | Hostile entities • Animals • NPCs • Players |
Miscellaneous | List of client commands • List of server commands • Creative Starter Guide • Bot System • WorldEdit • Cinematic Camera • Adjustable FPS Video Recording • ServerBlockTicking |