在电视盒子上运行游戏模拟器 EmuELEC
EmuELEC 是为搭载了晶晨(AMLogic)处理器的设备而构建的游戏模拟器。市面上有很多运营商定制的采用的是晶晨处理器,其中部分的型号就可以刷入 EmuELEC 系统。在二手市场买到的电视盒子,很多都已经刷入了第三方的 Android 系统,可通过U盘启动。因此,可将 EmuELEC 安装到 U盘上,在玩游戏时插入盒子,即可进入游戏系统。
电视盒子 🔗
在二手市场上的电视盒子物美价廉。50元就可以购买一个中兴 B863AV3.1-M2
的电视盒子,(据称)它采用的是 S905L3A
处理器,可刷入 EmuELEC。而且,卖家已经刷入了第三方的 Android 系统,可从 U盘启动。本文以它为例。
工具 🔗
- U盘。用于运行 EmuELEC 系统。建议为容量为 32GB 以上。
- 电脑。用于将 EmuELEC 刷入 U盘中。
- balenaEtcher。刷写软件,免费。
安装系统 🔗
下载固件 🔗
EmuELEC 是开源免费的,位于 Github 的 EmuELEC/EmuELEC。可进入其 Releases 页面下载固件。目前的最新版本为 4.7。对于我的电视盒子,下载 Assets 下的 EmuELEC-Amlogic-ng.aarch64-4.7-Generic.img.gz
文件即可。
烧录固件 🔗
在电脑上使用 balenaEtcher 将下载的 EmuELEC-Amlogic-ng.aarch64-4.7-Generic.img.gz
烧录到 U盘中。注意 balenaEtcher 可自动解压 img.gz
文件,因此无需解压。
设置 DTB 文件 🔗
将烧录了固件的 U盘从电脑拔下,再插入USB接口,机会发现 U盘有两个盘:EMUELEC
和 STORAGE
。在 EMUELEC
盘的 device_trees
包含了固件支持的设备 DTB 文件。每种处理器对应不同的文件。对于 S905L3A
处理器而言,它对应的是 g12a_s905x2_2g.dtb
。据说,S905L3A
是 S905x2
的马甲; 2g
指的是内存为 2GB。
将设备的 DTB 文件(即 g12a_s905x2_2g.dtb
)复制到根目录,重命名为 dtb.img
。
此时在电脑上的准备工作已经完成。
安装 EmuELEC 🔗
首次安装 🔗
电视盒子通过HDMI接口连接到电视上。将U盘插入电视盒子上,并且设置其从U盘启动。然后断电重启电视盒子。如果顺利,电视就会出现包含 EMUELEC
的背景图,然后页面显示当前的进展。
在首次进入 EmuELEC 系统时,会自动重新设置分区和文件系统(也被成为“扩容”)。完成后,页面出现倒计时,然后电视盒子自动重启。
Failed to mount 错误 🔗
在重设分区和文件系统时,界面上可能会出现如下错误:
[FAILED] Failed to mount tmp-assets.mount.
[FAILED] Failed to mount tmp-cores.mount.
[FAILED] Failed to mount tmp-database.mount.
[FAILED] Failed to mount tmp-joypads.mount.
[FAILED] Failed to mount tmp-overlays.mount.
[FAILED] Failed to mount tmp-shaders.mount.
网上有人提到:这可能是电脑供电不足,因此不要在 USB 接口插入其他设备(比如键盘)。解决办法是在U盘上重新制作固件,重新安装。
而我并没有在电视盒子上插入其他设备,也遇到了这个问题。但我换上了一个看起来质量不错电源,然后插入重新制作好的固件后,扩容成功,并重启了。
系统初始化 🔗
在电视盒子重启后,系统会进行一些初始化工作,这个过程比较耗时。界面上可能会长时间地出现如下提示信息:
(1 of 2) A start job is running for Setup User config dir (Xmin Ys / no limit)
此时不要着急,多耐心等待即可。根据我的经验,三五分钟是不够的,在第一次长时间出现这个提示后,我以为出现了故障,重刷了好几次。但最后证明,使用当前的 4.7版本,只要有足够耐心,那是可以成功启动系统的。
也不知多了多久,系统最终成功启动。也就是安装成功了。
运行游戏 🔗
自定义设置 🔗
网上有很多设置 EMUELEC 的教程,在此不做赘述。至少可以做如下配置:
- 默认的系统语言为英文,可设置为中文。
- 设置手柄(Controller)。
安装游戏 🔗
EmuELEC 的 Wiki 页面介绍了其支持的平台。每种平台下的游戏ROM,必须放置在平台对应的目录下,并且必须是合法的文件后缀(有些平台支持 7z
、zip
等压缩包,有些不支持)。安装游戏的本质,就是把游戏文件,放置在特定的目录中。
如何将游戏存储到 EmuELEC 系统?一种是把U盘插入电脑上操作。另一种方法,是将网线插入电视盒子,然后通过网络邻居访问(EmuELEC开启了Samba服务)。尽管 EmuELEC 系统的界面里有 Wifi 设置,但似乎 Wifi 不能工作,搜索不到无线网络。
从哪里下载游戏ROM?
- r/ROMs 站点集合了多个平台下的游戏下载链接。不过站点是英文的不易理解,而且还需要将下载后的游戏放置在平台对应的目录下(有些还可能需要解压)。
- 其实除了 EmuELEC 官方提供的镜像之外,还有一些第三方的固件,其中内置了游戏。也许可以从这些第三方固件中提取游戏。如果没有安全顾虑,甚至可以直接烧录第三方固件。
将游戏ROM放置在特定目录,似乎需要重启系统,EmuELEC 才会识别新的游戏。
使用体验 🔗
- 在进入游戏后,我不知道如何能够退出游戏或者模拟器。网上有人提到使用
热建(Hotkey)+ Start
就可以调出模拟器菜单。当设置热键为SELECT
时,我并没有试验成功。只好断电重启。后来,将热键修改为手柄上的特殊按键,此后在游戏中多次同时按下热建(Hotkey)+ Start
,屏幕的右下角就会弹出“Press Again to Quit”的提示消息,再次按下即可退出模拟器。