Linux Guide

From Totem Arts Wiki
Revision as of 14:01, 10 April 2020 by Testman (talk | contribs) (restored link to forum thread)
Jump to navigation Jump to search

While Renegade X provides only release for Microsoft Windows, it is possible to get it running on GNU+Linux systems. As that deviates from the environment Renegade X was made for, Linux is not among the Supported Configurations, so note that you are proceeding at your own risk.

This guide aims to be as simple as possible, but it is still recommended that you are familiar with basics of Linux and how it works.

Overview of relevant technologies

Required

Everything listed here is required for running Renegade X.

WINE

WINE is a compatibility layer that allows software written for Windows to run on Linux.

There exists a community maintained tracker of what software runs in WINE and how well, named WineHQ AppDB, where Renegade X is already one of existing entries.[1]

Mono

Mono is an open-source and cross-platform implementation of the .NET Framework.[2]

It gets automatically downloaded and installed when using WINE for the first time. Latest release is the last entry in here.

Optional

Software listed here is not strictly necessary, but you can use it for easier setup and/or improved performance.

Lutris

Lutris is an open source gaming platform that makes gaming on Linux easier by managing, installing and providing optimal settings for games. This is achieved by having the community submit a so called "installer" (a list of tasks that Lutris should perform) to the online library.

It provides option to install and use different versions of WINE to run games. It also detects the installed versions of Proton and offers them as possible options along the installed versions of WINE.

DXVK

DXVK provides a Vulkan-based translation layer for D3D9, D3D10 and D3D11. While it originally supported only D3D10 and D3D11, a fork called D9VK was made, which provided support for D3D9. D9VK has been merged upstream and has been part of DXVK since version 1.5.

winetricks

Winetricks is a helper script to download and install various redistributable runtime libraries needed to run some programs in Wine. These may include replacements for components of Wine using closed source libraries.

Possible installation methods

This article describes two ways of getting Renegade X installed and running on your Linux system. Installation through Lutris is mostly automated while manual installation requires more understanding about how things work in Linux.

Installing with Lutris

Using Lutris is the easiest way to install Renegade X.

Getting Lutris and setting up prerequisites

Lutris can be found in package manager on most Linux distributions. Installing it that way will also ensure that dependencies get installed as well. Alternative ways and additional information can be found in the installation instructions.

Installing WINE through package manager is strongly recommended, as that will also install packages that can not be provided by Lutris. The version of WINE provided by system will be one of possible choices on the version selection list. Option to download newer and/or more specific versions of WINE through Lutris will still be available.

Running the installer

After you installed Lutris and other required software, you can start the Renegade X installation process by visiting this site and then clicking on "Install". By doing so, you should get a prompt where you are asked which program should handle opening this link, and Lutris should be the only option, so confirming the selection will start the installation process. It is recommended to make browser remember this decision so that the prompt does not appear every time you wish to run some Lutris installer.

Alternatively installation can be started by opening Lutris, clicking the search button (magnifying glass, first button on the right side of handle bar) and searching for "Renegade X", selecting the result and clicking the "Install" button in the right sidebar.

Note that while Lutris automates many parts of the installation, there are still some steps where you will be asked for input and process will not continue until you do so.

After clicking "install" the dialog window appears, asking you which version to install. As there is only one option available, you should press "Continue". In next step you are asked where do you wish to have Renegade X installed. This directory will be used to contain not only Renegade X game data but also all the dependencies that will get automatically installed. Either continue with default path or provide a new path. After that Lutris will start downloading and configuring required files.

There are quite a few dependencies to be installed, so the process will take some time. You might be asked to confirm download and installation of Wine Gecko and Wine Mono, which you should do in order to make process continue. If it happens that the message Running /usr/bin/wineserver -w. This will hang until all wine processes in prefix=... terminate appears and text in the window does not change for a long time, then you should cancel the process and start the installer again. If you get message saying "This application could not be started. Do you want to view information about this issue?" at any moment during installation or when running the game, you can ignore it by pressing "No".

After all dependencies are configured there should appear a new window titled "Renegade X Launcher (Beta) Setup". Which is the same window you would get if you were installing Renegade X on Windows. Click "Next", check the "I accept". click "Next" and DO NOT change the suggested path (C:\Program Files (x86)\Renegade X\). If you do, then Lutris will not find and start the launcher after installation is complete. Again click "Next" and then click "Install". After that click "Finish" once that button appears.

Back in the window where Lutris was installing file you should shortly see it say "Installation finished", asking you whether to "Launch Game" or close the window. You should press "Launch Game", which will close the window and start Renegade X Launcher, which will say that it appears it is your first time launching and ask you if you wish to install the game. You should click "Yes" and follow given instructions. After game is downloaded you will be asked to enter your nickname and then the Renegade X Launcher will start. At this point the launcher should be closed in order for installer to perform final configuration.

Renegade X is now installed. Starting the game from Lutris will skip the launcher and run the game directly.

Launcher can be accessed by right-clicking on Renegade X in Lutris, selecting Run EXE inside wine prefix and navigating to launcher executable. However, DXVK should be disabled before running the launcher, otherwise graphical issues will occur.

Optional configuration and improvements

There are many options that you can change by right-clicking on the Renegade X in main Lutris window and selecting "Configure" or by having it selected and clicking on the gear button below the "Play" button. Under "Game Options" you can configure Lutris to start 32 bit or 64 bit Renegade X executable instead of Renegade X launcher by changing the executable path. If you have Steam installed and Proton downloaded, you can change configuration under "Runner Options" to use any of downloaded Proton versions instead of currently used version of WINE. Additional switches can be given in the "Arguments" field found in "Game options" tab. For example, adding -nomovies would skip the videos that play at the start. Full list of available arguments can be found here.

Manual installation

This method assumes that you are familiar with command line tools. It relies on usage of winetricks. While you will find a script below that even further automates the installation process, you will need to set up some dependencies in order for provided script to work.

Setting up prerequisites

The following is needed in order to install Renegade X manually:

  • Renegade X installer You can download the installer here.
  • WINE WINE is required for winetricks to work and will later be used to install and run Renegade X.
  • winetricks 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.

Other requirements

Make sure that you have cabextract installed on your system, as winetricks requires it for installing Windows components. If you are on Debian, Ubuntu (or any of it's derivatives), Linux Mint or any other Debian based distro make sure to install mono-complete, as it is required for Renegade X launcher to run. X.org server must be running in order for game to work.

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 sub-directory 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

Potential improvements

It should be possible to use Proton releases that Valve provides to run Renegade X.

There are currently no reports of Renegade X being able to run in Wayland-only graphical environment. Finding a way to do so and remove the overhead that comes with having X.org server running should improve performance.

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

Running Renegade X server in WINE works almost the same as it does on Windows, so everything from the article about managing a Server should still apply. So after changing directory to Binaries/Win32 the example command of running a server would be wine UDK.exe server CNC-Walls?maxplayers=64 -port=7777. Or use wine64 instead of wine in case you wish to use 64 bit executable from the Win64 directory.

Docker image for running Renegade X server inside a container is being developed.

Tested distributions

List of distributions that are reported to successfully run Renegade X:

  • Arch Linux
  • Manjaro
  • Ubuntu 18.10
  • Lubuntu 18.04
  • Fedora 28
  • Fedora 29
  • Fedora 30
  • Fedora 31

On WineHQ's AppDB there are various other reports of Renegade X running in different distributions.