ubuntuでAobaNNUE+ShogiHome

ubuntu

ubuntu 26.04 desktopにAobaNNUE+ShogiHomeをインストールしてみた。
以下に概要を記載しておく。

「Ubuntu 24.04 で「水匠5 + ShogiHome」最強将棋AI研究環境を無料で構築する完全ガイド」
https://zenn.dev/takashi1728/articles/21922578d9ea46
を参考にさせていただいた。

CPUチェック

lscpu | grep -oE "avx512[a-z]+|avx2|bmi2|sse4_2" | sort -u

以下が表示されたらOK。

avx2
bmi2
sse4_2

ビルドで利用するコマンドの確認

which git make g++ python3 7z curl

なければ以下のコマンドでインストールする。

apt -y install build-essential git curl p7zip-full python3

AobaNNUEのダウンロード・展開

下記から入手する。
https://github.com/yssaya/AobaNNUE
現時点では20260103AobaNNUE.zipというファイルがダウンロードされる。
これを~/shogi/srcに配置する。
配置が終わった以下のコマンドで展開する。

cd ~shogi/src
unzip 20260103AobaNNUE.zip

AobaNNUEのビルド(コンパイル)

cd ~/shogi/src/AobaNNUE/source
make -j$(nproc) normal COMPILER=g++ TARGET_CPU=AVX2
#make -j$(nproc) normal COMPILER=g++ TARGET_CPU=AVX2 YANEURAOU_EDITION=YANEURAOU_ENGINE_NNUE

YANEURAOU_EDITIONを指定しないのがミソ。
これをつけているとShogiHomeに登録して対局などをさせると

GameManager#start: 対局の開始に失敗しました。: Error: closed unexpectedly: 最終受信=[Error! : failed to read nn.bin : FileMissMatch]

というメッセージがでて起動できない。AobaNNUEはMakefileでこの値を設定しているので不要。

ちなみに、私の場合、makeコマンドはシェルスクリプトにしているようだが(?)。

テスト

cd ~/shogi/src/AobaNNUE
cp ./source/YaneuraOu-by-gcc ./AobaNNUE_AVX
(printf "usi\nsetoption name BookFile value no_book\nisready\nposition startpos moves 7g7f\ngo movetime 3000\n"; sleep 4; printf "quit\n") | ./AobaNNUE_AVX 2>&1 | grep -E "readyok|bestmove|info depth" | tail -5

AobaNNUEのバイナリと評価関数のインストール

mkdir -p ~/shogi/engine/AobaNNUE
cp ~/shogi/src/AobaNNUE/source/YaneuraOu-by-gcc ~/shogi/engine/AobaNNUE/AobaNNUE_AVX
cp -r ~/shogi/src/AobaNNUE/eval ~/shogi/engine/AobaNNUE

ShogiHome(AppImage版)のダウンロード

mkdir -p ~/shogi/ShogiHome
cd ~/shogi/ShogiHome
curl -L -o ShogiHome-linux.zip https://github.com/sunfish-shogi/shogihome/releases/download/v1.28.0-alpha.2/release-v1.28.0-alpha.2-linux.zip

v1.28.0はアルファ版。リリース版のv1.27.2はこちら

curl -L -o ShogiHome-linux.zip https://github.com/sunfish-shogi/shogihome/releases/download/v1.27.2/release-v1.27.2-linux.zip

ShogiHomeの展開および実行権の付与

unzip -o ShogiHome-linux.zip "ShogiHome-1.28.0-alpha.2.AppImage" "LICENSE.txt"
chmod +x ShogiHome-1.28.0-alpha.2.AppImage

AppImageの動作に必要なソフトウェアのインストール

dpkg -l | grep libfuse2t64
sudo apt -y install libfuse2t64

ShogiHomeの起動確認

~/shogi/ShogiHome/ShogiHome-1.28.0-alpha.2.AppImage

上記コマンドではエラーで起動しない。–no-sandboxオプションをつけると起動する

ShogiHome起動シェルの作成と実行権の付与

vi ~/shogi/ShogiHome/ShogiHome

内容は以下の通り。

#!/bin/sh

exec /home/shogi/shogi/ShogiHome/ShogiHome-1.28.0-alpha.2.AppImage --no-sandbox
chmod +x ~/shogi/ShogiHome/ShogiHome

起動アイコンの作成

mkdir -p ~/.local/share/applications ~/.local/share/icons
cd ~/shogi/ShogiHome
./ShogiHome-1.28.0-alpha.2.AppImage --appimage-extract usr/share/icons/hicolor/512x512/apps/electron-shogi.png > /dev/null
cp squashfs-root/usr/share/icons/hicolor/512x512/apps/electron-shogi.png ~/.local/share/icons/shogihome.png
rm -rf squashfs-root

.desktopファイルを作成する。

vi ~/.local/share/applications/shogihome.desktop

内容は以下の通り。

[Desktop Entry]
Type=Application
Name=ShogiHome
Comment=Shogi GUI (Electron Shogi) with Suisho5 engine
Exec=/home/shogi/shogi/ShogiHome/ShogiHome
Icon=/home/shogi/.local/share/icons/shogihome.png
Terminal=false
Categories=Game;BoardGame;
StartupWMClass=electron-shogi

上記の設定を反映します。

update-desktop-database ~/.local/share/applications

ShogiHomeのドッグへの追加

デスクトップ画面で実行する(省略)。

ShogiHomeにAobaNNUEを登録

登録方法はWindows版と同様。

動作確認

AobaNNUE同士で対局できるかどうか。

コメント

タイトルとURLをコピーしました