Skip to content

Fishtest uses fastchess, a command-line interface for managing chess games.

Supported Platforms

Operating SystemCPUWorkflow
Linuxx86_64, x86_32linux
Linuxaarch64, armv7arm
macOSx86_64, arm64macos
Windows: WSLx86_64linux
Windows: MSYS2, Cygwinx86_64, x86_32windows
Windowsx86_64, x86_32windows

To run fastchess in a way equivalent to fishtest use (linux example below):

./fastchess -repeat -rounds 10000 -games 2 \
                -resign movecount=3 score=600 -draw movenumber=34 movecount=8 score=20 \
                -concurrency 8 -openings file=UHO_4060_v3.epd format=epd order=random plies=16 \
                -engine name=base cmd=stockfish.base option.EvalFile=/home/user/nn-ad9b42354671.nnue option."Use NNUE=true" \
                -engine name=test cmd=stockfish.test option.EvalFile=/home/user/nn-ad9b42354671.nnue option."Use NNUE=true" \
                -ratinginterval 1 -each tc=10.0+0.1 proto=uci option.Threads=1 -pgnout result.pgn

The book UHO_4060_v3.epd can be downloaded from the books repo. The EvalFile is specific to the binary, can be downloaded from the network server, and must be specified with the full path. Look at ./fastchess --help for more options.

In certain WSL2 workers, fastchess will encounter a lot of time losses, this is most likely due to a bugged patch for WSL2 that caused it be non-responsive in some systems, details of the issue can be found here. The temporary fix for this is by downgrading the WSL2 kernel to an older stable version. The process for doing this is simple: Open %USERPROFILE%/.wslconfig or C:\Users\UserName/.wslconfig and add [wsl2] kernel=C:\\Path\\To\\Kernel\\bzImage-5.4.0-microsoft-standard-WSL2. The kernel build can be downloaded here.