Linux Guide: Difference between revisions

From Totem Arts Wiki
Jump to navigation Jump to search
Testman (talk | contribs)
m Added sentence about required software, fixed typo
Added instructions to install the game w/ wine, minor changes to wording and such
Line 1: Line 1:
While Renegade X provides only release for Microsoft Windows, it is possible to get it running on [https://en.wikipedia.org/wiki/Linux_distribution GNU+Linux systems]. This guide aims to be as simple as possible, but in it's current form still relies on you knowing some basics about command line interface.
While Renegade X provides only release for Microsoft Windows, it is possible to get it running on [https://en.wikipedia.org/wiki/Linux_distribution GNU+Linux systems]. This guide aims to be as simple as possible, but in its current form still relies on you knowing some basics about command line interface.


== Required Software ==
== Required Software ==
Line 6: Line 6:


=== Renegade X ===
=== Renegade X ===
In the current state guide assumes that you have full release downloaded and extracted.
 
This guide applies to both existing installations and installing from scratch.


=== WINE ===
=== WINE ===
Line 14: Line 15:
==== winetricks ====
==== winetricks ====


[https://wiki.winehq.org/Winetricks Winetricks] is a helper script that provides the means to very easily install various programs or Windows components, many of which are required for Renegade X to work. Follow instructions [https://wiki.winehq.org/Winetricks#Getting_winetricks here] to get it working on your system. This guide assumes that winetricks is in your PATH (meaning that you did not just download the script file but that you actually installed it, making "winetricks" one of valid commands in terminal)
[https://wiki.winehq.org/Winetricks Winetricks] is a helper script that provides the means to very easily install various programs or Windows components, many of which are required for Renegade X to work. It probably exists in your distro's package repositories, but if not, follow the instructions [https://wiki.winehq.org/Winetricks#Getting_winetricks here] to get it working on your system. This guide assumes that winetricks is in your PATH (meaning that you did not just download the script file but that you actually installed it, making "winetricks" one of valid commands in terminal)


=== DirectX 9 jun2010 ===
=== DirectX 9 jun2010 ===
Line 23: Line 24:


=== Install script ===
=== Install script ===
Open new text file, name it renx_setup_script.sh or something, make that file executable by right clicking on it in file browser, opening properties and under "Permissions" check the "allow executing" or something like that. Alternatively, while in terminal use <code>chmod +x /path/to/renx_setup_script.sh</code> to achieve same effect (use actual path to the file of course). After that is done, copy the following into the file:
Open new text file, name it renx_setup_script.sh or something, make that file executable by right clicking on it in file browser, opening properties and under "Permissions" check the "allow executing" or something like that. Alternatively, while in terminal use <code>chmod +x /path/to/renx_setup_script.sh</code> to achieve same effect (use actual path to the file of course). After that is done, copy the following into the file:
<!-- technically we can move all the winetricks commands on one line but then it'd be harder to comment -->
<!-- TODO: add 32-bit vs 64-bit and different wineprefixes -->
<source lang="bash">
<source lang="bash">
#!/bin/bash
#!/bin/bash
Line 30: Line 34:
# assume latest winetricks already installed
# assume latest winetricks already installed
# the -q parameter supresses all the GUI warning dialogs, which there are *A LOT* during this process
# the -q parameter supresses all the GUI warning dialogs, which there are *A LOT* during this process
winetricks -q corefonts
winetricks -q corefonts vcrun2008 vcrun2010 xact d3dx9_43 d3dx9
winetricks -q vcrun2008
# d3dx9 sets WINE to identify as Windows 2003, so switch back to to Windows 7 so that dotnet452 installation works
winetricks -q vcrun2010
winetricks -q xact
winetricks -q d3dx9_43
winetricks -q d3dx9
# d3dx9 set WINE to identify as Windows 2003, so switch back to to Windows 7 so that dotnet452 installation works
winetricks -q win7
winetricks -q dotnet452
winetricks -q win7
winetricks -q win7
winetricks -q dotnet452 win7
</source>
</source>


Now save file and run it, preferably in the terminal by being in the directory that contains the file and running <code>./renx_setup_script.sh</code>
Now save file and run it, preferably in the terminal by <code>cd</code>'ing to the directory that contains the file and running <code>./renx_setup_script.sh</code>
This will take some time, and there will be a lot of text displayed in the terminal. Script is finished executing when you see that command line prompt is back (meaning that new text has stopped and you see the blinking cursor again).
This will take some time, and there will be a lot of text displayed in the terminal. Script is finished executing when you see that command line prompt is back (meaning that new text has stopped and you see the blinking cursor again).
=== Installing the game ===
If you already have RenX installed, skip this step.
Currently, the downloads for Renegade X come in .msi packages. Since WINE is unable to open .msi files directly, we will have to use one of the tools it provides. In the same terminal as the one used in the previous step, navigate to the directory with the Renegade X installer, type <code>wine msiexec /i Renegade_X_Installer.msi</code> into the terminal (assuming that's the name of the installer), and install it like you would on a Windows computer. It is recommended that you install into the wineprefix (drive C: as it appears in the dialog).
Afterwards, navigate to the <code>Launcher</code> subdirectory inside the directory you installed RenX in from the same terminal, and run <code>wine Renegade\ X\ Launcher.exe</code>. This will download the actual game data to your PC.


=== Configuring components ===
=== Configuring components ===


After install script is finished you should be able to start Renegade X, but most likely it will freeze every few minutes because of some issue with WINE's implementation of xaudio2.  
After install script is finished you should be able to start Renegade X, but it has been reported that the game might freeze every few minutes because of some issue with WINE's implementation of xaudio2.  
You'll resolve that issue by opening WINE configuration (command is winecfg) and under Libraries tab finding xaudio2_7 on the list (should be at the bottom of the list), click on it, then click "Edit..." button and set it so that it uses ONLY native (Windows) implementation instead of the WINE built-in one.
If that happens, you can resolve that issue by opening WINE configuration (command is winecfg) and under Libraries tab finding xaudio2_7 on the list (should be at the bottom of the list), click on it, then click "Edit..." button and set it so that it uses ONLY native (Windows) implementation instead of the WINE built-in one.


After that you might notice that game does not crash any more, but has absolutely no sound. That is because the native Windows DLL files that should be used to produce audio do actually not exist. You resolve this issue by finding the extracted files of DirectX jun2010 and using WINE to run the installer (DXSETUP.EXE) and follow the installer instructions.
After that you might notice that game does not crash any more, but has absolutely no sound. That is because the native Windows DLL files that should be used to produce audio do actually not exist. You resolve this issue by finding the extracted files of DirectX jun2010 and using WINE to run the installer (DXSETUP.EXE) and follow the installer instructions.
Line 55: Line 60:


If everything is set up correctly, you should be able to start the game directly by being in the <code>Renegade-X-Open-Beta-5.xxx/Binaries/Win32</code> directory and running the command <code>wine UDK.exe</code>
If everything is set up correctly, you should be able to start the game directly by being in the <code>Renegade-X-Open-Beta-5.xxx/Binaries/Win32</code> directory and running the command <code>wine UDK.exe</code>
As Renegade X provides also 64 bit game executable, you can also run it by being in <code>Win64</code> directory instead of <code>Win32</code> and running <code>wine64 UDK.exe</code>
As Renegade X also provides a 64 bit game executable, you can also run it from the <code>Win64</code> directory instead of <code>Win32</code> and running <code>wine64 UDK.exe</code>
Additional parameters are also accepted, so it is possible to use, for example, <code>-nomovies</code> to skip intro by using <code>wine64 UDK.exe -nomovies</code> command. See full list [[Command_Line#Switches|here]]
Additional parameters are also accepted, so it is possible to use, for example, <code>-nomovies</code> to skip intro by using <code>wine64 UDK.exe -nomovies</code> command. See full list [[Command_Line#Switches|here]]


Line 65: Line 70:


While server does not have any graphical interface, it still requires [https://en.wikipedia.org/wiki/X.Org_Server X.org] to start, meaning that it can not be ran on server that does not have graphical interface but only command line.
While server does not have any graphical interface, it still requires [https://en.wikipedia.org/wiki/X.Org_Server X.org] to start, meaning that it can not be ran on server that does not have graphical interface but only command line.
To be specific, it can not run on bare metal in such setup, but it is possible to set up virtual machine that has graphical interface and run the server in there.
To be specific, it cannot run on bare metal in such setup, but it is possible to set up virtual machine that has graphical interface and run the server in there.


== Potential improvements ==
== Potential improvements ==
Line 72: Line 77:


[https://github.com/ValveSoftware/Proton/ Proton] is the compatibility layer that Valve helped develop and maintain. It is used in Steam to provide option of running games that do not have native Linux client. Proton uses WINE, DXVK and many other improvements to achieve better game performance than just WINE by itself.
[https://github.com/ValveSoftware/Proton/ Proton] is the compatibility layer that Valve helped develop and maintain. It is used in Steam to provide option of running games that do not have native Linux client. Proton uses WINE, DXVK and many other improvements to achieve better game performance than just WINE by itself.
It should be possible to get Renegade X run with Proton, but so far there are no reports of anyone doing it successfully. Best option to get this done is probably Lutris, as it can use Proton as one of the "runners".
It should be possible to get Renegade X run with Proton, but so far there are no reports of anyone doing it successfully. Best option to get this done is probably Lutris, as it can use Proton as one of its backends.


=== Lutris ===
=== Lutris ===


[https://lutris.net/ Lutris] is open gaming platform for Linux that servers as a sort of aggregator. It aims to provide easy way to install and manage games on Linux.
[https://lutris.net/ Lutris] is open gaming platform for Linux that servers as a sort of aggregator. It aims to provide easy way to install and manage games on Linux.
It has potential to make process of getting Renegade X to run on Linux much more easy. This would be achieved by writing an "installer" that would automate the installation process that is described in this article.
It has potential to make process of getting Renegade X to run on Linux much more easily. This would be achieved by writing an "installer" that would automate the installation process that is described in this article.




== Tested distributions ==
== Tested distributions ==


Renegade X has been so far successfully ran in Fedora 28 and Fedora 29, and on WineHQ's AppDB there are various other reports of Renegade X running in different distributions.
Renegade X has been so far successfully run in Fedora 28 and Fedora 29 as well as Arch Linux, and on WineHQ's AppDB there are various other reports of Renegade X running in different distributions.

Revision as of 20:25, 11 December 2018

While Renegade X provides only release for Microsoft Windows, it is possible to get it running on GNU+Linux systems. This guide aims to be as simple as possible, but in its current form still relies on you knowing some basics about command line interface.

Required Software

To get Renegade running on Linux, some software must be installed in order to provide the dependencies that it needs to run. Most of them can be automatically installed with the script provided below, so it is not necessary to download and set them up manually.

Renegade X

This guide applies to both existing installations and installing from scratch.

WINE

WINE is a compatibility layer that allows software written for Windows to run on Linux. It should be available in your distribution's repository, meaning that you should be able to easily install it on your system through your distribution's software center / package manager. There exists a community maintained tracker of what software runs in WINE and how well, named AppDB, where Renegade X is already one of existing entries[1].

winetricks

Winetricks is a helper script that provides the means to very easily install various programs or Windows components, many of which are required for Renegade X to work. It probably exists in your distro's package repositories, but if not, follow the instructions here to get it working on your system. This guide assumes that winetricks is in your PATH (meaning that you did not just download the script file but that you actually installed it, making "winetricks" one of valid commands in terminal)

DirectX 9 jun2010

Release of DirectX that will be required in one of the steps of installation process. It can be downloaded here.

Installation process

Install script

Open new text file, name it renx_setup_script.sh or something, make that file executable by right clicking on it in file browser, opening properties and under "Permissions" check the "allow executing" or something like that. Alternatively, while in terminal use chmod +x /path/to/renx_setup_script.sh to achieve same effect (use actual path to the file of course). After that is done, copy the following into the file:

#!/bin/bash
# used just to get initial wine configuration in case that .wine directory does not exist yet
[[ -d ~/.wine ]] || winecfg 
# assume latest winetricks already installed
# the -q parameter supresses all the GUI warning dialogs, which there are *A LOT* during this process
winetricks -q corefonts vcrun2008 vcrun2010 xact d3dx9_43 d3dx9
# d3dx9 sets WINE to identify as Windows 2003, so switch back to to Windows 7 so that dotnet452 installation works
winetricks -q win7
winetricks -q dotnet452 win7

Now save file and run it, preferably in the terminal by cd'ing to the directory that contains the file and running ./renx_setup_script.sh This will take some time, and there will be a lot of text displayed in the terminal. Script is finished executing when you see that command line prompt is back (meaning that new text has stopped and you see the blinking cursor again).

Installing the game

If you already have RenX installed, skip this step.

Currently, the downloads for Renegade X come in .msi packages. Since WINE is unable to open .msi files directly, we will have to use one of the tools it provides. In the same terminal as the one used in the previous step, navigate to the directory with the Renegade X installer, type wine msiexec /i Renegade_X_Installer.msi into the terminal (assuming that's the name of the installer), and install it like you would on a Windows computer. It is recommended that you install into the wineprefix (drive C: as it appears in the dialog). Afterwards, navigate to the Launcher subdirectory inside the directory you installed RenX in from the same terminal, and run wine Renegade\ X\ Launcher.exe. This will download the actual game data to your PC.

Configuring components

After install script is finished you should be able to start Renegade X, but it has been reported that the game might freeze every few minutes because of some issue with WINE's implementation of xaudio2. If that happens, you can resolve that issue by opening WINE configuration (command is winecfg) and under Libraries tab finding xaudio2_7 on the list (should be at the bottom of the list), click on it, then click "Edit..." button and set it so that it uses ONLY native (Windows) implementation instead of the WINE built-in one.

After that you might notice that game does not crash any more, but has absolutely no sound. That is because the native Windows DLL files that should be used to produce audio do actually not exist. You resolve this issue by finding the extracted files of DirectX jun2010 and using WINE to run the installer (DXSETUP.EXE) and follow the installer instructions.

Running the game

If everything is set up correctly, you should be able to start the game directly by being in the Renegade-X-Open-Beta-5.xxx/Binaries/Win32 directory and running the command wine UDK.exe As Renegade X also provides a 64 bit game executable, you can also run it from the Win64 directory instead of Win32 and running wine64 UDK.exe Additional parameters are also accepted, so it is possible to use, for example, -nomovies to skip intro by using wine64 UDK.exe -nomovies command. See full list here

Troubleshooting and bug reporting

Please don't bother Renegade X developers with questions about the installation process or bug reports for issues that are present only when running Renegade X in Linux. For now it is probably best to keep the discussion in this forum thread.

Server

While server does not have any graphical interface, it still requires X.org to start, meaning that it can not be ran on server that does not have graphical interface but only command line. To be specific, it cannot run on bare metal in such setup, but it is possible to set up virtual machine that has graphical interface and run the server in there.

Potential improvements

Proton

Proton is the compatibility layer that Valve helped develop and maintain. It is used in Steam to provide option of running games that do not have native Linux client. Proton uses WINE, DXVK and many other improvements to achieve better game performance than just WINE by itself. It should be possible to get Renegade X run with Proton, but so far there are no reports of anyone doing it successfully. Best option to get this done is probably Lutris, as it can use Proton as one of its backends.

Lutris

Lutris is open gaming platform for Linux that servers as a sort of aggregator. It aims to provide easy way to install and manage games on Linux. It has potential to make process of getting Renegade X to run on Linux much more easily. This would be achieved by writing an "installer" that would automate the installation process that is described in this article.


Tested distributions

Renegade X has been so far successfully run in Fedora 28 and Fedora 29 as well as Arch Linux, and on WineHQ's AppDB there are various other reports of Renegade X running in different distributions.