Difference between revisions of "RetroArch"

From ArchWiki
Jump to navigation Jump to search
(同期)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[[Category:ゲーム]]
 
[[Category:ゲーム]]
[[Category:エミュレー]]
+
[[Category:エミュレーション]]
 
[[en:RetroArch]]
 
[[en:RetroArch]]
  +
[[es:RetroArch]]
 
{{Note|RetroArch は [[Arch Linux]] とは関係ありません。}}
 
{{Note|RetroArch は [[Arch Linux]] とは関係ありません。}}
   
RetroArch はモジュール式のコマンドラインを使用する、マルチシステムエミュレータです。高速かつ軽量で、移植性が高くなるように設計されています。RetroArch には他のエミュレータには見られないような機能もあり、リアルタイムの巻き戻しや libretro API によるゲーム別のシェーディングなどが出来ます。
+
[http://www.retroarch.com/ RetroArch] はモジュール式のコマンドラインを使用する、マルチシステムエミュレータです。高速かつ軽量で、移植性が高くなるように設計されています。RetroArch には他のエミュレータには見られないような機能もあり、リアルタイムの巻き戻しや libretro API によるゲーム別のシェーディングなどが出来ます。
   
 
== インストール ==
 
== インストール ==
  +
1. {{Pkg|retroarch}} パッケージをインストールしてください。あるいは開発版を使いたい場合は {{AUR|retroarch-git}} をインストールしてください。
{{App|RetroArch|安定版。|http://www.libretro.com/|{{AUR|retroarch}}}}
 
  +
{{App|RetroArch (git)|開発版。|http://www.libretro.com/|{{AUR|retroarch-git}}}}
 
  +
2. '''XMB メニューアセット'''を正しく表示させるために {{Pkg|retroarch-assets-xmb}} パッケージをインストールしてください。
{{App|RetroArch-Phoenix (git)|GTK+ フロントエンド、開発版。|https://github.com/Themaister/RetroArch-Phoenix|{{AUR|retroarch-phoenix-git}}{{Broken package link|{{aur-mirror|retroarch-phoenix-git}}}}, {{AUR|retroarch-phoenix-qt-git}}{{Broken package link|{{aur-mirror|retroarch-phoenix-qt-git}}}} (qt ビルド)}}
 
   
 
== 使用方法 ==
 
== 使用方法 ==
RetroArch は''エミュレータコア''や''エミュレータ実装''と呼ばれる形でライブラリを分離しており [https://aur.archlinux.org/packages/?O=0&K=libretro AUR] や [http://github.com/libretro libretro github リポジトリ] から入手できます。
+
RetroArch は''エミュレータコア''や''エミュレータ実装''と呼ばれる形でライブラリを分離しており [https://www.archlinux.org/packages/?q=libretro Community] リポジトリや [https://github.com/libretro Libretro GitHub リポジトリ] から入手できます。
   
[[AUR]] パッケージはライブラリを {{ic|/usr/lib/libretro/}} にインストールします。ライブラリを選択して ''retroarch'' を実行する場合:
+
libretro コアパッケージはライブラリを {{ic|/usr/lib/libretro/}} にインストールします。ライブラリを選択して ''retroarch'' を実行する場合:
$ retroarch -L /usr/lib/libretro/libretro-(emulation core).so ~/path/to/foo
+
$ retroarch --libretro /usr/lib/libretro/libretro-''core''.so ''path/to/rom''
   
  +
デフォルトのエミュレーションコアは {{ic|retroarch.cfg}} で定義でき、毎回コアを指定する必要がなくなります。例:
{{Tip|[https://github.com/ToadKing/RetroArch-Rpi/blob/master/retroarch-zip retroarch-zip] シェルラッパーを使うことで RetroArch で {{ic|*.zip}} ファイルを利用することもできますが、正しく実装されていないため不安定です。}}
 
   
  +
{{hc|~/.config/retroarch/retroarch.cfg|2=
デフォルトのエミュレーションコアは {{ic|retroarch.cfg}} で定義でき、毎回コアを指定する必要がなくなります。
 
  +
libretro_path = "/usr/lib/libretro/libretro-''core''.so"}}
 
例:
 
{{hc|/etc/retroarch.cfg or ~/.retroarch.cfg|2=
 
libretro_path = "/usr/lib/libretro/libretro-foo.so"}}
 
   
 
== 設定 ==
 
== 設定 ==
 
RetroArch の設定ファイルは {{ic|/etc/retroarch.cfg}} にあり、コメントが大量に付記されています。
 
RetroArch の設定ファイルは {{ic|/etc/retroarch.cfg}} にあり、コメントが大量に付記されています。
  +
  +
デフォルトの設定ファイルをホームディレクトリにコピー:
  +
$ cp /etc/retroarch.cfg ~/.config/retroarch/retroarch.cfg
   
 
メインの設定ファイル {{ic|retroarch.cfg}} で {{ic|#include "foo.cfg"}} ディレクティブを使うことで設定ファイルを分割することができます。{{ic|--appendconfig /path/to/config}} パラメータを使うことで設定を上書きすることができ、キーバインドやビデオ設定、音声設定などを実装に合わせて変更する必要がある場合に便利です。
 
メインの設定ファイル {{ic|retroarch.cfg}} で {{ic|#include "foo.cfg"}} ディレクティブを使うことで設定ファイルを分割することができます。{{ic|--appendconfig /path/to/config}} パラメータを使うことで設定を上書きすることができ、キーバインドやビデオ設定、音声設定などを実装に合わせて変更する必要がある場合に便利です。
Line 32: Line 33:
 
{{Tip|RetroArch は ''[https://gitorious.org/bsnes/xml-shaders bsnes xml filters]'' と ''[https://github.com/libretro/common-shaders cg shaders]'' をロードすることができ、それぞれ {{ic|retroarch.cfg}} で {{ic|video_bsnes_shader}} と {{ic|video_cg_shader}} として定義します。}}
 
{{Tip|RetroArch は ''[https://gitorious.org/bsnes/xml-shaders bsnes xml filters]'' と ''[https://github.com/libretro/common-shaders cg shaders]'' をロードすることができ、それぞれ {{ic|retroarch.cfg}} で {{ic|video_bsnes_shader}} と {{ic|video_cg_shader}} として定義します。}}
 
{{Note|{{AUR|retroarch-git}} で ''cg shaders'' を使うには {{pkg|nvidia-cg-toolkit}} が必要です。}}
 
{{Note|{{AUR|retroarch-git}} で ''cg shaders'' を使うには {{pkg|nvidia-cg-toolkit}} が必要です。}}
{{Warning|''[[ALSA]]'' を使用する場合、{{ic|audio_out_rate}} をシステムのデフォルト出力レート (通常は 48000) に合わせる必要があります。}}
+
{{Warning|[[ALSA]] を使用する場合、{{ic|audio_out_rate}} をシステムのデフォルト出力レート (通常は {{ic|48000}}) に合わせる必要があります。}}
  +
  +
== オンラインアップデータ ==
  +
  +
最近のバージョンの RetroArch には、[https://buildbot.libretro.com/ RetroArch Buildbot] からコアファイルや様々なアセットデータなどを更新できるメニューがあります。メインメニューの "Online Updater" からアクセスできます:
  +
  +
{{hc|1=Online Updater|2=
  +
Core Updater
  +
Update Core Info Files
  +
Update Assets
  +
Update Autoconfig Profiles
  +
Update Cheats
  +
Update Databases
  +
Update Overlays
  +
Update GLSL Shaders
  +
}}
  +
  +
上記のコア・アセットファイルは最新状態が保たれ、常時アップデータから取得することができます。
   
 
== トラブルシューティング ==
 
== トラブルシューティング ==
  +
=== No cores found ===
  +
デフォルトでは RetroArch は {{ic|/usr/lib/libretro/}} からコアを検索します。付属のオンラインアップデータでダウンロードされたコアは root で retroarch を実行しないと保存されません (推奨されません、[[pacman]] によってインストールされたコアを上書きしてしまう恐れがあります)。ユーザーではディレクトリを編集する権限がないためです。オンラインアップデータのコアを使うには、以下の行を編集してください:
  +
  +
{{hc|~/.config/retroarch/retroarch.cfg|2=
  +
libretro_directory = "~/.config/retroarch/cores"
  +
libretro_info_path = "~/.config/retroarch/cores/info"
  +
}}
  +
  +
=== メニューにコアをアップデート・ダウンロードするオプションが存在しない ===
  +
  +
{{ic|~/.config/retroarch/retroarch.cfg}} または {{ic|/etc/retroarch.cfg}} を開いて {{ic|menu_show_core_updater}} が {{ic|true}} に設定されていることを確認してください。設定すると ''Online Updater'' メニューからコアをアップデートして ''Load Core'' メニューからコアをダウンロードできるようになります。
  +
 
=== 入力デバイスが使えない ===
 
=== 入力デバイスが使えない ===
RetroArch を CLI で実行したり [[Xorg]] 以外のディスプレイサーバーで実行すると問題が発生します。{{ic|/dev/input}} ノードは root だけがアクセスできるように制限されているためです。この問題は手動で {{ic|<nowiki>KERNEL=="event*", NAME="input/%k", MODE="666"</nowiki>}} という中身のルールを {{ic|/etc/udev/rules.d/99-evdev.rules}} に追加することで解決します。次を実行して udev ルールをリロードしてください:
+
RetroArch を CLI で実行したり [[Xorg]] 以外のディスプレイサーバーで実行すると問題が発生します。{{ic|/dev/input}} ノードは root だけがアクセスできるように制限されているためです。この問題は手動で {{ic|1=KERNEL=="event*", NAME="input/%k", MODE="666"}} という中身のルールを {{ic|/etc/udev/rules.d/99-evdev.rules}} に追加することで解決します。次を実行して udev ルールをリロードしてください:
 
# udevadm control --reload-rules
 
# udevadm control --reload-rules
   
 
システムを再起動したりデバイスの再接続ができない場合、次のコマンドでパーミッションを強制的に設定することもできます:
 
システムを再起動したりデバイスの再接続ができない場合、次のコマンドでパーミッションを強制的に設定することもできます:
 
# chmod 666 /dev/input/event*
 
# chmod 666 /dev/input/event*
  +
  +
もしくは、ユーザーを "input" グループに追加してください。例:
  +
  +
# usermod -a -G input user
   
 
=== ビデオパフォーマンスが悪い ===
 
=== ビデオパフォーマンスが悪い ===
Line 48: Line 82:
   
 
== 参照 ==
 
== 参照 ==
  +
* [http://www.retroarch.com/ 公式ウェブサイト]
 
* [https://github.com/libretro/RetroArch/wiki RetroArch wiki on Github]
 
* [https://github.com/libretro/RetroArch/wiki RetroArch wiki on Github]
* [http://github.com/libretro/libretro.github.com/wiki/Documentation-devs Documentation for developers]
+
* [https://github.com/libretro/libretro.github.com/wiki/Documentation-devs 開発者向けドキュメント]

Latest revision as of 23:38, 4 January 2018

ノート: RetroArch は Arch Linux とは関係ありません。

RetroArch はモジュール式のコマンドラインを使用する、マルチシステムエミュレータです。高速かつ軽量で、移植性が高くなるように設計されています。RetroArch には他のエミュレータには見られないような機能もあり、リアルタイムの巻き戻しや libretro API によるゲーム別のシェーディングなどが出来ます。

インストール

1. retroarch パッケージをインストールしてください。あるいは開発版を使いたい場合は retroarch-gitAUR をインストールしてください。

2. XMB メニューアセットを正しく表示させるために retroarch-assets-xmb パッケージをインストールしてください。

使用方法

RetroArch はエミュレータコアエミュレータ実装と呼ばれる形でライブラリを分離しており Community リポジトリや Libretro GitHub リポジトリ から入手できます。

libretro コアパッケージはライブラリを /usr/lib/libretro/ にインストールします。ライブラリを選択して retroarch を実行する場合:

$ retroarch --libretro /usr/lib/libretro/libretro-core.so path/to/rom

デフォルトのエミュレーションコアは retroarch.cfg で定義でき、毎回コアを指定する必要がなくなります。例:

~/.config/retroarch/retroarch.cfg
libretro_path = "/usr/lib/libretro/libretro-core.so"

設定

RetroArch の設定ファイルは /etc/retroarch.cfg にあり、コメントが大量に付記されています。

デフォルトの設定ファイルをホームディレクトリにコピー:

$ cp /etc/retroarch.cfg ~/.config/retroarch/retroarch.cfg

メインの設定ファイル retroarch.cfg#include "foo.cfg" ディレクティブを使うことで設定ファイルを分割することができます。--appendconfig /path/to/config パラメータを使うことで設定を上書きすることができ、キーバインドやビデオ設定、音声設定などを実装に合わせて変更する必要がある場合に便利です。

ヒント: RetroArch は bsnes xml filterscg shaders をロードすることができ、それぞれ retroarch.cfgvideo_bsnes_shadervideo_cg_shader として定義します。
ノート: retroarch-gitAURcg shaders を使うには nvidia-cg-toolkit が必要です。
警告: ALSA を使用する場合、audio_out_rate をシステムのデフォルト出力レート (通常は 48000) に合わせる必要があります。

オンラインアップデータ

最近のバージョンの RetroArch には、RetroArch Buildbot からコアファイルや様々なアセットデータなどを更新できるメニューがあります。メインメニューの "Online Updater" からアクセスできます:

Online Updater
Core Updater
Update Core Info Files
Update Assets
Update Autoconfig Profiles
Update Cheats
Update Databases
Update Overlays
Update GLSL Shaders

上記のコア・アセットファイルは最新状態が保たれ、常時アップデータから取得することができます。

トラブルシューティング

No cores found

デフォルトでは RetroArch は /usr/lib/libretro/ からコアを検索します。付属のオンラインアップデータでダウンロードされたコアは root で retroarch を実行しないと保存されません (推奨されません、pacman によってインストールされたコアを上書きしてしまう恐れがあります)。ユーザーではディレクトリを編集する権限がないためです。オンラインアップデータのコアを使うには、以下の行を編集してください:

~/.config/retroarch/retroarch.cfg
libretro_directory = "~/.config/retroarch/cores"
libretro_info_path = "~/.config/retroarch/cores/info"

メニューにコアをアップデート・ダウンロードするオプションが存在しない

~/.config/retroarch/retroarch.cfg または /etc/retroarch.cfg を開いて menu_show_core_updatertrue に設定されていることを確認してください。設定すると Online Updater メニューからコアをアップデートして Load Core メニューからコアをダウンロードできるようになります。

入力デバイスが使えない

RetroArch を CLI で実行したり Xorg 以外のディスプレイサーバーで実行すると問題が発生します。/dev/input ノードは root だけがアクセスできるように制限されているためです。この問題は手動で KERNEL=="event*", NAME="input/%k", MODE="666" という中身のルールを /etc/udev/rules.d/99-evdev.rules に追加することで解決します。次を実行して udev ルールをリロードしてください:

# udevadm control --reload-rules

システムを再起動したりデバイスの再接続ができない場合、次のコマンドでパーミッションを強制的に設定することもできます:

# chmod 666 /dev/input/event*

もしくは、ユーザーを "input" グループに追加してください。例:

# usermod -a -G input user

ビデオパフォーマンスが悪い

ビデオパフォーマンスが低いのを補うために、~/.config/retroarch/retroarch.cfgvideo_threaded = true と設定することで RetroArch を別のスレッドで実行することができます。

ただし、垂直同期が完全に使えなくなり、遅延が多少増えるため、RetroArch のビデオ解像度やリフレッシュレートを調整することで問題が解決する場合はこの手段は使わないほうが良いでしょう。

参照