0

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.

jtgrassie
  • 19,601
  • 4
  • 17
  • 54
Jon Watte
  • 139
  • 3

1 Answers1

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.

jtgrassie
  • 19,601
  • 4
  • 17
  • 54