2017/05/24追記 RetroPie 4.2 で動作確認を行いました。SSHの項目のみ追記があります。
ここからRetroPieのインストール方法を記す。RetroPieの現在のバージョンは4.0だが、それ以前と比較すると設定項目が結構変わっている。本稿ではver4.0(4.2対応済み)をベースにして説明する。
Raspberry Piの入手
今回使用したハードウェアを以下に記す。

Raspberry Pi 2 Model B (2015年2月発売品)
- 出版社/メーカー: きばん本舗
- メディア: エレクトロニクス
- この商品を含むブログを見る
今回手元にあったのがRaspberry Pi 2 Model B(以下RPi2Bと略す)だったが、RPi3Bでも問題ない。

Raspberry Pi 3 Model B V1.2 (日本製) 国内正規代理店品
- 出版社/メーカー: Raspberry Pi
- 発売日: 2016/02/29
- メディア: Tools & Hardware
- この商品を含むブログを見る
周辺機器の調達
microSD のマーケットプレイス詐欺に注意! 発送元をよく確認しましょう。ここではAmazon.co.jp限定版をリンクする。

- 出版社/メーカー: トランセンド・ジャパン
- 発売日: 2015/10/02
- メディア: Personal Computers
- この商品を含むブログ (4件) を見る
後々のことを考えると16GBは欲しい。32GBがあればそれに越したことは無いが、プレステとかのCD-ROMメディア機に手を出さないのであれば、フルコンプリートでも経験上16GBを使い切るのはなかなか難しいように思う。別用途で複数台稼働している手前いろんなブランドを使っているが、SanDisk/TOSHIBA/Transcendで今のところ不具合は起こっていない。
電源
電源は2Aが出るものを使ったほうが良い。スマホ付属の電源は大抵1A、iPadであれば2Aのはず。電力不足だとファイルシステムが破壊されることがあるようだ。RetroPie 4.2 から、電力不足の時には画面右上に稲妻のアイコンが表示されるようになっている。秋月電子で買った2A出るACアダプタは手軽なので1個は持ってると便利。
無線LAN子機

PLANEX 無線LAN子機 (USBアダプター型) 11n/g/b 150Mbps MacOS X10.10対応 GW-USNANO2A (FFP)
- 出版社/メーカー: プラネックス
- 発売日: 2013/09/06
- メディア: Personal Computers
- この商品を含むブログを見る
ゲーム操作に必要なデバイス
他、マウス、キーボード、当然ながらゲームパッドが必要。ゲームパッドのボタン数は、最低でもスーファミ以上欲しい(LRボタンがないときつい)。安物で構わない。

マイクロソフト マウス 有線/USB接続 Basic Optical Mouse Mac/Win Silky P58-00070
- 出版社/メーカー: マイクロソフト
- 発売日: 2013/01/11
- メディア: Personal Computers
- この商品を含むブログを見る

iBUFFALO USB接続 有線スタンダードキーボード ホワイト BSKBU18WH
- 出版社/メーカー: バッファロー
- 発売日: 2016/01/28
- メディア: Personal Computers
- この商品を含むブログを見る

エレコム ゲームパッド 8ボタン スーパーファミコン風 高耐久ボタン(日本メーカー製)採用 300万回耐久試験クリア ホワイト JC-FR08TWH
- 出版社/メーカー: エレコム
- 発売日: 2016/06/25
- メディア: Personal Computers
- この商品を含むブログを見る
RetroPieの入手
ここから retropie-4.2-rpi2_rpi3.img.gz といったファイル名のイメージをダウンロードする。
microSDはSDFormatterでフォーマットする。win32 Disk Imagerでイメージを焼く。空き領域が未割当になるが後で広げる。HDMIケーブル、ゲームパッドを挿してから電源ケーブルを挿して電源を入れる。
ゲームパッドの設定
まずゲームパッドの設定を求められるので、こちらを参考に設定を行う。
https://github.com/retropie/retropie-setup/wiki/First-InstallationFirst Installation · RetroPie/RetroPie-Setup Wiki · GitHub
設定後、RetroPieのメニューが表示される。
RetroPieメニューからの設定
SSHを有効にする(2017/05/24 追記)
RASPBIAN JESSIE 2016-11-25 から SSH が初期設定でオフになったので、RetroPie 4.2 からはこの作業を行う必要がある。RetroPieメニューのRASPI-CONFIG からSSHを有効にする。
RASPI-CONFIG
→ 5 Interfacing Options
→ P2 SSH
→ はい
選択肢の日本語[はい][いいえ]が文字化けしているが左の[はい]を選ぶ。
SSHでログインしてからの操作
ここからはSSHでログイン(pi/raspberry)して設定を行う。ここではTeraTermを使う。
ローカルアドレスなので特に隠すものでもないのですが…。
まずは最新版にする
$ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install rpi-update $ sudo rpi-update $ sudo reboot
再起動する。
$ sudo ~/RetroPie-Setup/retropie_setup.sh
U Update all installed packages を選択
S Update RetroPie-Setup script を選択
$ sudo reboot
再起動する。
raspi-configからの操作
$ sudo raspi-config
空き領域の確保
7 Advanced Options
A1 Expand Filesystem を選択
再起動
RetroPie-Setup Scriptからの操作
$ sudo ~/RetroPie-Setup/retropie_setup.sh
C Configuration / tools を選択
キーボードにゲームパッドのボタンを割り当てる
817 retroarchinput - Configure input devices for RetroArch を選択
1 Configure keyboard for use with RetroArch
必要だと思うならどうぞ。
Samba
821 samba - Configure Samba ROM Shares を選択
1 Install RetroPie Samba shares を選択
共有フォルダにアクセスできるようになる
エクスプローラに \\[IPアドレス] を入力すると見えるようになる。
※画像に見えるscreenshotフォルダは後で追加する
USB ROM Service
これを有効にすると、ROMイメージを入れたUSBメモリを挿すと自動で取り込まれるようになる。
※コメント欄からの情報提供、ファイル名に日本語を含めると文字化けを起こすそうである。この機能は使わず、SFTPかSamba経由で転送するのが良いと思う。
827 usbromservice を選択
1 Enable USB ROM Service
オーバークロック
個人的には推奨しない。旧バージョンでは4段階ぐらいから選択できたはずだが、ver4.0あたりから2種類に減っていた。
シェルからの操作
RetroPie-Setup Scriptを抜けてシェルに戻る。
日本語フォント
EmulationStationでは、/usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttfが決め打ちされている(=他のフォントを想定していない)が、フォントのインストールは手動で行う。
$ sudo apt-get install fonts-droid
これで日本語も表示されるようになるが、EmulationStationは半角スペースを区切りとして折り返すチープなアルゴリズムであるため、日本語の折り返しが考慮されていない。これはソースを修正する必要がある。
スクリーンショット機能
各エミュレータにはスクリーンショット機能を備えているものもあるが、EmulationStation自体には無いようなので、raspi2pngを導入する。下記のサイトを参考にした。
RaspberryPiでスクリーンショットを撮る - Qiita
$ cd ~ $ mkdir Dev $ cd Dev $ git clone https://github.com/AndrewFromMelbourne/raspi2png $ cd raspi2png $ sudo make
シェルから
$ ~/Dev/raspi2png/raspi2png -p hoge.png
とすると、HDMIから出力されている現在の画面がキャプチャされ、hoge.pngに出力される。
スクリーンショットを一括保存するフォルダを作る。このフォルダはSamba経由で取れるようにしたいので、~/RetroPie/ 以下に作る。
$ mkdir ~/RetroPie/screenshot
シェルスクリプトを書く。
$ cd ~ $ nano screenshot.sh
screenshot.shに以下のシェルスクリプトを記述して保存する。
#!/bin/sh /home/pi/Dev/raspi2png/raspi2png -p /home/pi/RetroPie/screenshot/Screenshot_$(date +%Y-%m-%d_%H%M%S).png
※nanoは、Ctrl+Oで保存、Ctrl+Xで終了
シェルスクリプトに実行権限を付与する。
$ chmod +x screenshot.sh
これで、
$ ~/screenshot.sh
とするだけでHDMIから出力されている画面をキャプチャして、 /home/pi/RetroPie/screenshot/ にスクリーンショットが出力される。
あとはこのフォルダをSambaで共有できるようにする。
$ sudo nano /etc/samba/smb.conf
/etc/samba/smb.conf を開くと、ファイル末尾に共有フォルダの設定が見えるので、これに倣って追記する。
(略) [roms] comment = roms path = "/home/pi/RetroPie/roms" writeable = yes guest ok = yes create mask = 0644 directory mask = 0755 force user = pi [bios] comment = bios path = "/home/pi/RetroPie/BIOS" writeable = yes guest ok = yes create mask = 0644 directory mask = 0755 force user = pi [configs] comment = configs path = "/opt/retropie/configs" writeable = yes guest ok = yes create mask = 0644 directory mask = 0755 force user = pi [bios] comment = bios path = "/home/pi/RetroPie/BIOS" writeable = yes guest ok = yes create mask = 0644 directory mask = 0755 force user = pi [configs] comment = configs path = "/opt/retropie/configs" writeable = yes guest ok = yes create mask = 0644 directory mask = 0755 force user = pi [splashscreens] comment = splashscreens path = "/home/pi/RetroPie/splashscreens" writeable = yes guest ok = yes create mask = 0644 directory mask = 0755 force user = pi [screenshot] comment = screenshot path = "/home/pi/RetroPie/screenshot" writeable = yes guest ok = yes create mask = 0644 directory mask = 0755 force user = pi
※末尾の赤文字が追記した設定
この変更は即座に反映されるので、Sambaを再起動する必要はない。
IPアドレスを固定する
最初のエントリでRetroPieをWi-Fi接続にしているが、有線無線に関わらずIPアドレスはDHCP任せである。再起動などでIPアドレスが変わってしまった場合、RetroPieのメニューから[SHOW IP]を選択すると表示される。
それも面倒であれば、固定IPにしてしまえば良い。
すでにネットワーク設定自体は整っているはずだが、設定を確認する。有線LANであればこのコマンドで確認する必要はない。Wi-Fi接続の設定を行なった場合はSSIDとパスワードが記述されていることがわかる。
pi@retropie:~ $ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf country=GB ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 # RETROPIE CONFIG START network={ ssid="(ここにSSID)" psk="(ここに平文のパスワード)" } # RETROPIE CONFIG END pi@retropie:~ $
pi@retropie:~ $ sudo cat /etc/resolv.conf # Generated by resolvconf domain (ここにドメイン) nameserver (ここにネームサーバのIPv4アドレス) pi@retropie:~ $
ドメインとネームサーバのIPv4アドレスが記載されている。ここまで来て意味が良くわからないという人は迂闊に変更しないほうが良いと思う。自信がなければ次の操作は行わず読み飛ばして欲しい。
$ sudo nano /etc/network/interfaces
無線LANを使っているので、有線の場合はiface eth0 inet manualの次の行から追記・変更してほしい。また、IPアドレスは自分の環境に置き換えて欲しい。
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
iface eth0 inet manual
allow-hotplug wlan0
#iface wlan0 inet manual
iface wlan0 inet static
address 192.168.1.123
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameserver 192.168.1.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
再起動して、固定できているか確認する。
$ sudo reboot
次のエントリでは、実際にROMイメージを配置して動作させてみる。