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:
We will install Wine using a repository directly from the Wine developers. Select your distribution, follow the instructions and install the development branch of wine (winehq-devel package). This way you will always have the latest and greatest 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 we 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 we 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, this method relies on an old method of translating DirectX calls to OpenGL. DXVK is a very 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 normal Wine.
DXVK however requires you to use bleeding edge beta graphics drivers so PROCEED AT YOUR OWN RISK. You will have to figure out how to get these drivers for your distribution. Ubuntu users can follow this guide to get them.
Now that we have the bleeding edge drivers, we can actually install DXVK itself. Download the latest release from DXVK's GitHub page. Unpack the downloaded archive, navigate into the dxvk folder containing setup_dxvk.verb with your terminal and run the following command
winetricks --force setup_dxvk.verb
We will also have to install some more runtime libraries to get the DX10 and 11 renderers working. Run
winetricks d3dcompiler_43 d3dx10_43 d3dx11_43
in order 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)
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 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.