Installing the game on Linux: Difference between revisions

From Vintage Story Wiki
Manual Installation - Major revision to both simplify extraneous instructions and be more specific for less experienced users.
(Marked this version for translation)
(Manual Installation - Major revision to both simplify extraneous instructions and be more specific for less experienced users.)
Line 15: Line 15:


<!--T:32-->
<!--T:32-->
Vintage Story client relies on three main components: .NET, OpenAL and OpenGL.
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 <code>search</code>, <code>list</code>, and <code>install</code> commands or command flags''.
 
Some common package managers (<code>apt</code>, <code>dnf</code>, <code>yum</code>, and <code>apk</code>) share a similar command format, so the following <code>apt</code> examples can be used by substituting <code>apt</code> 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 <code>pacman</code> in Arch.


==Installing .NET== <!--T:10-->
==Installing .NET== <!--T:10-->


<!--T:11-->
<!--T:12-->
There are many ways to get .NET runtime running on your Linux system.
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:


<!--T:12-->
[[File:InstallingDotnetApt.png|400px|thumb|floatright|alt=A screenshot of a terminal searching for and installing .NET 7.|A screenshot of the process of searching for and installing the .NET 7 Runtime in Ubuntu with <code>apt</code>. The commands used and desired search results are highlighted.]]
First of all, the .NET 7+ is already [https://github.com/dotnet/core/blob/main/linux.md available in the official package repositories for many Linux distributions]. This includes:
 
* Alpine Linux ([https://pkgs.alpinelinux.org/packages?name=dotnet* dotnet7-runtime])
* [https://pkgs.alpinelinux.org/packages?name=dotnet* Alpine Linux]: dotnet7-runtime
* Arch Linux ([https://archlinux.org/packages/?q=dotnet dotnet-runtime])
* [https://archlinux.org/packages/?q=dotnet Arch Linux]: dotnet-runtime-7.0
* Fedora ([https://packages.fedoraproject.org/search?query=dotnet dotnet-runtime-7.0])
* [https://packages.fedoraproject.org/search?query=dotnet Fedora]: dotnet-runtime-7.0
* Linux Mint ([https://community.linuxmint.com/software/view/dotnet-runtime-7.0 dotnet-runtime-7.0])
* [https://community.linuxmint.com/software/view/dotnet-runtime-7.0 Linux Mint]: dotnet-runtime-7.0
* Ubuntu ([https://packages.ubuntu.com/search?keywords=dotnet dotnet-runtime-7.0])
* [https://packages.ubuntu.com/search?keywords=dotnet 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 <code>dotnet.*runtime</code> or <code>dotnet runtime</code> in your package manager and copy the name for version 7 into an install command (see example below).
 
For advanced users, Microsoft also offers [https://packages.microsoft.com/ official package repositories] for several Linux distributions and [https://learn.microsoft.com/en-us/dotnet/core/install/linux guides for manual or scripted installations] as alternatives. An overview of these options is available [https://github.com/dotnet/core/blob/main/linux.md on dotnet's GitHub].
 
As an example, these are two ways to search for the .NET Runtime with <code>apt</code> (in Ubuntu); the example using <code>grep</code> is slower but provides a cleaner output:<br>
Search with Grep: <code>sudo apt list | grep -E dotnet.*runtime</code><br>
Normal Search: <code>sudo apt search dotnet.*runtime</code>


<!--T:33-->
Once the .NET Runtime's package name is found (in this case, <code>dotnet-runtime-7.0</code>), the package can be installed:<br>
Microsoft also maintains official packages for [https://packages.microsoft.com/ 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 [https://learn.microsoft.com/en-us/dotnet/core/install/linux Install .NET on Linux] article from Microsoft website.
Install: <code>sudo apt install dotnet-runtime-7.0</code><br>


<!--T:34-->
If it is already installed, the search list entry will have some text indicating so near the beginning or end of the line, usually '''<code>[Installed]</code>'''.
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 [https://learn.microsoft.com/en-us/dotnet/core/install/linux-scripted-manual Install .NET on Linux by using an install script or by extracting binaries] article.


==Installing OpenAL== <!--T:17-->
==Installing OpenAL== <!--T:17-->


<!--T:18-->
<!--T:18-->
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.
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.


<!--T:35-->
<!--T:35-->
If you don't have it already, OpenAL library should be already present in your distribution's package repository. Look for <code>openal</code>, <code>libopenal</code>, <code>libopenal-dev</code> or anything that provides required <code>libopenal.so</code> library.
If you don't have it already, the OpenAL library should be present in your distribution's package repository. Search for <code>openal</code>, <code>libopenal</code>, <code>libopenal-dev</code> or anything that provides the required <code>libopenal.so</code> library.


==Installing OpenGL== <!--T:36-->
As an example, searching for and installing OpenAL with <code>apt</code> might be done with these commands (in Ubuntu); prefer the <code>grep</code> variant here as there are many more extraneous results:<br>
Search: <code>sudo apt list | grep openal</code> OR <code>sudo apt search openal</code><br>
Install: <code>sudo apt install libopenal-dev</code>
 
==Installing Graphics Drivers== <!--T:36-->


<!--T:37-->
<!--T:37-->
OpenGL is a 3D graphics library and your system probably already support it via a video driver, provided by <code>mesa</code> or <code>nvidia</code> package.
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 <code>nvidia</code> driver packages, while Intel and AMD graphics will need to use <code>mesa</code> driver packages. You can use the following command to check if parts of the mesa or nvidia packages are installed (in Ubuntu):<br>
Search Installed: <code>sudo apt list --installed | grep -E "mesa|nvidia"</code>


==Launching the game== <!--T:13-->
==Launching the game== <!--T:13-->


<!--T:14-->
<!--T:14-->
After installing .NET (and perhaps also openal), you're ready to start 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 [https://account.vintagestory.at/downloads 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 <code>cd</code> command to set the terminal's directory to) the directory containing the archive, then use the <code>tar</code> command to extract the contents of the archive:<br>
Change Directory: <code>cd /home/myusername/Downloads</code><br>
Extract Archive: <code>tar -xvf ./vintagestory_tarball.tar.gz</code><br>
 
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 <code>cd</code> command and archive name in the <code>tar</code> command with the location and filename of your download.


<!--T:15-->
Once the <code>vintagestory</code> directory has been fully extracted, you can enter it and double-click to execute the <code>run.sh</code> or <code>Vintagestory</code> files, or open a terminal in that directory (using the same process as above) and run one of them from the command line:<br>
Assuming that you already downloaded and extracted the Vintage Story for Linux, navigate to the game folder and run <code>run.sh</code> or <code>Vintagestory</code> directly.
Run the Game: <code>./run.sh</code> OR <code>./Vintagestory</code>


<!--T:16-->
<!--T:16-->
The game files also contain a script, <code>install.sh</code> that is intended to install the game in <code>~/.local/share/vintagestory/</code> (prior to 1.19.2 <code>~/ApplicationData/vintagestory/</code>) and create a shortcut on your desktop as well as adds support for moddb 1 click install and connect via URL (<code>vintagestoryjoin://ip:port</code>).  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.
The game files also contain a script, <code>install.sh</code> that is intended to install the game in <code>~/.local/share/vintagestory/</code> (prior to 1.19.2 <code>~/ApplicationData/vintagestory/</code>) and create a shortcut on your desktop as well as add support for moddb 1 click install and connect via URL (<code>vintagestoryjoin://ip:port</code>).  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== <!--T:19-->
==Updating the game== <!--T:19-->


<!--T:45-->
<!--T:45-->
Line 80: Line 105:
If you have any issues, the Forum thread on [https://www.vintagestory.at/forums/topic/520-linux-distrosconfigurations-under-which-vs-is-known-to-run/ working linux setups] might help you considerably.  Please do share your own experiences there. You might also want to use the [https://www.vintagestory.at/forums/topic/10479-linux-beginner-guide-mesa_glthread-boost-your-performance-today/ mesa_glthread optimization], which works well for some players.  
If you have any issues, the Forum thread on [https://www.vintagestory.at/forums/topic/520-linux-distrosconfigurations-under-which-vs-is-known-to-run/ working linux setups] might help you considerably.  Please do share your own experiences there. You might also want to use the [https://www.vintagestory.at/forums/topic/10479-linux-beginner-guide-mesa_glthread-boost-your-performance-today/ mesa_glthread optimization], which works well for some players.  


===GL threading issues=== <!--T:38-->
==GL threading issues== <!--T:38-->


<!--T:39-->
<!--T:39-->
Line 97: Line 122:
If you installed the game using Flatpak instead, try launching it with the command: <code>flatpak run --env=mesa_glthread=false at.vintagestory.VintageStory vintagestory</code>. You can make it permanent by typing: <code>flatpak override --env=mesa_glthread=false at.vintagestory.VintageStory</code>
If you installed the game using Flatpak instead, try launching it with the command: <code>flatpak run --env=mesa_glthread=false at.vintagestory.VintageStory vintagestory</code>. You can make it permanent by typing: <code>flatpak override --env=mesa_glthread=false at.vintagestory.VintageStory</code>


===sudo for first time run=== <!--T:43-->
==sudo for first time run== <!--T:43-->


<!--T:25-->
<!--T:25-->
Some players have reported needing to run <code>sudo ./Vintagestory</code> to launch the game the first time: this may depend on how it was installed.
Some players have reported needing to run <code>sudo ./Vintagestory</code> to launch the game the first time: this may depend on how it was installed.


===Graphical glitches=== <!--T:44-->
==Graphical glitches== <!--T:44-->


<!--T:27-->
<!--T:27-->
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.
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.
<youtube>xvkO913BKv8</youtube>


</translate>
</translate>
{{Game navbox}}
{{Game navbox}}
Confirmedusers
8

edits