This guide assumes that the reader is at least somewhat familiar with his distribution of choice and isn't afraid of the terminal. While this guide is written with Ubuntu in mind, it should be fairly simple to use with other distributions.
First of all: if you have an Nvidia GPU, make sure you are using Nvidia's proprietary drivers. Ubuntu has an easy-to-use utility for installing them.
Acquiring Call of Chernobyl:
Same as on Windows: just download the mod and unpack it where you want.
Setting up Wine for STALKER with DX8 and DX9 rendering:
Install Wine using a repository directly from the Wine developers. Select your distribution, follow the instructions and install the staging branch of wine (winehq-staging package). This way you will always have the latest version of Wine. Wine development is quite rapid so you don't want to be stuck on possibly years old versions from your distribution's repository.
Next you will have to install some runtime libraries to make the game run properly. Install "winetricks" package from your distribution's repository and then run the following command:
This will install official DX9 runtime libraries to our Wine installation.
Now you can just double click Stalker-CoC.exe and the game should start up! Make sure to use DX8 or DX9 rendering at this point. DX11 may or may not launch, the DX11 support on stock Wine is still very poor. We will add better support for more recent versions of DirectX next.
Adding better DX10 and DX11 support with DXVK:
While the game is playable in DX9 mode using normal Wine, you have to rely on an old method of translating DirectX calls to OpenGL. DXVK is a fairly recent project that translates DX10 and DX11 calls to Vulkan instead. I gained around 20-30fps on some levels by using the DX10 renderer with DXVK instead of the DX9 renderer with vanilla Wine.
After making sure your drivers are recent enough, you can install DXVK itself. Download the latest release from DXVK's GitHub page. Unpack the downloaded archive, navigate into the dxvk folder containing setup_dxvk.sh and run the following command
You will also need some more runtime libraries to get the DX10 and 11 renderers working. Run
winetricks d3dcompiler_43 d3dx10_43 d3dx11_43
to install them.
Now you can start the game and change the renderer to DX10 or 11! You know that DXVK is working if it creates some log files in the game's directory (xrEngine_d3d11.log and xrEngine_dxgi.log when playing stalker). If you get a black screen or the game minimizes automatically (and the log files are created so you know that DXVK is correctly installed), try alt-tabbing in and out of the game window a few times.
Command line arguments and environment variables:
Command line arguments are used with Wine like they are used in Windows and everywhere else, you just have to run the executeables with the wine command. For example: launching Call of Chernobyl in debug mode
wine Stalker-CoC.exe -dev
DXVK has some useful environment variables, such as DXVK_HUD. This can display useful information such as the current framerate and device info. Example: launching CoC in debug mode and using DXVK HUD to display some information
DXVK_HUD=1 wine Stalker-CoC.exe -dev
You can create a small script in the game directory if you are always using some of these options. I have a script called dbg-wine.sh which contains:
#!/bin/bash DXVK_HUD=version,devinfo,fps wine Stalker-CoC.exe -dev "$@"
Good hunting, stalker!
Here are some links for more in-depth Wine documentation.