ubuntuでAobaNNUE+ShogiHome(Fedora WorkstationもOK)

ubuntu

2026/06/18追記・修正 最近「ねうら王 熱烈応援プラン」でやねうら王開発版+水匠11を入手しLinux用にコンパイルした。その内容をフィードバック。ubuntu26 desktopやfedora 44 workstationでは「やねうら王のビルド手順」やそこからたどっていけるページの通りにすすめれば問題なくビルドが完了するはず。

水匠11のLinuxバイナリ作成方法も別途掲載予定(この記事とほとんど同じになるだろうからいらないか)。

2026/05/27追記 Fedora Linux 44 (Workstation Edition)でも同様にできた。ubuntuとの違いを文中に記している。

ubuntu 26.04 desktopにAobaNNUE+ShogiHomeをインストールしてみた。ちなみに、AobaNNUEは2026年6月現在無償で手に入る将棋AIで最強といわれている。

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

AobaNNUEのビルド・インストール

ビルドに必要な情報

これから作成するバイナリは、動作させるPCの「CPU(OS)」および利用する「評価関数のタイプ」専用のものになると考えてよい。特に評価関数のタイプが違うとのちに出てくるエラーが出力され動作しない。

以下の情報をあらかじめ調べておく。

・動作させるPCのCPU(TARGET_CPU)
・評価関数のタイプ(YANEURAOU_EDITION)

CPUの種類を調べる

利用しているPCのCPUがわからない場合は以下のコマンドを実行する。

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

avx2が表示されれば、とりあえずTARGET_CPU=AVX2としておけば問題ないはず。

ちなみに、今回動作させるPCのCPUはRyzen 5 5625Uなので、TARGET_CPU=ZEN2としてみようと思う。

評価関数タイプ

評価関数のタイプを調べる。著名な評価関数のタイプは「やねうら王のビルド手順」からたどっていけるここに記載されている。AobaNNUEは、Makefileを見ると、NNUE_HALFKP_768X2_16_64となっている。(YANEURAOU_EDITION=YANEURAOU_ENGINE_NNUE_HALFKP_768X2_16_64)

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

ubuntuとfedoraこのあたりはパッケージ名も違うと思うので、makeしながら追加していってもいいと思う。

% which git make g++ python3 7z curl

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

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

AobaNNUEのダウンロード・展開

下記から入手する。
https://github.com/yssaya/AobaNNUE
現時点(2026/06/30)では20260103AobaNNUE.zipというファイルかソースのv1.1.tar.gzをダウンロードすればよい。
これを~/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を指定しないのがミソ。

AobaNNUEはMakefileで先ほど調べた評価関数のタイプを表す値を設定している(YANEURAOU_ENGINE_NNUEではない)のでYANEURAOU_EDITIONの指定はしないか、正しい値(YANEURAOU_ENGINE_NNUE_HALFKP_768X2_16_64)を指定する。
このように評価関数のタイプと違うものを指定してバイナリを作成した場合、ShogiHomeにエンジンと評価関数を登録して対局などをさせようとすると

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

というメッセージがでて起動できない。

私の場合、以下のようなシェルスクリプトにしてmakeを実行した。

#!/bin/sh

cd ~/shogi/src/AobaNNUE/source
make clean YANEURAOU_EDITION=YANEURAOU_ENGINE_NNUE_HALFKP_768X2_16_64
make -j8 tournament COMPILER=clang++ YANEURAOU_EDITION=YANEURAOU_ENGINE_NNUE_HALFKP_768X2_16_64 TARGET_CPU=ZEN2

テスト

省略。

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

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

ShogiHome(AppImage版)のインストール・設定

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はこちら
(2026/06/19現在上記のものより新しいものが出ている)

% 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の動作に必要なソフトウェアのインストール

ubuntuの場合は以下のコマンドを実行する。

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

2026/05/27追記 fedora workstationの場合

% sudo dnf -y install fuse-libs fuse3-libs

ShogiHomeの起動確認

ubuntuの場合

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

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

2026/05/27追記 fedora workstationの場合

上記のコマンドで起動することを確認。

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

2026/05/27追記 ubuntuでは単体で起動できないので、起動シェルを別途作成する。fedora workstation ではこの作業は不要である。

% 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

起動アイコンの作成

ubuntuおよびfedora workstation双方とも同じ手順で作成できた。

% 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

内容は以下の通り。

ubuntuの場合

[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

fedora workstationの場合

[Desktop Entry]
Type=Application
Name=ShogiHome
Comment=Shogi GUI (Electron Shogi) with Suisho5 engine
Exec=/home/shogi/shogi/ShogiHome/ShogiHome-1.28.0-alpha.2.AppImage
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をコピーしました