«

树莓派(Raspberry Pi)安装RetroPie

简介

RetroPie是一个复古游戏模拟器,构建于RaspbianEmulationStationRetroArch以及许多其他项目。在 Raspberry Pi 上安装后,便可成为万能游戏模拟器,可直接运行如 FC(NES) 平台上的经典游戏。

开始安装

有2种安装方式,一种是直接在已安装了 Raspbian 的树莓派上安装,另一种是直接下载官方的一体化镜像,放到 SD 卡全新安装。由于第二种方式会抹掉所有原来内容,我选择了第一种安装方式。

更新apt-get

ssh到树莓派,PC 用户请用 putty
ssh pi@yourip
运行
sudo apt-get update -y
国内的朋友确保切换到阿里源
sudo nano /etc/apt/sources.list
替换为

deb http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib rpi  
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib rpi  

如果出现 [Waiting for headers] 的错误
sudo mv /etc/apt/sources.list.d/wolfram.list /etc/apt/sources.list.d/wolfram.disabled
注意当前DNS是否正确
sudo vi /etc/resolv.conf
还是失败就尝试清除缓存

sudo apt-get clean  
sudo rm -rf /var/cache/apt/archives/  
sudo rm /var/lib/apt/lists/*  
sudo rm /var/lib/apt/lists/partial/*  
sudo apt-get clean  

再次运行
sudo apt-get upgrade -y
sudo apt-get upgrade


修改locale

运行 locale 查看当前编码是否为如下

LANG=en_US.UTF-8  
LANGUAGE=en_US:en  
LC_CTYPE="en_US.UTF-8"  
LC_NUMERIC="en_US.UTF-8"  
LC_TIME="en_US.UTF-8"  
LC_COLLATE="en_US.UTF-8"  
LC_MONETARY="en_US.UTF-8"  
LC_MESSAGES="en_US.UTF-8"  
LC_PAPER="en_US.UTF-8"  
LC_NAME="en_US.UTF-8"  
LC_ADDRESS="en_US.UTF-8"  
LC_TELEPHONE="en_US.UTF-8"  
LC_MEASUREMENT="en_US.UTF-8"  
LC_IDENTIFICATION="en_US.UTF-8"  
LC_ALL=en_US.UTF-8  

如果不是,Edit your /etc/locale.gen then uncomment the following line: sudo vi /etc/locale.gen
找到如下行
#en_US.UTF-8 UTF-8
取消前面的注释 #
依次运行

sudo locale-gen en_US.UTF-8 UTF-8  
sudo update-locale en_US.UTF-8 UTF-8  
sudo export LANGUAGE=en_US.UTF-8  
sudo export LC_ALL=en_US.UTF-8  
sudo export LANG=en_US.UTF-8  
sudo export LANGUAGE=en_US.UTF-8  

然后 sudo reboot重启生效


安装 RetroPie-Setup

sudo apt-get install git lsb-release
如果现在是root用户,切换到默认的pi用户
su - pi
git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git

cd RetroPie-Setup  
chmod +x retropie_setup.sh  
sudo ./retropie_setup.sh  


完成后出现选择栏,选择第一项完整安装即可

若emulationstation提示: error while loading shared libraries: libbrcmEGL.so: cannot open shared object file: No such file or directory
运行
sudo rpi-update

开机启动RetroPie
运行 sudo ./retropie_setup.sh 进入 Configuration / tools>>autostart, 选择
Start EmulationStation at Boot: Boots into EmulationStation 此时虽设置了开机启动,但默认开机后需要输入用户名密码才能自动进入,可以这样设置跳过输入步骤(本方法实测试可用于Jessie)
sudo vi /etc/inittab
找到这一行
1:2345:respawn:/sbin/getty --noclear 38400 tty1
修改为
1:2345:respawn:/sbin/getty --autologin {USERNAME} --noclear 38400 tty1
替换{USERNAME}为你的用户名,如
1:2345:respawn:/sbin/getty --autologin pi --noclear 38400 tty1


声音问题

如果是通过HDMI连接,运行游戏没有声音并提示: VolumeControl::Init() - Failed to attach to default card
vi /boot/config.txt
末行加上
dtparam=audio=on
找到并修改
hdmi_drive=2
以及
hdmi_force_hotplug=1
hdmi_force_edid_audio=1
如没有在末行加上即可
如运行游戏时提示 VolumeControl::init() - Failed to find mixer elements,或切换显示器时,确保


开始游戏

把相应的游戏rom放到 ~/RetroPie/roms/SYSTEMNAME 下就可直接游戏,SYSTEMNAME为相关的模拟器,比如模拟 NES 游戏,把 yourgame.nes 拷贝到 ~/RetroPie/roms/nes 下即可。现在进入RetroPie,即可看到该游戏。

使用 NAS 来上传游戏 rom
安装 samba,如已安装可跳过
sudo apt-get install samba samba-common-bin
配置
sudo vi /etc/samba/smb.conf
末行加上
在最后加上

[pi]
comment = pi  
path = "/home/pi/"  
writeable = yes  
guest ok = yes  
create mask = 0644  
directory mask = 0755  
force user = pi  

在 Mac 下打开 smb://yourip 或在 PC 打开 \\yourip,复制 rom 到对应到模拟器目录即可

从 nas 运行nas

这是一个很不错到方案,可以省略拷贝到 SD 到过程,参考
从 nas 运行 rom

从 ssh 进入 emulationstation

ssh 下直接运行 emulationstation 可以进入,但是一旦退出 ssh,emulationstation 也会退出。解决方法:改为运行
nohup emulationstation &
可建立一个 shell 方便运行 touch ~/es.sh
chmod +x ~/ex.sh
vi es.sh
复制以下内容

#!/bin/bash
export DISPLAY=:0  
nohup emulationstation &  

按a 进入编辑模式,ctrl + v 粘贴,esc 进入命令模式,输入 wq 后回车退出

按键设置

首次进入 emulationstation 会自动进入按键设置界面,长按手柄任意按键后开始设置,最后一项 HOTKEY ENABLE 如果设置了,则在游戏中退出的快捷键为(该建 + start),进入控制列表快捷键为(该键 + X),否则为(select + start)和(select + X)

大功告成,祝玩得愉快 ^_^

分享