Tuto Debian pour miner de la Monero avec une GPU NVIDIA

XMRing Mining on a personnal Laptop.

XMRing Mining on a personnal Laptop

On trouvera ici, un tutoriel complet pour miner de la XMR avec une carte graphique Nvidia. Bien sûr tout est déjà sur le net mais souvent réparti sur différent site et parfois sans cohérence entre les sites.
C’est pourquoi je propose ici un tuto complet pour les geeks.

🔗Les Builds

La documentation officielle pour builder XMRig et Cuda est bien cool mais elle est inconsistante sur une Debian. Je propose ici la solution que j’ai adoptée en ajoutant quelques détails pour lesquels on peut passer pas mal de temps à chercher.

Note

J’utilise les drivers propriétaire NVIDIA avec ce fichier /etc/apt/sources.list qu’il faudra adapter à votre version de Debian :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
deb https://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb-src https://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware

deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

# bookworm-updates, to get updates before a point release is made;
# see https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_updates_and_backports
deb https://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware
deb-src https://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware

# bookworm-backports, previously on backports.debian.org
deb https://deb.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware
deb-src https://deb.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware

# Installing the debugging symbols
# See https://wiki.debian.org/HowToGetABacktrace
deb http://debug.mirrors.debian.org/debian-debug/ bookworm-debug main

Voici les paquets NVIDIA installé sur mon PC après une installation toute fraîche.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
>  dpkg --get-selections | grep -i nvidia
firmware-nvidia-graphics install
firmware-nvidia-gsp install
glx-alternative-nvidia install
libegl-nvidia0:amd64 install
libgl1-nvidia-glvnd-glx:amd64 install
libgles-nvidia1:amd64 install
libgles-nvidia2:amd64 install
libglx-nvidia0:amd64 install
libnvidia-allocator1:amd64 install
libnvidia-cfg1:amd64 install
libnvidia-egl-gbm1:amd64 install
libnvidia-egl-wayland1:amd64 install
libnvidia-eglcore:amd64 install
libnvidia-encode1:amd64 install
libnvidia-glcore:amd64 install
libnvidia-glvkspirv:amd64 install
libnvidia-ml1:amd64 install
libnvidia-pkcs11-openssl3:amd64 install
libnvidia-ptxjitcompiler1:amd64 install
libnvidia-rtcore:amd64 install
nvidia-alternative install
nvidia-driver install
nvidia-driver-bin install
nvidia-driver-libs:amd64 install
nvidia-egl-common install
nvidia-egl-icd:amd64 install
nvidia-installer-cleanup install
nvidia-kernel-common install
nvidia-kernel-dkms install
nvidia-kernel-support install
nvidia-legacy-check install
nvidia-modprobe install
nvidia-persistenced install
nvidia-settings install
nvidia-smi install
nvidia-support install
nvidia-suspend-common install
nvidia-vdpau-driver:amd64 install
nvidia-vulkan-common install
nvidia-vulkan-icd:amd64 install
xserver-xorg-video-nvidia install

🔗Build de XMRig

1
2
3
4
5
6
sudo apt install git build-essential cmake libuv1-dev libssl-dev libhwloc-dev
cd ~/code
git clone https://github.com/xmrig/xmrig.git
mkdir xmrig/build && cd xmrig/build
cmake ..
make -j$(nproc)

On teste les dépendances :

1
2
3
4
5
6
7
8
9
10
ldd xmrig
linux-vdso.so.1 (0x00007f10d37c9000)
libssl.so.3 => /lib/x86_64-linux-gnu/libssl.so.3 (0x00007f10d3157000)
libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007f10d2c00000)
libuv.so.1 => /lib/x86_64-linux-gnu/libuv.so.1 (0x00007f10d3777000)
libhwloc.so.15 => /lib/x86_64-linux-gnu/libhwloc.so.15 (0x00007f10d30fa000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f10d2b20000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f10d293e000)
/lib64/ld-linux-x86-64.so.2 (0x00007f10d37cb000)
libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007f10d30cc000)

🔗Build de CUDA

Il y a des problèmes de compilation sous Debian… En particulier Issue with unsupported (or latest gcc > 11) compilers. Voici une bonne façon de procéder :

1
2
3
4
5
sudo apt install libcuda1 nvidia-cuda-toolkit-gcc
git clone https://github.com/xmrig/xmrig-cuda.git
mkdir xmrig-cuda/build && cd xmrig-cuda/build
cmake .. -DCUDA_LIB=/usr/local/cuda/lib64/stubs/libcuda.so -DCUDA_TOOLKIT_ROOT_DIR=/usr/lib/nvidia-cuda-toolkit/
NVCC_APPEND_FLAGS='-allow-unsupported-compiler' make -j$(nproc)

🔗Configuration

On peut utiliser l’assistant de configuration de XMRig. J’utilise cette configuration que j’ai anonymisée que j’ai placée dans le fichier ~/.config/xmrig.json :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"autosave": true,
"donate-level": 4,
"cpu": true,
"opencl": false,
"cuda": {
"enabled": true,
"loader": "/home/pi/code/xmrig-cuda/build/libxmrig-cuda.so"
},
"pools": [
{
"coin": "monero",
"algo": "rx/0",
"url": "xmr-eu.kryptex.network:8029",
"user": "YOUR_MONERO_ADDR/YOUR_KRYPTEX_USER_NAME",
"pass": "x",
"tls": true,
"keepalive": true
}
]
}

Comme vous pouvez le voir, j’utilise le pool Kryptex pour lequel j’ai créé un compte. Il y une documentation pour connecter son propre matériel au pool de Kryptex mais on peut choisir aussi d’autres pools.
Il n’est pas recommandé d’utiliser les trois premiers pools sous peine de fragiliser la sécurité de la blockchain Monero.

🔗Usage

On peut voir liste des options de XMRig, voici celles que j’utilise pour tester ma configuration :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
>  ./xmrig --config="$HOME/.config/xmrig.json" --threads=16 --cpu-priority=5 --cpu-memory-pool=-1 --huge-pages-jit --randomx-1gb-pages --dry-run
* ABOUT XMRig/6.24.0 gcc/12.2.0 (built for Linux x86-64, 64 bit)
* LIBS libuv/1.44.2 OpenSSL/3.0.17 hwloc/2.9.0
* HUGE PAGES supported
* 1GB PAGES supported
* CPU Intel(R) Core(TM) Ultra 9 185H (1) 64-bit AES
L2:18.0 MB L3:24.0 MB 16C/22T NUMA:1
* MEMORY 20.0/30.8 GB (65%)
* DONATE 4%
* ASSEMBLY auto:intel
* POOL #1 127.0.0.1:18081 coin Monero
* POOL #2 xmr-eu.kryptex.network:8029 coin Monero
* COMMANDS hashrate, pause, resume, results, connection
[2025-09-17 16:26:11.519] config OK

Visiblement tout va bien donc feu, on le lance en tant que root pour éviter d’avoir l’erreur FAILED TO APPLY MSR MOD, HASHRATE WILL BE LOW !
On vire le --dry-run et c’est parti :

1
2
3
sudo ./xmrig --config="/home/pi/.config/xmrig.json" --threads=20 --cpu-priority=5 \
--cpu-memory-pool=-1 --huge-pages-jit --print-time=3600 --health-print-time=3600 \
--pause-on-battery