今日は 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でも一部のゲームの処理の重い音声を使う場面になるとまだ処理が足りてないみたいですね.
さて,次の更新はいつ頃になるやら.