SWL on Linux - How to

Small attempt to make a geeky guide on how to install & run SWL on Linux.
It should work on most distros, as long as they have Wine support.
Wine isn’t an alcoholic beverage in our case, but a wrapper that “intercepts” system calls made by a software (here SWL) to Windows, and “translates” them to Linux system calls.

Faint of hearts, people afraid to use a terminal, you can avoid all these steps by installing Lutris, a software that can automate the installation of many Windows games using scripts available on their website.

1 - Install Wine, and winetricks
2 - Create a wineprefix where game will be installed, that requires a partition where you have write privileges, most likely it will be somewhere on your home partition/folder. For the purpose of this guide, I’ll use /home/username/WineSWL
In a terminal, type:

WINEPREFIX=/home/username/WineSWL wineboot

This will automatically create WineSWL folder, and populate it with Wine stuff.

3 - To run, SWL will need a few extra dlls that aren’t included with Wine, that’s where winetricks comes in handy. In a terminal, type:

WINEPREFIX=/home/username/WineSWL winetricks d3dx9_43 d3dx11_43 d3dcompiler_43 vcrun2015 dxvk win10

This will set your wineprefix to windows 10 support and install some required files, notably DXVK. (By default, Wine uses its OpenGL renderer but the performances are terrible with SWL. Dxvk allows Wine to use Vulkan renderer with way better performances.

4 - Next step will require to modify our wineprefix, to prevent a bug with SWL launcher.

WINEPREFIX=/home/username/WineSWL winecfg

This will open wine configuration window. Go the the libraries tab, scroll and select d3d9 (native), press edit, set to Builtin (Wine).
dxvkswl

5 - Next, download SWL installer (I don’t remind its exact name, so I’ll use SWL_installler.exe), and execute it.

WINEPREFIX=/home/username/WineSWL wine /path/to/SWL_installer.exe

Installer should ask you where to install the game. By default, it might be something like C:\Program Files (x86)\Secret World Legends\ , I prefer to install it at C:\SWL (in linux filesystem that would correspond to /home/username/WineSWL/drive_c/SWL)
Installer will download the game files, at least the minimal client to create a character and do the first missions.

6 - Now the installer is done, let’s create a small script to start the game launcher.
Create a new file wherever you want, let’s call it SWL.sh

#!/bin/bash
cd /home/username/WineSWL/drive_c/SWL
export WINEPREFIX=/home/username/WineSWL
export WINEDEBUG=fixme-all
#export DXVK_HUD=fps
wine ClientPatcher.exe

The # is used to comment the line, removing it will allow Wine to display Dxvk stats, here only the fps, but more infos are available, see dxvk readme.
Save the SWL.sh file, and give it executable rights. (Also doable by checking file properties with a right click, you should find a tickable box giving run/executable permission).

chmod +x SWL.sh

7 - Now you can launch the game from a terminal using

./SWL.sh

(the terminal gotta point to the folder where your SWL.sh file is)
But using a terminal every time isn’t user friendly so, we need a more proper launcher - I mean something clickable on the desktop.
Here, on XFCE desktop, I can right click on desktop, menu offers me possibility to create a launcher like this (it might be slightly different according to your desktop environment Gnome/Unity/KDE/others)
The icon I use is from here
swl_launcher

8 - Start the launcher, go to options, and select DirectX 11 (or stick to Dx9 and enjoy weird graphics and poor performance).

9 - Play the game, it should work as well as on Windows (and since we’re using DX11, it will crash as well too :sweat_smile:)

(I think that’s it, possible edits to come in the future)

5 Likes