Ryujinx は、gdkchan によって作成され、C# で書かれたオープンソースの Nintendo Switch エミュレーターです。このエミュレータは、優れた精度とパフォーマンス、ユーザーフレンドリーなインターフェイス、一貫したビルドを提供することを目的としています。これはゼロから書かれ、プロジェクトの開発は 2017 年 9 月に始まりました。Ryujinx は MIT ライセンスに基づいて Github で入手できます。
2024 年 5 月の時点で、Ryujinx は約 4,300 タイトルでテストされています。 4,100 を超えるブートがメニューを通過してゲームプレイに入り、そのうち約 3,550 がプレイ可能と考えられます。
互換性リストはここで確認できます。
誰でも自由に新しいゲーム テストを送信したり、既存のゲーム テスト エントリを更新したりできます。新しい問題のテンプレートとテスト ガイドラインに従うか、該当するゲームの問題への返信として投稿するだけです。検索機能を使用して、ゲームがすでにテストされているかどうかを確認してください。
このエミュレータを実行するには、PC に少なくとも 8GiB の RAM が搭載されている必要があります。この要件を満たさないと、ゲームプレイ エクスペリエンスが低下したり、予期しないクラッシュが発生したりする可能性があります。
エミュレータのセットアップ方法については、セットアップおよび構成ガイドを参照してください。
ローカル ワイヤレス (LDN) ビルドについては、「マルチプレイヤー: ローカル プレイ/ローカル ワイヤレス ガイド」を参照してください。
Avalonia UI にはさまざまな言語の翻訳が付属しています。詳細については、「クラウディン」を参照してください。
これらのビルドは、master ブランチ上のコミットごとに自動的にコンパイルされます。アップデートをプッシュする前に最適な安定性とパフォーマンスを確保するよう努めていますが、自動化されたビルドが不安定であるか、完全に壊れている可能性があります。
Windows、macOS、Linux 用の最新の自動ビルドは、Github リリースで見つけることができます。
貢献する予定がある場合、またはこのプロジェクトについて詳しく知りたい場合は、ドキュメントを読んでください。
エミュレータを自分で構築したい場合は、次の手順に従います。
.NET 8.0 (またはそれ以降) SDK をインストールします。 SDK バージョンが global.json で指定されている必要なバージョン以上であることを確認してください。
コマンドラインでgit clone https://github.com/Ryujinx/Ryujinx
使用してリポジトリのクローンを作成するか、「コード」 --> 「zip のダウンロード」ボタンを使用してファイルを取得します。
Ryujinx をビルドするには、プロジェクト ディレクトリ内でコマンド プロンプトを開きます。 Windows では、ファイル エクスプローラーで Shift キーを押しながら右クリックし、 Open command window here
を選択すると、このファイルにすばやくアクセスできます。次に、次のコマンドを入力します。 dotnet build -c Release -o build
ビルドされたファイルは、新しく作成されたビルド ディレクトリにあります。
Ryujinx システムファイルはRyujinx
フォルダーに保存されます。このフォルダーはユーザー フォルダー内にあり、GUI の [ファイル] メニューのOpen Ryujinx Folder
をクリックしてアクセスできます。
オーディオ
オーディオ出力は完全にサポートされていますが、オーディオ入力 (マイク) はサポートされていません。 OpenAL には C# ラッパーを使用し、フォールバックとして SDL2 と libsoundio を使用します。
CPU
CPU エミュレータ ARMeilleure は ARMv8 CPU をエミュレートし、現在、ほとんどの 64 ビット ARMv8 と、部分的な 32 ビット サポートを含む一部の ARMv7 (およびそれ以前の) 命令をサポートしています。 ARM コードをカスタム IR に変換し、いくつかの最適化を実行して、それを x86 コードに変換します。ユーザーの好みに応じて、ソフトウェア ベース (低速) モードとホスト マップ モード (非常に高速) の両方を活用する 3 つのメモリ マネージャー オプションが利用可能です。デフォルトでは、最速のオプション (ホスト、チェックなし) が設定されています。 Ryujinx は、オプションのプロファイル永続翻訳キャッシュも備えています。これは基本的に、ゲームをロードするたびに翻訳する必要がないように、翻訳された関数をキャッシュします。最終的な結果として、ほぼすべてのゲームのロード時間 (ゲームを起動してからタイトル画面に到達するまでの時間) が大幅に短縮されます。注: この機能は、[オプション] メニュー > [システム] タブでデフォルトで有効になっています。 3 回目の起動でパフォーマンスの向上がロック解除される前に、タイトル画面までゲームを少なくとも 2 回起動する必要があります。これらの改善は永続的なものであり、今後追加のリリースは必要ありません。
GPU
GPU エミュレータは、OpenGL (バージョン 4.5 以降)、Vulkan、または Metal (MoltenVK 経由) API のいずれかを使用して、それぞれ OpenTK または Silk.NET のカスタム ビルドを通じて Switch の Maxwell GPU をエミュレートします。現在、Ryujinx でエンド ユーザーが利用できるグラフィックス拡張機能は、ディスク シェーダー キャッシング、解像度スケーリング、アンチエイリアス、スケーリング フィルター (FSR を含む)、異方性フィルター、アスペクト比調整の 6 つです。これらの機能強化は、GUI で必要に応じて調整したり切り替えることができます。
入力
現在、キーボード、マウス、タッチ入力、JoyCon 入力のサポート、およびほぼすべてのコントローラーをサポートしています。モーション コントロールはほとんどの場合ネイティブにサポートされています。デュアル JoyCon モーションのサポートには、現在 DS4Windows または BetterJoy が必要です。すべてのシナリオで、入力構成メニュー内ですべてを設定できます。
DLC と修正
Ryujinx は、追加コンテンツ/ダウンロードコンテンツを GUI で管理することができます。 MOD (romfs、exef、チートなどのランタイム MOD) もサポートされています。 GUI には、特定のゲームのそれぞれの MOD フォルダーを開くためのショートカットが含まれています。
構成
エミュレータには、一部のログの有効化または無効化、コントローラの再マッピングなどの設定があります。これらはすべて、グラフィカル インターフェイスを通じて、または GUI の [ファイル] メニューのOpen Ryujinx Folder
をクリックしてアクセスできるユーザー フォルダーにある構成ファイルConfig.json
使用して手動で構成できます。
プロジェクトに取り組むすべての開発者は自由時間を利用して作業を行っていますが、プロジェクトにはいくつかの費用がかかります。
Patreon を通じて受け取ったすべての資金は、プロジェクトをサポートするための寄付とみなされます。パトロンは進捗レポートに早期にアクセスでき、開発者インタビューに独占的にアクセスできます。
このソフトウェアは、MIT ライセンスの条件に基づいてライセンス供与されています。このプロジェクトは、BSD に基づいてライセンスされた libvpx プロジェクトと、LGPLv3 に基づいてライセンスされた ffmpeg プロジェクトによって作成されたコードを利用します。詳細については、LICENSE.txt および THIRDPARTY.md を参照してください。