Installing the game on Linux

From Vintage Story Wiki
Revision as of 17:44, 15 August 2023 by Mard (talk | contribs) (Marked this version for translation)

If you do not wish to perform a manual install, here are the options for unofficial, but easy and convenient install:

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

Vintage Story client relies on three main components: .NET, OpenAL and OpenGL.

Installing .NET

There are many ways to get .NET runtime running on your Linux system.

First of all, the .NET 7+ is already available in the official package repositories for many Linux distributions. This includes:

Microsoft also maintains official packages for several Linux distributions. You can also install .NET on these systems, by adding Microsoft's repository to your package manager. This process can differ depending on the distribution and packaging system, so follow the official Install .NET on Linux article from Microsoft website.

Finally, you can try installing .NET by using Microsoft's install script or simply manually install the downloaded binary. To do this, follow the official Install .NET on Linux by using an install script or by extracting binaries article.

Installing OpenAL

OpenAL is a cross-platform audio library, needed for the game sounds in Vintage Story. You may have it installed already, as standard or for another game or application.

If you don't have it already, OpenAL library should be already present in your distribution's package repository. Look for openal, libopenal, libopenal-dev or anything that provides required libopenal.so library.

Installing OpenGL

OpenGL is a 3D graphics library and your system probably already support it via a video driver, provided by mesa or nvidia package.

Launching the game

After installing .NET (and perhaps also openal), you're ready to start the game.

Assuming that you already downloaded and extracted the Vintage Story for Linux, navigate to the game folder and run run.sh or Vintagestory directly.

The game files also contain a script, install.sh that is intended to install the game in ~/ApplicationData/vintagestory/ and create a shortcut on your desktop. Apparently this install script doesn't work for everyone, so you may need to take these steps manually, or create the target install folder before running the script (may be a permissions issue?) For more details please refer to the Forum thread linked below.

Updating the game

Linux users normally 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.


Wiki Navigation
Vintage Story Guides[[::Category: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