Clone this wiki locally
Starting with version 1.7.34 Wine Staging provides support for CUDA, a GPU computation platform by NVIDIA. CUDA is often used by games to run physic calculations on the GPU or in scientific environments to speed up simulations. For games there is also a separate NVIDIA library called PhysX which makes use of CUDA and provides some predefined physic simulations.
In order to use CUDA based applications you need to have a NVIDIA graphic card (>= Geforce 8xxx) and you need to use the proprietary NVIDIA driver. Make sure that you also have the 32 bit driver files installed on 64 bit systems. Please note that there is a bug affecting some Ubuntu distributions, that the necessary kernel modules for CUDA (
nvivida_uvm) are not loaded automatically. As a workaround you can manually install the package
nvidia-modprobe package (for example with
sudo apt-get install nvidia-modprobe) if you encounter this problem.
The easiest way to verify that everything is set up correctly is to use the linux version of CUDA-Z. If the application starts and shows information about your GPU everything is working fine. If you only get an error message it is possible that you are either missing some files or not all required kernel modules are loaded.
There is no additional configuration required for Wine Staging and applications can directly start using CUDA. Nevertheless, the implementation is not yet complete and some functions (like directly accessing DirectX objects from CUDA) are unimplemented. In case an application will try to use one of this functions it is going to abort/crash. If CUDA is only an optional dependency of the program you want to use, and it doesn't work with our incomplete implementation, it might be useful to disable CUDA support again until the support is good enough. Feel free to report a bug in this case, and we will try to fix it till the next release.
Hiding CUDA support from applications can be done by deactivating the nvcuda.dll through winecfg. Open
winecfg, go to the Libraries tab, add an override for
nvcuda and change it to disable by pressing the edit button. If you would like to re-enable the support, you just need to remove this line again.