ROMコレクションの整理や変換などが行えるツール「iGIR」の最新版となる「iGIR 5.7.0」が、GitHub上で2026年10月1日に公開されました。今回のアップデートでは、これまでOSやCPUごとに用意されていたネイティブアドオンすべてにWebAssembly(Wasm)版が追加されています。
これにより、一般的ではないOSやCPU環境でiGIRを利用するときに必要になることがあった、C++コードの追加コンパイルを避けられるようになりました。Node.jsが動作する環境であれば、それ以外のビルド環境や依存関係を要求せず利用できることを目指したアップデートとなっています。
●iGIR v5.7.0 — GitHub Releases
https://github.com/emmercm/igir/releases/tag/v5.7.0
特殊な環境ではC++のコンパイルが必要になることもあった
iGIRはROMファイルのスキャンや整理、ファイル名の統一、重複ROMの除外、アーカイブの展開・作成などが行えるコマンドラインツールです。また、CHDやGCZ、RVZ、WIA、CSO、ZSO、DAXといったさまざまな形式を扱うため、MAMEの「chdman」やDolphinの「dolphin-tool」、「maxcso」など、複数のC++プロジェクト由来のコードも利用しています。
こうしたC++コードをNode.jsから利用するために使われているのが「ネイティブアドオン」です。ただし、ネイティブアドオンはWindowsやmacOS、LinuxといったOSだけではなく、x64やARM64などCPUアーキテクチャごとに異なるバイナリを用意する必要があります。
iGIRでは主要な環境向けにあらかじめコンパイル済みのバイナリを提供していましたが、それ以外のOSやCPUで利用する場合、v4.1.0以降は「npm install」の際にpostinstallスクリプトを実行し、その環境向けにネイティブアドオンをコンパイルする仕組みが用意されていました。
しかし、この方法ではユーザー側にC++をコンパイルするためのツール一式が必要になります。とくにWindowsなどでは開発環境が入っていないケースも多く、iGIRを使うためだけに追加の環境を整える必要が出てくる場合がありました。
さらに開発者は、postinstallスクリプト自体にセキュリティ上のリスクがあることも理由として挙げています。2026年7月のnpm v12ではpostinstallスクリプトが標準では実行されなくなっており、従来の方法を使い続けることが難しくなっていたようです。
すべてのネイティブアドオンにWebAssembly版を追加
そこでiGIR 5.7.0では、すべてのネイティブアドオンにWebAssembly版が追加されました。WebAssemblyはOSやCPUアーキテクチャに依存しにくいバイナリ形式で、ひとつのバイナリをさまざまな環境で動かせることが特徴です。
これに伴い、iGIRに用意されていたnpmのpostinstallスクリプトも削除されました。そのため、対応するネイティブ版が用意されていない環境でも、インストール時にユーザー側でC++コードをコンパイルする必要がなくなります。
開発者は今回の変更について、Node.jsが動作する場所なら、それ以外の依存関係なしでiGIRを動作させられるようにするためのものと説明しています。普段使われているWindows PCなどではあまり違いを感じない可能性がありますが、これまでサポートが難しかったOSやCPUで利用したい場合には、とくに大きな変更といえそうです。
Wasm版は高速化のための機能ではない
ただし、今回WebAssembly版が追加されたからといって、処理速度が向上したわけではありません。開発者がiGIRで利用しているC++コードをベンチマークしたところ、Wasm版はネイティブアドオンと比較して1.5~3倍ほど遅かったとしています。
そのためiGIR 5.7.0では、利用しているOSやCPU向けのネイティブバイナリが存在する場合は、これまでどおり高速なネイティブ版を優先して利用します。Wasm版は、ネイティブ版を利用できない環境をカバーする役割と考えたほうがわかりやすいでしょう。
現時点では、Windowsのx64/ARM64、macOSのAppleシリコン/Intel、Linuxのx64/ARM64向けにコンパイル済みのネイティブアドオンが提供されています。これらの一般的な環境を利用している場合は、基本的に従来どおりネイティブ版による高速な処理が利用されます。
5.6.0とは異なる方向のアップデート
当サイトでは9月30日に、ひとつ前のバージョンとなる「iGIR 5.6.0」について紹介しました。こちらではPSPなどで使われているCSO、ZSO、DAX形式を、外部のmaxcso実行ファイルや一時ファイルを使用せず、iGIRから直接読み込み・展開できるようになっています。
5.6.0は特定のファイル形式を扱うときの処理速度や使い勝手を改善するアップデートでしたが、今回の5.7.0はそれとは方向性が異なります。iGIRを動かせるOSやCPUの範囲を広げつつ、特殊な環境で必要になり得た追加のビルド作業を減らすことが主な目的です。
普段使っているWindowsやmacOSでは目立った変化を感じにくいアップデートですが、NASやシングルボードコンピューターなどを含め、これまでネイティブアドオンの対応状況が問題になっていた環境では、導入のハードルを下げる変更となりそうです。
なお、Wasm版ではネイティブ版より処理速度が低下するため、対応するネイティブ版がある環境であえてWasm版を使うメリットがあるわけではありません。今回のアップデートは「高速化」ではなく、「より多くの環境で追加コンパイルなしに利用できるようにする」ための改善と捉えるのがよさそうです。















ダンジョンズ&ドラゴンズ ビジュアル大全 半世紀を超えるその歴史とアート









ゲームコンソール2.0