ラベル linux の投稿を表示しています。 すべての投稿を表示
ラベル linux の投稿を表示しています。 すべての投稿を表示

2015年7月18日土曜日

Raspberry Pi 2 に Retro Pie 2.6 を導入するお話

お久しぶりです.
今日は raspberry pi 2 B(ラズパイ2)に最新版のRetroPieを導入するお話です.


以前の記事の続きって事になるんですが,その記事が2014年9月24日の記事なのでまあ10ヶ月ぶりにアップデートしますよって感じになりますね.

今回は以前導入したSDカードを流用するので,初めてRetroPieを導入する方は以前の記事を参考にしてください.
その辺は基本的に変わってないはずなので.


Raspberry Pi に Retro pie をインストールした話
http://arashimata.blogspot.jp/2014/09/raspberry-piretro-pie.html


さて,以前の記事と今回の記事とについて軽くまとめると,

以前の記事では
初代ラズパイをゲーム機として使うためのOS,RetroPieをインストールしてコントローラの設定をするところまでやりました.

今回の記事では
ラズパイ2を買ってきたあたりの話とRetroPieをアップデートしてラズパイ2で動作させようというところまでやります.
あと,ついでに以前導入したOSが2.3だったんですけど,最新版の2.6までの変更点とかも書いておこうかと思います.
あと,前回できなかったhotkeyの設定の話も最後に付け加えておきます.



無印B+のときはRSオンライン(http://jp.rs-online.com/web/)で購入したんですけど,今回は正規代理店を名乗るケイエスワイ株式会社のラズベリーパイショップ(https://raspberry-pi.ksyic.com/)というところで購入しました.
このショップ,直感的に怪しいお店っぽい見た目のサイトなんですけど,何よりRSオンラインから個人の客はこちらって誘導されるのできっと大丈夫なんだと思います.

RSオンラインとこの正規代理店のショップは税抜き4800円で売ってるんですが,確かこの二件が最安だったと思います.税込みで5184円.前からそうなんですけど,他の販売業者はこれより高い値段で売ってるのでもしかしたら個人も業者も問わずRSが4800円で売ってるのかななんて思ったりもします.
ついでに公式のケースも買いました.送料無料にするために買えって言われた気がした.




●手順

Raspbianのアップデート
↓
カーネルのアップデート
↓
RetroPieのアップデート
↓
hotkeyの話




●Raspbianのアップデート

さてさて,ここでラズパイ2が準備できたことにします.
ラズパイと基本的に同じ構成なのでSDカードを差し替えればそのまま使えるのかなー,なんて思いながらとりあえずSDカードを差し替えてHDMI,給電ケーブルをつないでみたんですが,端的に言うとダメだったわけですね.
画面すら映らず,赤ランプが点くだけで緑のランプがチカチカする事もなく.
調べてみると,どうもアップデートが必要らしいんですね.

こちらのサイト(Aldebaranな人のブログ:Raspberry Piの設定【Raspberry Pi 2 Model B移行用アップデート】;http://yamaryu0508.hatenablog.com/entry/2015/02/03/070000)を参考にさせて頂いたんですけど,アップデートするコマンドを入力すればなんかできるっぽいです.


アップデートする時の注意なんですけど,アップデートは必ず初代ラズパイで行います.
元々2の方では起動できないので必然的にそうせざるを得ないのですが,敢えて.
アップデートはネットワーク経由で最新のデータを取得するので,事前にLANケーブルを接続してネットワークに繋いでおいてください.

コマンドは
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install raspberrypi-ui-mods
です.
ですが,途中で [Y/n]? と聞かれるので適当に y とでも答えてください.
これぐらいのメモリを使いますよ,という確認です.
4GBのSDを使ってる人はもしかしたら容量が足りなくなるかも,との事なのでご注意ください.この際に8GB以上にインストールし直すのもアリかもしれませんね.

ちなみにボクは4GBで強行しました(テヘペロ


これらはRetroPieのベースになってるRaspbianとかのアップデート(?)みたいです.
RetroPieはもうちょっと後でやります.

これらのアップデートを室温31度の自室でやってたんですけど,途中でどうやら熱にやられてたらしく,ダウンロードの途中で速度がゆっくりになったり一時停止してたりしてたんですね.
ヒートシンクをつけているとはいえ,フタしてファンレスだと夏場は厳しいようです.12cmファンを用意して直に風を当ててやると順調に処理が進むようになりました.

これらの処理にはそこそこ時間がかかるので気長にやってください.トータル1時間では終わらないと思ってください.

で,この4つが終わると(たぶん)ラズパイ2の方でも起動できるようになると思います.




●カーネルのアップデート

知らなかったんですけど,Linuxのカーネルを更新することができるようで,前述の参考させて頂いたサイトにありましたが
sudo rpi-update
と唱えることで更新してくれるようです.
カーネルが新しくなったところで何が変わるのかよくわからないので,たぶんやらなくてもいいやつです.GPUのファームウェアも更新してるとかいう話ですけど,こちらも何が変わるのかよくわからないですね.
何でも最新が好きな人はどうぞ,みたいな.




上の画像が諸々やる前,
下の画像が諸々やった後です.



↓



3.12.22 から 4.0.8 になったのはいいんですが,あれ,rootfsのディスク使用量の表示が消えてる・・・?
まあ・・・いいか・・・.




●RetroPieのアップデート

ここからはラズパイ2での作業になるので,SDカードを入れ替えて,HDMIとか繋いでるものを全部ゴッソリ挿し直します.


で,起動します.いつも通りに.

この時点でRetroPieはまだ更新できていないので,そっちの更新をやります.
普通に起動するとEmulationStationが立ち上がるので,F4 キーでコマンド画面に移って,
startx
でGUI画面にします.
LXTerminalを起動して
cd RetroPie-setup
sudo ./retropie_setup.sh
と入力してRetroPieのセットアップのスクリプトを起動します.

バージョンによって違うみたいですが,
UPDATE RetroPie Setup script
と
UPDATE RetroPie Binaries
を順に実行します.
(最新版ではバイナリーの方の項目が消失してますが・・・)

で,再起動します.
sudo shutdown -r now


おわり.




実は,RetroPieはアップデートできることはわかってるんですが,現在どのバージョンであるかというのを確認する方法がボクにはわからないんですね.
アップデートすると retropie_setup.sh の項目が明らかに変わってたり,ディレクトリの奥の方のファイルが最新版に対応した内容になってたりはするんですが,肝心のバージョン番号とかそういうのがどこにも見当たらないんですよ.
こっちはカーネルと違ってアップデート内容によっては便利になるのでこまめにチェックしておきたいですね.

今回アップデートした(はず)のバージョン2.6までの主な変更は次の通りです.(http://blog.petrockblock.com/retropie/retropie-downloads/retropie-sd-card-image-for-raspberry-pi-2/)
・2.4 ソフトの拡張子ZIPに対応
・2.5 ラズパイ2に対応,オーバークロック設定の削除

基本的にエンドユーザーにはよくわからないバグの修正とか諸改善が多いみたいですけど,その他コモドール64とかなんかよくわからないもののエミュレートをサポートしたりしてるらしいです.
コンフィグもあんまり深く読んでなかったので,オーバークロックできたんだって感じですけど.




●hotkeyの設定

以前の記事でhotkeyの設定方法がわからないって書いて誤魔化したんですけど,やっとわかったのでこっちで書いておきますね.まあ,基本的にcfgファイルが見つからなかったっていうのが問題だったんですけど.


RetroPie全体の設定に関わるcfgファイル"retroarch.cfg"は
ファイルマネージャから
/opt/retropie/configs/all
まで辿ればあります.
これを開くと入力機器の設定とか音,映像とかの設定ができます. retropie_setup.sh で設定した項目がここに反映されるんだと思います.

ゲームパッドのボタンの設定についてのcfgファイル"*** (ジョイスティック名) .cfg"は
 /opt/retropie/emulators/RetroArch/configs
にあります.
デフォルトで入ってるゲームパッドのファイルと,各自で設定したパッドの数だけファイルがあると思います.

hotkeyの設定なんですが,どうやらどっちでやっても良いっぽいんですよね.
ただし,たぶんですけど,ジョイスティック毎に設定した方が良いと思います.


ダブルクリックして開きます.
ゲーム上のボタンと,それに対応するジョイスティックのボタン番号がズラッと並んでます.

ここの最後にでも
input_enable_hotkey_btn = "*"
input_exit_emulator_btn = "*"
を追記します.
*印のところはそれぞれの環境に応じて入力してください.
一般的に enable_hotkey にセレクトボタン, exit_emulator に L ボタンを指定します.
こうすることでセレクトを押しながら L を押すとゲーム画面から脱出できるようになります.

下の画像に自分の使用しているジョイスティック2種類のcfgファイルを示しますが,各ボタンに対応するジョイスティックのボタン番号がちょいちょい違うのがわかると思います.



自分の場合,たまたまセレクトと L のボタン番号が同じだったので同じように追記してますが, 基本的にジョイスティックによってこの数字が違いますから,環境に応じて*印を変えるというのはそういう理由なんですね.

で, 順番が前後しましたけど retroarch.cfg 側で hotkey の設定をしない理由はここにあって,ここでいずれかのジョイスティックを前提に設定してしまうと,他のジョイスティックに取り替えたときに対応するボタンが変わる(と思う)のでジョイスティック毎に個別に設定した方がいいということです.

それから,少なくとも V2.6 ではhotkeyが使えるのは1Pとして認識されたコントローラだけみたいですね.




ということで,ラズパイからラズパイ2にハードを取り替えるのが主な目的だったんですが,思わぬところでいろいろ見つかってちょっとだけ勉強になりました.
ハード的にスペックアップした影響はと言うと,従来のB+では処理が間に合ってなかったところとかがスムーズに動いたりして,アップデートするだけの価値はあったかなと思います.
具体的には桃鉄のボンビーがキングボンビーになった時とかドラクエ3のダーマの神殿とかの霧がかかったようなレイヤーが追加された時に処理が間に合ってなかったり,人の声とかが再生される時に音がザワザワしたりしてたのがスムーズに動作するようになったって感じですね(ハード以外も更新したので理由は明確じゃないですけど).
ただ,snesでも一部のゲームの処理の重い音声を使う場面になるとまだ処理が足りてないみたいですね.


さて,次の更新はいつ頃になるやら.

2014年9月24日水曜日

Raspberry Pi に Retro pie をインストールした話

ブログの更新が途絶えてる間にArduinoとは別でRaspberry Pi(ラズベリーパイ;ラズパイ)を最近買いました。

まあ自分にとってLinux練習用としての位置づけもあるぐらいなのでまだ全く使いこなせていないのですが、今回はOSのRetro pieを導入した話を記録がてら書きますね。



まず簡単にラズパイの説明をしておくと、ラズパイは小型PCボードで、本体を買ってきたら後は一般に配布されてるOSをSDカードに焼き込んでラズパイに差し込んで電源を接続すれば起動しますよ。みたいな機器なんですけど、買ってきたあたりからの詳細は別の記事で改めて書こうと思ってたり思ってなかったり。

Retro pie(こっちはなぜかeまでが正式名称)はラズパイ用のOSなんですけど、何がレトロかってレトロゲームをエミュレートするために作られた専用のOSです。電源を入れるとそのままエミュレーターが起動してソフトの選択画面が映ります。

ここではRetro pie導入の最初から自分の環境(snes起動のみ)が実現するまでを記録しておこうと思います。というのも、日本語で解説したサイトが数えるほどしか見当たらなかったのでいくつかの問題を解決するのに手間がかかったため、という感じです。自分自身、どっかの雑誌を見てとか解説サイトを見てラズパイでsnes起動させようと思ったわけではなく、スペック的にエミュレーターが動きそうだから誰かやってるだろっていうレベルでの見切り発車だったもので。なので、後の人がちょっぴり簡単になるようにという目的で。
手を出そうかと迷ってる人は一通り読んでからできそうかと考えてみればいいかなと思います。

Raspberry pi (Model B+) 

※ こちらの記事はV2.3を初代ラズパイにインストールする手順を記しています
※ ラズパイ2にハードをアップデートしたり,RetroPieをアップデートしたい方は
※ http://arashimata.blogspot.jp/2015/07/raspberry-pi-2-retro-pie-26.html
※ の記事も併せてご覧ください.



●準備するもの(ハード)(ラズパイはじめての人用)
・ラズパイ本体
 ― AでもBでもB+でもよい、自分はエミュレーター専用で使うわけではないのでB+
・SDHCカード
 ― OSが3GB以上あるので最低4GB、B+はマイクロSD規格である事に注意
・ディスプレイと接続するケーブル
 ― HDMIならケーブルは普通のやつ(マイクロでない)、B+ではアナログ端子が3.5φオーディオ端子の中に収まったので更に変換ケーブルが必要
・マイクロUSBケーブル・USB充電器
 ― 電源はマイクロUSBから供給する謎仕様なので、とりあえず1A程度以上の充電器と組み合わせるのを推奨
・USBキーボード(・マウス)
 ― キーボードは必須、マウスはなくてもセットアップできると思うけどあった方が便利、自分はトラックボールつきワイヤレスキーボードを使ってます

・USBゲームパッド(推奨)
 ― キーボードでも動作するのであくまで推奨、USB端子数と相談しながらハブとか使ってください
・3.5φオーディオケーブル・スピーカー
 ― HDMIで音声出力するなら不要だけど環境によってはある方がいいかな、ぶっちゃけ音声なくても動作に支障はないんですけど

ラズパイを収めるケースはあった方がいいですけど、自分の場合香港に注文してまだ届いてないままハダカで使ってるので、これもあくまで推奨。裏面とかの短絡にご注意。



●準備するもの(ソフト)
・Retro pieのイメージ(http://blog.petrockblock.com/retropie/retropie-downloads/)
 ― OSです。自分は何も考えずにV.2.3を導入したけど、V1.10の方が導入解説してる事例が多い気が・・・設定項目の仕様もちょいちょい違います
・Win32 Disk Imager(http://sourceforge.jp/projects/sfnet_win32diskimager/)
 ― 上のOSをSDカードに焼き込むソフト。他のソフトでも可
・動作させたいゲームソフト
 ― 少なくともsnesの場合はzipでは動作しなかったので、解凍してsmc形式にしておきます
※ 追記 V2.4 以降はZIPファイルに対応しています

●手順
ウィンドウズ機などでSDカードにOSを焼き込む
 ↓
SDカードをラズパイに挿して起動、諸々セットアップ
 ↓
ゲームパッドの導入
 ↓
おわり


はじめての人でもだいたいわかるように、というつもりで書きますけど、正直な話、英語が読めない人とかパソコン関係に詳しくない人にはおすすめしません。PSPのツールみたいに起動したらハッキング完了みたいな事しかやったことがない人は途中で挫折するかと思います。そのつもりで。
あと導入の辺りは記憶だけで書いてるのでたまに嘘書いてるかもしれません。いろいろ自己責任で。


●OSの焼き込み
空のSDカードをカードリーダーなどでパソコンに認識させます。
Win32DiskImagerを起動し、imgファイルを選択、SDカードのドライブ記号を確認してWriteを開始します。
3GB以上あるのでしばらく待ちます。うろ覚えですけど20分ぐらいかかった気が。
完了したらSDカードをラズパイに差し込みます。

●ラズパイ起動
ラズパイには電源ボタンがなく、電源ケーブルを接続したら勝手に電源が入るので、映像出力とかキーボードとか基本的なものを繋いだ状態で給電開始してください。
電源に接続したらディスプレイにちっちゃい文字とかが流れはじめて起動します。

さて、起動すると勝手にエミュレーターのGUI画面になるんですが、迂闊にもV2.3を導入したボクは参考にさせてもらったサイトと操作が全く違う事に気づくんですね。なのでここからは合ってるかどうかよくわからないけど自分のやった方法を書いていきます。
V1.1を導入した人はTakachan日記-とりあえず動いている私のRaspberry Pi(http://takachan3.blog67.fc2.com/blog-entry-253.html)を参考にすればよいかなと。

●CONFIGURE INPUT
初回起動ではGUIを操作するためのコンフィグをラズパイに覚えさせる作業があります。これはあくまでエミュレーターのGUIで使用するためのキーを登録するためのもので、ゲーム内で使用するキーの割り当てをするものではありません。
ここのボタンの登録はミスってもやり直しが利きますけど、あんまり適当に登録しすぎると再登録するための設定に辿り着けなくなる可能性もあるので丁寧に。
HOLD A BUTTON と表示されたらゲームパッドなりキーボードなりでAボタンに相当するキーを長押しします。キーボードの場合、スーファミのボタン配置的にxキーがいいかと思います。
画面が切り替わって十字キー、Bボタン、スタートセレクト、LRを登録します。
XとYはエミュレーターのGUIでは使用しません(nes用のパッドだとXYがない可能性があるためと思われます)。

●エミュレーターの終了
このままではゲーム内でゲームパッドが使用できないので一旦エミュレーターを閉じます。
キーボードでゲームをする場合は矢印キーとaszxキーあたりで動作できますが、どのみちソフトが入っていないのでソフトを入れてからになります。
スタートボタン>QUIT>QUIT EMULATIONSTATION でエミュレーターを閉じてCUI画面になります。
ぶっちゃけF4ボタンでもいいんですけど。

●ラズビアンGUI起動
今回はRetro pieというOSを導入したんですが、ベースとなっているのはラズパイ用として広く使われているRaspbian(ラズビアン)というOSのようです。RaspbianはDebianというLinuxをベースにしているものだそうです。なので、Debianで使えるコマンドがだいたい使えそうだと思っておけばいいかと。
CUI画面でstartxと入力してエンターを押します。しばらくするとGUI画面になります。
Linuxを使ったことのない人には違和感があるかもしれませんが、デスクトップ画面みたいなものが起動してマウスが使えるようになります。
これからやる作業はもしかするとCUI上でも完結できるのかもしれないですけど、今回はGUIで。
ラズビアンを普通にインストールした時とは違ってデスクトップ上に何のアイコンも置かれてないので、宗教的な理由のある方以外はファイルマネージャとLXTerminalのショートカットをデスクトップ上に作ることをおすすめしておきます。
LXTerminalではGUI環境でコマンド入力ができるので、ファイルを検索しながらファイルマネージャーでブラウジングしたりできるので便利です。

●LXTerminalで諸設定
LXTerminalを起動します。
これまでもここからもコマンドは大文字小文字や記号など間違えるとLinuxに「わからん!」って言われて仕事してくれないので注意です。

●●パーティション拡張
まずパーティションを拡張します。4GB以上のSDカードではやりましょうという事になっています。
ほんの数本しかゲーム入れないから容量少なくてもいいやって人はやらなくてもいいですが、そうでないならやりましょう。というのも、OSをインストールしたそのままだと使用可能な領域が狭くてSDカードの容量をフル活用できないのです。とにかくやりましょう。
スーパーユーザー権限でコンフィグを起動します。
sudo raspi-config
メニューが出たらキーボードの矢印キーとエンターキーを使いながら
expand-rootfs
を実行すると領域を拡張してくれます。再起動したら有効になります。
言われるままだと半信半疑だと思うので、拡張する前と後で次のコマンドを実行してみてください。
df -h
dfはファイルシステムの使用状況を表示するコマンドで、-hは見やすくするためのオプションです。
これは少なくともラズビアンを使用する場合OSインストール後真っ先にやる作業ですので今後の参考にしてください。
再起動するとエミュレーターが自動で起動するので、F4でCUIに、startxでGUIに切り換えて再びLXTerminalを起動します。

●●ゲームパッドの設定
カレントディレクトリを変更します。
cd RetroPie-setup
スーパーユーザー権限でシェルスクリプトを起動します。
sudo ./retropie_setup.sh
ここでアンダーバーを使用しますが、デフォルトではOS側が日本語配列キーボードで入力している事になっていないので右シフトの左隣のキーを押してもアンダーバーは入力できません。
テンキーではなく数字の行で0の右隣にあるハイフンキーをシフトを押しながら押せば入力できるかと思います。環境によって違うかもしれないので探してみてください。
メニューが起動します。
これからゲームパッドのボタンを覚えさせます。
Retropieのバージョンによって数字が違うようなので鵜呑みにせず英語を読んで作業してください。
3 SETUP(only if ~
3 22 Register RetroArch controller
と選択していけばCUIみたいな雰囲気の画面が出てくるので、表示に従ってボタンを登録していきます。
ゲームパッドの準備ができたらキーバードのエンターを押してボタン登録作業の開始です。
画面に~ボタンを押してねって感じで出るので順次ボタンを押していきます。
表示が出てから4秒ぐらい経つと該当ボタンなしとしてタイムアウトして次のボタンの登録に移ります。最初はちょっと焦るんですが、一通り終わったらさっきのメニュー画面に戻るので登録し直す事が出来ます。間違って登録しても、最悪ゲームパッドが接続できてなくてもやり直せるので大丈夫です。
snes用コントローラの場合、L2ボタンとかアナログの方向入力がないので後半はタイムアウトさせ続ければ勝手に終わります。これでゲーム内でゲームパッドが使えるようになります。
コントローラが複数ある場合は一つずつ接続して一つずつ登録作業をやればいいようです(自分もよくわかってないですけど)。それと、キーボードは改めて登録できないようです。
※ 追記 ジョイスティックのボタンを登録したcfgファイルについてはコチラを併せてご覧ください.
ボタンの登録が終わった時に「ゲームパッド名.cfg」で保存したよ!ってメッセージが出るんですが、まあこのファイルが見つからんのですよ。findのコマンドで「*.cfg」を検索してもまあ見つからんのです。わかる方がいらっしゃればコメント欄にでもお願いします。
とにかく、これで登録は完了。

●ROMの用意
ハードの設定は終わりましたけど、肝心のゲームソフトがなければ何も始まりません。
今回はUSBメモリでROMのやりとりをします。
とりあえず使っていいUSBメモリをラズパイに接続します。
フォーマットしたままで何も入ってないものが面倒ごとがなくて理想ですけど、雑多なファイルがあってもとりあえずOK。USBメモリじゃなくてもマルチカードリーダーに接続したカメラ用のSDカードでもOKでした。何でもいい。とりあえずメモリ。
ラズパイに接続するとromsというフォルダが勝手に作成されます。romsの中にはエミュレート動作ができるハードの名前がつけられたブランクのフォルダがたくさん入っています。最初の接続はこれが目的なので、ちょっと経ったら取り外し、他のパソコンからこのメモリの該当するハードのフォルダにROMをコピーします。最初の方でも書きましたが、zipではなくsnesならsmc形式にしてからフォルダに入れます。
※ 追記 V2.4 以降ではZIPファイルに対応しています
ROMを入れたら再びラズパイに接続。勝手に同期して本体に挿入してるOSブート用のSDカードに入っていきます。ファイルマネージャでromsフォルダを確認すると入ってるはずです。
ちなみにこの作業、OSブート用のSDカードへ直接他のPCからカードリーダーなどでアクセスしようとしてもできません。素人なのでよくわかりませんが、できません。USBメモリを使いましょう。
これでROMの用意は終わりです。
次はエミュレーターでの作業なので、ラズパイを再起動させましょう。
LXTerminalで次のコマンドをを入力します。
sudo shutdown -r now
-rが再起動のオプション、nowが命令を実行するタイミングです。
ちなみに、シャットダウンのみで再起動をしない場合は
sudo halt
で電源を落とせます。このコマンドは何かと使うので覚えましょう。須藤晴人くん大活躍です。
電源を落とした場合、ラズパイには電源ボタンがないので電源ケーブルを抜き差しして起動させます。
Retro pieは通常のラズビアンとは異なり、X(デスクトップ環境)から直接シャットダウンするボタンがありません。ログアウトでCUIに移ってsudo haltを実行する必要があります。

●ROM起動から終了まで
いつも通り勝手にエミュレーターが起動します。
前の方で初回起動時にエミュレーター画面でのゲームパッド操作の設定をしましたが、その設定をしたゲームパッドでエミュレーターを操作します。
十字キー横でエミュレートするハードを選択、AボタンでROMのリスト表示、AボタンでROM起動です。この辺はV2.3の場合、GUIがよくできているので問題ないでしょう。画面下にどのボタンがどの動作をするかも表示されてますしね。
ROMが起動したらとりあえずゲームパッドが動作することを確認してください。
一通り確認できたら、遊ぶ前に終了のさせ方を確認します。
電源ケーブルぶっち抜きでも終了はできますが、小型PCなので全くオススメしません。
ROMの終了にはキーボードのEsc(エスケイプ)キーを押します。それだけです。
ラズパイ本体のシャットダウンにはエミュレーターのGUIから
スタートボタン>QUIT>SHUTDOWN SYSTEM>OK
で電源を落とします。シャットダウンしても本体の赤いランプは点きっぱなしですが、これは通電サインなので電源ケーブルを抜いておしまいにします。



以上が導入から動作までの大まかな説明です。

重ねて申しますが、書いてる本人がLinuxとかよくわかってないくらいなので、全てにおいて自己責任でお願いします。質問などはコメント欄に書いておけばボクがわからなくても誰かわかる人が答えてくれるかもしれません。
誤植など、特にコマンド表記の間違いは指摘して頂けるとこっそり直します。



自分の環境ではスーファミのコントローラを模した①ELECOMレトロ風USBゲームパッドと②iBUFFALOレトロ調USBゲームパッドが使用でき、両方接続した状態での2Pプレイも可能でした。
どちらもよく再現できていますが、動作する上でボタン番号の順番が違ったり、バッファロー製はスタートセレクトボタンが左に寄ってたりと細かいところで違いがありますね。
エレコム製の方がボタンがちょっと硬いかなと思いますが、格ゲーとかシビアなアクションゲームでもやらない限りそこまで気にならないかもしれません。どちらもロングセラーの数量限定モデルなので枯渇しないうちに手に入れてください。

気になっている人がいるかもしれないので一応書いておきますが、ゲーム内でのセーブは通常通り行えます。ご心配なく。

※ 追記 hotkeyについてはコチラを併せてご覧ください.
参考にしたサイトでは”ホットキー”なるものが存在すると書いてあるのですが、ゲームパッドの設定のところでcfgファイルが見つからないがためにそのホットキーを動作させられないでいます。これが使えればゲームパッドを操作するだけでゲーム画面からエミュレーター画面に脱出することができるのでキーボードの接続が不要になるのですが・・・。確かにEscを一瞬押すためだけにキーボードを接続していることを考えると・・・。
cfgファイル上でhotkeyと表記されますが、このhotkeyに割り当てられたボタンを押しながらまた更に割り当てられた別のボタンを同時に押すことでゲームのどこでもセーブ/ロード/終了ができるという機能なんですね。
本当ならcfgファイルを開いて末尾にちょこちょこっと追記すればいけるはずなんですが。
フォーラムを読み漁ればどこかで見つけられそうな気がしつつ、英語読むの疲れるしEscを押し続ける日々です。


参考にさせて頂いたサイトとか
Takachan日記-とりあえず動いている私のRaspberry Pi( http://takachan3.blog67.fc2.com/blog-entry-253.html)
永遠なる串魂ブログ-[RasPi] エミュレータ(RetroPie)のゲームパッド設定(http://zabi.0am.jp/?p=2811)
Retro pie フォーラム -アップデートのお知らせ(http://blog.petrockblock.com/2014/07/01/major-update-for-retropie/)

Retro pie フォーラム-”hotkey”で検索(http://blog.petrockblock.com/forums/search/?bbp_search=hotkey)