How to install 'StockfishNNUE' into scid_vs_pc?


[Please, read carefully, stockfish.nnue is not stockfish!!].

I found this information on github about how to install the new stockfishNNUE chess engine, I try to do it in scid_vs_pc - I think it is the most suitable GUI:

I’ve done it several times but I don’t know what mistake I’m making …

Perhaps someone can clarify this information much better. Thank you.

Is this the same as the stockfish engine from the AUR: ?

If so, to install it, simply run:

yay -S stockfish

There is also a stockfish-git package:

yay -S stockfish-git

If you’re unsure, I’d recommend the former package, as it seems to be more popular, and it’s regularly maintained. If you require the latest version compiled from the source on github, then the second package (the git one) might be better for you.


It seems that I did not explain myself well (I use google translator).

Installing the program is not the only problem, the main issue is how to run it in the GUI (scid_vs_pc). It is not clear enough for me what steps I should follow and which option should be opened in scid in order to get the engine inside the right option and run …

I forget to say that this stockfishnnue (in git) has different characteristics than the previous stockfish we know - my intention is to put both engines to play and see the superpower of this new … “hybrid” ?.

It is ‘another thing’, it is called here : SFNNUE

scid does not work well for dark themes :frowning:

… and what is your point …? :roll_eyes:

Just fill in the details, stockfish works.

Name: stockfish
command /usr/bin/stockfish

You get the idea.

stockfish.nnue is not stockfish!! :slightly_smiling_face:

git clone
cd Stockfish
cd src
make build ARCH=x86-64
sudo make install

Then add the engine as above. The configuration - no idea.

[keos@keos-pc ~]$ git clone
Clonando en 'Stockfish'...
remote: Enumerating objects: 27665, done.
remote: Total 27665 (delta 0), reused 0 (delta 0), pack-reused 27665
Recibiendo objetos: 100% (27665/27665), 11.82 MiB | 1.09 MiB/s, listo.
Resolviendo deltas: 100% (21109/21109), listo.
[keos@keos-pc ~]$ cd Stockfish
[keos@keos-pc Stockfish]$ cd src
[keos@keos-pc src]$ sudo make install
[sudo] password for keos: 
mkdir -p -m 755 /usr/local/bin
cp stockfish /usr/local/bin
cp: cannot stat 'stockfish': No such file or directory
make: [Makefile:640: install] Error 1 (ignored)
strip /usr/local/bin/stockfish
strip: '/usr/local/bin/stockfish': No such file
make: [Makefile:641: install] Error 1 (ignored)
[keos@keos-pc src]$ 

Is it o’k? – something is wrong.

You missed a line.

@Keos there appears to be a problem with me seeing that you have posted. Apologies, have raised and issue in the forum category.

I don’t think I understand what you are saying, anyway, there is no problem with me, there is no need to apologize …

I just want to install this weird thing, this beast …!

It seems to me that we also have to install something else:
and then add it … to the directory in scid ?.

I think everything is too complicated for me, I’ll just try a few more …


This is the place from where i’m trying to get information in order to install it but i don’t understand well …

Copy and paste this into a terminal, the whole lot in one go, not line by line:

mkdir tmp1
cd tmp1
git clone
cd Stockfish
cd src
make build ARCH=x86-64
sudo make install
ls -lah /usr/local/bin/stockfish

You did not compile it last time - you missed make build ARCH=x86-64

If this does not create /usr/local/bin/stockfish copy and past the output here.

[keos@keos-pc ~]$ mkdir tmp1
[keos@keos-pc ~]$ cd tmp1
[keos@keos-pc tmp1]$ git clone
Clonando en 'Stockfish'...
remote: Enumerating objects: 27665, done.
remote: Total 27665 (delta 0), reused 0 (delta 0), pack-reused 27665
Recibiendo objetos: 100% (27665/27665), 11.82 MiB | 885.00 KiB/s, listo.
Resolviendo deltas: 100% (21111/21111), listo.
[keos@keos-pc tmp1]$ cd Stockfish
[keos@keos-pc Stockfish]$ cd src
[keos@keos-pc src]$ make build ARCH=x86-64

debug: 'no'
sanitize: 'no'
optimize: 'yes'
arch: 'x86_64'
bits: '64'
kernel: 'Linux'
os: 'GNU/Linux'
prefetch: 'yes'
popcnt: 'no'
sse: 'yes'
sse3: 'no'
ssse3: 'no'
sse41: 'no'
sse42: 'no'
avx2: 'no'
pext: 'no'
avx512: 'no'
neon: 'no'

CXX: g++
CXXFLAGS: -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto
LDFLAGS:  -m64 -Wl,--no-as-needed -lpthread -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto -flto=jobserver

Testing config sanity. If this fails, try 'make help' ...

make ARCH=x86-64 COMP=gcc all
make[1]: Entering directory '/home/keos/tmp1/Stockfish/src'
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o benchmark.o benchmark.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o bitbase.o bitbase.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o bitboard.o bitboard.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o endgame.o endgame.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o evaluate.o evaluate.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o main.o main.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o material.o material.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o misc.o misc.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o movegen.o movegen.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o movepick.o movepick.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o pawns.o pawns.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o position.o position.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o psqt.o psqt.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o search.o search.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o thread.o thread.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o timeman.o timeman.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o tt.o tt.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o uci.o uci.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o ucioption.o ucioption.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o tune.o tune.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o tbprobe.o syzygy/tbprobe.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o evaluate_mir_inv_tools.o eval/evaluate_mir_inv_tools.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o evaluate_nnue.o nnue/evaluate_nnue.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o evaluate_nnue_learner.o nnue/evaluate_nnue_learner.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o half_kp.o nnue/features/half_kp.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o half_relative_kp.o nnue/features/half_relative_kp.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o k.o nnue/features/k.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o p.o nnue/features/p.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o castling_right.o nnue/features/castling_right.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o enpassant.o nnue/features/enpassant.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o nnue_test_command.o nnue/nnue_test_command.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o sfen_packer.o extra/sfen_packer.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o gensfen2019.o learn/gensfen2019.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o learner.o learn/learner.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o learning_tools.o learn/learning_tools.cpp
g++ -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto   -c -o multi_think.o learn/multi_think.cpp
g++ -o stockfish benchmark.o bitbase.o bitboard.o endgame.o evaluate.o main.o material.o misc.o movegen.o movepick.o pawns.o position.o psqt.o search.o thread.o timeman.o tt.o uci.o ucioption.o tune.o tbprobe.o evaluate_mir_inv_tools.o evaluate_nnue.o evaluate_nnue_learner.o half_kp.o half_relative_kp.o k.o p.o castling_right.o enpassant.o nnue_test_command.o sfen_packer.o gensfen2019.o learner.o learning_tools.o multi_think.o  -m64 -Wl,--no-as-needed -lpthread -Wall -Wcast-qual -fno-exceptions -std=c++17  -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_SSE2 -flto -flto=jobserver
make[1]: Leaving directory '/home/keos/tmp1/Stockfish/src'
[keos@keos-pc src]$ sudo make install
[sudo] password for keos: 
Sorry, try again.
[sudo] password for keos: 
mkdir -p -m 755 /usr/local/bin
cp stockfish /usr/local/bin
strip /usr/local/bin/stockfish
[keos@keos-pc src]$ or paste code here

So look in /usr/local/bin:

ls -lah /usr/local/bin

drwxr-xr-x  2 root root 4.0K Aug 15 14:25 .
drwxr-xr-x 11 root root 4.0K Jul 27 21:25 ..
-rwxr-xr-x  1 root root 1.2K Aug 15 10:46 pf
-rwxr-xr-x  1 root root 367K Aug 15 14:25 stockfish  <<<<<!!!!!!!!

Is it there?

[keos@keos-pc src]$ ls -lah /usr/local/bin
total 376K
drwxr-xr-x  2 root root 4.0K ago 15 09:28 .
drwxr-xr-x 11 root root 4.0K dic 22  2019 ..
-rwxr-xr-x  1 root root 367K ago 15 09:28 stockfish
[keos@keos-pc src]$ 

So it is now installed. Go into scid, open engines and add it with that path (/usr/local/bin), scid does not work well for me as it doesn’t like my dark theme.

Works here.

Just is case to let you know this: stockfishNNUE need what it is called the ‘neural net’ (network).

I will try to install this … in scid …

EDIT: If we do not do it then we are just working with just a clon os stockfish.

OK, so we have just compiled stockfish :frowning: I assumed it would be correct as it came from the git repo you referenced.

I haven’t played chess in 20-30 years, so I am afraid I will have to gracefully withdraw, but good luck!!

But it is compiled with nnue :partying_face:

Instructions here ^^^^^

1 Like