The pre-compiled binaries download for XMR-Stak state that the Linux pre-built binaries don't support cryptonight_r (and thus Monero), for NVIDIA GPUs. Downloading and testing this verifies that, yes, this is correct (of course it is :-) The release notes state you have to build yourself in this case.

My question is: Why is this so? It used to be, before the April algorithm update, that the pre-built binaries worked fine on Linux with NVIDIA GPUs. Googling around, I can't find an obvious answer as to what the problem is, neither on Reddit nor GitHub nor here. Hopefully someone knows the details and can share.

Is it as simple as the CUDA SDK requiring an older version of GCC and the developer not wanting to bother with that? Is there some (actual or perceived) licensing problem? Is there some personal vendetta against nvidia-on-linux?

Enquiring minds want to know.

1 Answer 1


XMR-Stak makes use of NVRTC for mining CN/R on NVIDIA GPUs. NVRTC was added in 1cb52145, and then was disabled in 42112950 for the Linux release build.

On Windows, they ship the NVRTC shared libraries (.dll files) alongside the release executable, and because of the way Windows searches for needed DLLs, it will also search in the current directory of the executable for them - meaning they will be found and loaded fine at runtime.

On Linux, you cannot just place shared libraries in the same directory as the application and expect the loader to find them. It doesn't work like this on Linux. There are a number of ways to achieve the same, but each way has its own strengths and weaknesses. So I can only presume it comes down to how important this is to the developers & community - especially given that CN/R is only really a stop-gap until RandomX is released, and the fact that Linux users are likely far more comfortable compiling and installing from source than your average Windows user.

  • Thanks for the answer. It's actually not super simple to build for NVIDIA GPU on Linux. I have CUDA on my Ubuntu 18.04 LTS workstation, in turn installed as part of the Jetson JetPack tools, and it doesn't build correctly with stock GCC and that version of CUDA and the listed dependencies.
    – Jon Watte
    Aug 19, 2019 at 23:29
  • xmr-stak doesn't support Jetson boards. For those, you'll need xmrig-nvidea.
    – jtgrassie
    Aug 20, 2019 at 0:13
  • Sorry if I wasn't clear: I am using the Jetson boards for other things. But the SDK for Jetson boards install on the x86 workstation, which is where I have an idle GPU, and would want to run xmr-stak, which is why the Jetson SDK forces the CUDA version (not the Jetson board.)
    – Jon Watte
    Aug 21, 2019 at 1:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.