bzminer / bzminer

Fast Windows/Linux crypto miner with remote management
https://www.bzminer.com
260 stars 30 forks source link

Doesn't work with Ubuntu 18.04 #52

Open PSLLSP opened 2 years ago

PSLLSP commented 2 years ago

bzminer_v7.2.4_linux.tar.gz Linux Mint 19.3 (Ubuntu 18.04)

bzminer requires Nvidia driver that is too "high". Is it really necessary? Maybe that static version of miner should be distributed...

$ ./bzminer -V
./bzminer: error while loading shared libraries: libnvrtc.so.11.2: cannot open shared object file: No such file or directory
$ ldd ./bzminer
        linux-vdso.so.1 (0x00007ffc839fd000)
        libOpenCL.so.1 => /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 (0x00007f98da7c5000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f98da5c1000)
        libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f98da3b0000)
        libnvrtc.so.11.2 => not found
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f98da1a8000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f98d9f89000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f98d9beb000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f98d97fa000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f98db89b000)
$ md5sum ./bzminer
14c378371de43e1d1f82245e803faac4  ./bzminer
$ nvidia-smi
Wed Feb  2 05:37:33 2022       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.86       Driver Version: 470.86       CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
$ ls -l /usr/lib/x86_64-linux-gnu/libnvrtc.so.*
lrwxrwxrwx 1 root root       18 Apr 26  2018 /usr/lib/x86_64-linux-gnu/libnvrtc.so.9.1 -> libnvrtc.so.9.1.85
-rw-r--r-- 1 root root 21705024 Dec  2  2017 /usr/lib/x86_64-linux-gnu/libnvrtc.so.9.1.85

I do not use bzminer, this is my first touch. I tried it first on HiveOS but the latest bzminer was at version 7.2.3 and it was not mining at all, it was looping with core dump error; maybe my CPU (AMD AM3, some x4) was too old for bzminer, maybe that bzminer requires some super new instructions that are missing in this older CPU... So I tried it on my test PC with Linux Mint 19.3 and I see it cannot mine because it doesn't like CUDA library that is installed...


HiveOS

# ldd /hive/miners/bzminer/7.2.3/bzminer
        linux-vdso.so.1 (0x00007ffd1a5a5000)
        libOpenCL.so.1 => /opt/amdgpu-pro/lib/x86_64-linux-gnu/libOpenCL.so.1 (0x00007f142fd45000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f142fb41000)
        libdrm.so.2 => /opt/amdgpu/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f142f92e000)
        libnvrtc.so.11.2 => not found
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f142f726000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f142f507000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f142f169000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f142ed78000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f1430e0e000)
# nvidia-smi 
Wed Feb  2 07:28:00 2022       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.91.03    Driver Version: 460.91.03    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
# ./bzminer --nc 1 -c config.txt
./bzminer: error while loading shared libraries: libnvrtc.so.11.2: cannot open shared object file: No such file or directory
# LD_LIBRARY_PATH=/hive/lib/ ./bzminer --nc 1 -c config.txt           
Starting BzMiner watchdog service

************************
**                    **
**   BzMiner v7.2.3   **
**                    **
************************

Aborted (core dumped)
# LD_LIBRARY_PATH=/hive/lib/ ./bzminer --devices

************************
**                    **
**   BzMiner v7.2.3   **
**                    **
************************

Caught segfault at address (nil)
Attempting to restart...
Stopping Miners...
Deleting global context...
Segmentation fault (core dumped)
# lscpu | grep "Model name"
Model name:          AMD Athlon(tm) II X4 610e Processor

I copied libnvrtc.so.11.2.152 from HiveOS to my test PC (Linux Mint 19.3), with Intel XEON CPU. I cannot replicate the crash (core dump) so I assume that it is because binary was compiled to use some instruction that is not supported by AMD x4 610e). I cannot mine, GPU (GTX1060) is not detected.

I connect there over ssh. bzminer requires X11!! Why?? It is CLI miner, isn't it??

$ LD_LIBRARY_PATH=. ./bzminer --devices </dev/null

************************
**                    **
**   BzMiner v7.2.4   **
**                    **
************************

Invalid MIT-MAGIC-COOKIE-1 keyFailed to get X11 display. Memory, core, and fan oc's will not be available

 ----------------------------------------------- devices -------------------------------------------- 
 | # | name:nw                                        | free | total | core | mem | fan | pwr | temp | 
 02-02 07:56:41 ------------------------------------------------------------------------------- v7.2.4

 Press any key to continue...
$ lscpu | grep "Model name"
Model name:          Intel(R) Xeon(R) CPU E31260L @ 2.40GHz

I can crash bzminer 7.2.4 on XEON CPU:

$ LD_LIBRARY_PATH=. ./bzminer --version
error parsing command line arguments
The following argument was not expected: --version
Run with --help for more information.

$ LD_LIBRARY_PATH=. ./bzminer --help
Error parsing command line arguments
BZMiner is an enhanced CUDA Ethereum Ethash miner
Usage: ./bzminer [OPTIONS]

Options:
  -h,--help                   Print this help message and exit
...
  --oc_unlock_clocks          Unlock the core and memory clocks. Will not mine (same as --devices argument).

Invalid MIT-MAGIC-COOKIE-1 keyFailed to get X11 display. Memory, core, and fan oc's will not be available
Segmentation fault (core dumped)

Summary? It looks like bzminer is not matured. Distributed binary doesn't work, it has signs of inexperienced developer, source code is not available so I cannot try to compile it from source code. GAME OVER...

bzminer commented 2 years ago

hi @PSLLSP thank you for all these details

there was a bug in 7.2.3 which was unlocking nvidia clocks when bzminer started by default, that was fixed in the next version. this causes a crash on some systems like hiveos

As far as the drivers go, the cuda_tk version of bzminer is available for rigs that you do not want to update to the latest nvidia drivers

bzminer requires cuda 11.5 or higher (driver 495.29.05 or higher) bzminer cuda_tk version requires only 11.2 or higher (driver 460.27.03 or higher). if the cuda toolkit is installed though, this version can conflict with the installed cuda toolkit so the regular bzminer should be used if this is the case

The X11 display is required for nvidia driver monitoring. by default bzminer will try to use display ":0", however you can change this in the config.txt with the x_display option. In a future release i will attempt to find an available display if ":0" is not available

PSLLSP commented 2 years ago

I already upgraded bzminer to version v7.2.5 at HiveOS and it worked with GTX1070. But I cannot get it running with older cards, like GTX1060 or GTX750Ti (on my PC). This is PC with GTX1060, bzminer is from bzminer_v7.2.5_linux_cuda_tk.tar.gz:

$ ./bzminer --devices

************************
**                    **
**   BzMiner v7.2.5   **
**                    **
************************

Invalid MIT-MAGIC-COOKIE-1 keyFailed to get X11 display. Memory, core, and fan oc's will not be available

 ----------------------------------------------- devices -------------------------------------------- 
 | # | name:nw                                        | free | total | core | mem | fan | pwr | temp | 
 02-07 10:52:30 ------------------------------------------------------------------------------- v7.2.5

 Press any key to continue...

My GPU is working good, it works with miniZ, WildRig-multi, T-Rex and others. It is invisible for bzminer... The same applies to GTX-750Ti.

BTW, it will be nice to add support for --version/-V parameters, it is the standard...

I started with bzminer because it was the only miner with support for blake3 algo, it was few days ago. I tried hard to use it but there are many compatibility problems with my old GPUs. Once T-Rex with support for blade3 was released, I lost interest in bzminer, it doesn't work for me...