尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

基于树莓派4B打造桌面复古街机:硬件选型、软件配置与进阶优化全攻略

基于树莓派4B打造桌面复古街机:硬件选型、软件配置与进阶优化全攻略 1. 从零到一为什么我想造一台桌面复古街机几年前我在一个旧货市场淘到了一块老旧的街机摇杆虽然外壳已经斑驳但摇杆和按键的手感依然清脆。把它带回家后我尝试用USB转接板让它“复活”连接到电脑上玩了几把《街头霸王》。那一刻指尖传来的“咔哒”声和屏幕上的像素画面瞬间把我拉回了放学后偷偷溜进游戏厅的童年。但问题也随之而来为了玩几局游戏我得专门打开电脑启动模拟器再连接一堆外设过程繁琐完全破坏了那种“即开即玩”的街机快感。于是一个念头冒了出来能不能自己做一台迷你街机放在书桌上想玩的时候按一下开关几秒钟内就能直接进入游戏选择界面摇杆和按键都是原汁原味的街机手感而且外观要足够酷能成为桌面上的一件装饰品这就是“Desktop Retro Arcade Machine”桌面复古街机项目的起点。它不仅仅是一个游戏设备更是一个融合了硬件DIY、软件配置和复古情怀的创作。对于喜欢折腾的玩家、复古游戏爱好者或者只是想给书房增添一点趣味的人来说这个项目都能带来极大的满足感。2. 核心硬件选型在性能、尺寸与成本间找到平衡点打造一台桌面街机硬件是骨架。我的核心诉求是性能足够流畅运行从FC到PS1时代的绝大多数街机及家用机游戏体积小巧真正能放在桌面而不显臃肿整体成本可控。经过多轮对比和实测我最终确定了以下方案。2.1 “大脑”的选择树莓派4B 4GB版主控板是街机的核心。市面上可选方案很多比如用旧电脑、安卓电视盒或者更专业的开发板。我最终选择了树莓派4B 4GB版本原因如下性能足够对于MAME街机模拟器、FBAFinalBurn Alpha以及PS1及以下的家用机模拟器如PCSX-ReARMed树莓派4B的Cortex-A72四核处理器和VideoCore VI GPU完全能够胜任。实测运行《拳皇97》《合金弹头X》等CPS1/CPS2/NeoGeo基板游戏以及《最终幻想7》《生化危机2》等PS1游戏都能稳定在60帧满速画面和声音无任何卡顿或延迟。对于N64、Dreamcast等3D主机部分游戏需要调整设置但主流2D游戏库的体验堪称完美。生态成熟树莓派拥有最成熟的复古游戏系统生态特别是Lakka和RetroPie这两个系统。它们都是基于Linux发行版深度定制的游戏系统集成了从游戏ROM管理、模拟器核心调用到手柄配置的一整套前端界面。RetroPie的社区支持尤其活跃任何配置问题几乎都能找到解决方案。接口与功耗树莓派4B提供了两个Micro HDMI接口支持双屏4K输出、4个USB 3.0接口、千兆以太网和双频WiFi/蓝牙。丰富的接口意味着连接摇杆、键盘、无线手柄甚至外置存储都非常方便。其功耗极低一个5V/3A的电源适配器就能稳定驱动发热量也完全可以通过一个被动散热片或小型风扇解决非常适合长时间运行。注意树莓派5已经发布性能更强但价格也更高且对复古游戏模拟的提升在2D游戏上感知不强。对于桌面街机项目树莓派4B是目前性价比和成熟度最高的选择。2.2 “四肢”的构建摇杆与按键的选购门道街机的灵魂在于操控。手感差的摇杆和按键会毁掉所有游戏体验。我强烈建议不要购买那种几十块钱一套的“电脑USB摇杆”它们通常采用廉价的微动开关和塑料结构手感生涩寿命短。摇杆选择我推荐使用三和 (Sanwa) JLF-TP-8YT或清水 (Seimitsu) LS-32这两款经典街机摇杆。它们都是日本原装采用高质量微动开关和精密机械结构回中迅速摇动顺滑且带有恰到好处的阻尼感。JLF手感更轻、行程稍长适合格斗游戏LS-32手感更紧实、回弹更快适合动作和射击游戏。对于桌面街机标准尺寸的摇杆底座可能偏大可以选择购买配套的短柄Short Shaft和加装垫片来降低整体高度。按键选择同样三和 OBSF系列是行业标准。它采用欧姆龙微动键程短触发压力小声音清脆。颜色选择丰富可以自由搭配。一个常见的配置是主操作区1P使用6个动作键红、黄、蓝、绿等颜色开始和投币键使用白色或黑色玩家2区域可以对称配置或简化。编码板USB控制器摇杆和按键本身是物理开关需要一块编码板将它们的状态转换为电脑树莓派能识别的USB信号。这里我踩过一个坑最初买了一块最便宜的零延迟编码板结果在快速连按时会出现按键“吞指令”的现象。后来换成了Brook Universal Fighting Board或者零延迟品牌的GP2040-CE开源方案编码板。它们不仅真正实现了零延迟而且兼容性极好在RetroPie等系统中即插即用无需复杂驱动。编码板需要连接每个按键和摇杆的微动开关线通常采用杜邦头接口接线过程类似拼乐高非常简单。2.3 “躯壳”的打造机箱设计与材料工艺机箱决定了街机的颜值和耐用度。你可以选择购买现成的迷你街机空机箱套件也可以像我一样为了独一无二的外观而选择自己设计制作。设计考量人体工学面板倾斜角度建议在10-15度之间这样长时间操作手腕不会累。摇杆和按键的布局可以参考真实街机例如经典的6键街霸布局。内部空间必须为树莓派、编码板、扬声器、电源模块和线缆预留足够空间并考虑散热风道。树莓派最好固定在有散热孔的区域。屏幕集成我选择了一款10.1英寸的IPS液晶屏分辨率为1280x800。它通过HDMI连接树莓派通过单独的12V电源适配器供电。屏幕需要固定在机箱前脸并设计一个亚克力或玻璃面板作为保护。扬声器使用一对2-3瓦的小型喇叭连接到树莓派的3.5mm音频口或通过USB声卡输出。在机箱两侧或前脸下方开出声孔。制作材料亚克力板非常适合激光切割可以做出非常精准和复杂的形状质感现代。缺点是容易刮花且螺丝固定处容易开裂。我最初用的就是5mm厚的黑色亚克力但后来在搬运中面板产生了细纹。多层板/密度板这是我现在更推荐的材料。使用CNC机床或甚至用手锯和电钻都可以加工。15mm厚的多层板结构强度高表面贴上木纹贴纸或喷漆后质感非常温润更有“家具”的感觉也更耐用。螺丝可以直接拧入非常牢固。3D打印如果你有3D打印机可以分部件打印然后组装。优点是设计自由度高可以做出圆滑的曲线。缺点是打印大件耗时很长且PLA材料可能强度不足ABS材料则对打印机要求高。我的最终方案是主体结构采用15mm橡木多层板CNC加工控制面板和装饰部分使用3mm黑色亚克力激光切割两者结合兼顾了强度与美观。3. 软件系统搭建让硬件“活”起来的灵魂硬件组装完毕只是一个空壳。软件系统才是让它成为游戏机的关键。我选择RetroPie作为核心系统因为它对新手友好社区支持无敌。3.1 系统安装与基础配置首先需要一张至少16GB的Micro SD卡。从RetroPie官网下载对应树莓派4的镜像文件使用Raspberry Pi Imager或BalenaEtcher刷写到SD卡中这个过程和安装普通树莓派系统无异。首次启动后RetroPie会进行一系列文件系统扩展和初始化。之后你需要连接一个USB键盘进行初步配置。最关键的一步是配置手柄/摇杆。在RetroPie的主菜单中进入RetroPie Setup选择Configuration / tools-emulationstation-Clear/Reset EmulationStation input configuration然后按照屏幕提示依次按下你摇杆和按键上对应的方向、动作、开始、投币等键位。这个配置过程只需一次系统会记住你的控制器。3.2 ROM管理与模拟器核心调优RetroPie支持数十种游戏平台的模拟。你需要将游戏ROM文件放入对应的文件夹中。通过局域网共享Samba是最方便的方式在电脑的文件管理器地址栏输入\\retropie或\\你的树莓派IP就能访问roms目录把NES游戏丢进nes文件夹街机游戏丢进arcade或fba文件夹即可。模拟器核心的选择是提升体验的关键街机游戏MAME这是最复杂的部分。MAME有无数版本ROMset游戏文件集合必须与模拟器核心版本匹配。我建议使用lr-mame2003-plus这个核心它基于经典的MAME 0.78版本对树莓派4性能优化好兼容性高且对应的ROMsetMAME 0.78 ROMset比较容易找到。将你的街机ROM放入/home/pi/RetroPie/roms/arcade目录即可。NeoGeo游戏虽然MAME也能运行但使用lr-fbneoFinalBurn Neo核心效率更高对neogeo.zip这个BIOS文件的管理也更方便。家用机游戏像FC、SFC、MD、GBA等使用lr-fceumm,lr-snes9x,lr-picodrive,lr-mgba这些核心就非常完美几乎无需额外设置。在游戏列表中选中任意游戏按“选择键”通常是你设置的开始键选择Game Options-Select emulator for this rom可以手动为这个游戏指定一个模拟器核心。如果某个游戏运行有问题比如黑屏、速度慢切换核心往往是解决问题的第一步。3.3 前端美化与音效定制默认的EmulationStation界面比较朴素。RetroPie支持各种主题可以让你的街机菜单变得炫酷。通过RetroPie Setup-Manage packages-Manage optional packages可以安装在线主题。我比较喜欢pixel和nes-mini这类简洁明快的主题。安装后在ES的UI设置里即可切换。此外你还可以添加开机视频、游戏预览视频snaps和封面图boxart。这些资源文件可以手动下载并放入对应的~/.emulationstation/downloaded_images/子目录下也可以使用网络脚本自动抓取不过自动抓取对网络环境要求较高。音效方面RetroPie支持在菜单切换、选择游戏时播放音效。你甚至可以替换整个系统的背景音乐。把这些细节做到位每次开机都是一种仪式感。4. 进阶优化与排坑实录系统能跑起来只是第一步要获得稳定、流畅、省心的体验还需要进行一系列优化这也是我踩坑最多的地方。4.1 性能调优与过热保护树莓派4B在全力运行某些3D模拟器如N64的lr-parallel-n64时发热量不小。虽然不至于烧毁但过热会触发CPU降频导致游戏卡顿。解决方案强制启用风扇我购买了一个30x30mm的5V小风扇直接连接树莓派的GPIO针脚的5V和GND针脚2和6。为了控制噪音我增加了一个三极管和一个电阻通过GPIO的一个信号针脚如GPIO14进行PWM调速。在/boot/config.txt文件中添加dtoverlaygpio-fan,gpiopin14,temp55000这表示当CPU温度达到55摄氏度时风扇全速运行。你也可以编写一个简单的Python脚本实现更精细的温控曲线。超频与电压设置需谨慎在/boot/config.txt末尾添加以下几行可以在安全范围内提升性能over_voltage2 arm_freq1800 gpu_freq600over_voltage2表示小幅增加核心电压以提升稳定性。注意超频会增加发热和功耗务必确保散热良好。不建议新手大幅超频。禁用不必要的服务如果你的街机不需要蓝牙和WiFi比如全部有线连接可以在raspi-config中关闭它们节省一点点系统资源。4.2 控制器配置的深水区映射与延迟我遇到最棘手的问题就是在一款USB编码板上lr-fbneo核心中摇杆的斜方向识别不准确导致《拳皇》里发不出升龙拳。排查与解决过程测试原始输入首先在RetroPie的RetroArch输入设置里打开Settings-Input-Polling Behavior选择Early或Late这可以改变输入检测时机但对我的问题无效。检查模拟器核心映射进入有问题的游戏按“选择开始”调出RetroArch快捷菜单。选择Quick Menu-Controls。这里发现Player 1的Left和Right等数字输入是正常的但Analog to Digital Type的设置可能有问题。对于纯数字摇杆这里应该设置为None或Left Analog。关键步骤——手动校准问题根源在于某些编码板输出的摇杆信号在RetroArch的默认死区设置下斜方向的坐标值没有被正确识别为“同时按下两个方向”。解决方法是在RetroArch主菜单的Settings-Input-Port 1 Controls里找到Analog Deadzone。将其从默认的0.0适当调大例如0.2或0.3。这个值设得太小微小的信号抖动会被识别设得太大则轻微摇动没反应。经过反复测试0.25是一个比较均衡的值。调整后斜方向识别立刻变得精准。保存核心或游戏重映射修正后在Quick Menu-Controls的最下方选择Save Core Remap File对所有使用该核心的游戏生效或Save Game Remap File仅对该游戏生效。这个操作至关重要否则重启后设置会丢失。4.3 音频输出的杂音与延迟问题最初我使用树莓派自带的3.5mm音频口连接扬声器在游戏音效复杂时能听到细微的电流声并且感觉音画有极细微的不同步。解决方案更换音频输出方式树莓派的3.5mm口是模拟输出容易受到板载电路干扰。我改用了一个USB外置声卡十几块钱的就行将音频输出切换到USB声卡。在raspi-config的System Options-Audio中选择USB Audio Device作为默认输出。这样处理后底噪完全消失。调整音频延迟进入RetroArch设置可以在EmulationStation的Options里进入也可以在游戏中调出快捷菜单进入找到Settings-Audio。将Audio Latency (ms)适当调低例如从默认的64ms调到32ms。这会减少声音延迟让打击感更跟手。但注意调得太低在性能不足时可能导致音频爆音需要根据实际情况微调。4.4 电源管理与安全关机街机不能像电脑一样直接拔电否则可能损坏SD卡文件系统。必须实现安全关机。我的方案硬件开关我购买了一个带指示灯的自锁开关串联在外部5V电源的输入正极上控制整机电源的通断。软件关机触发在街机面板上我预留了一个小小的轻触开关连接到树莓派的某个GPIO针脚如GPIO3和GND。然后编写一个简单的Python脚本使用RPi.GPIO库监听这个针脚的电平变化。当检测到按钮被按下时脚本执行sudo shutdown -h now命令。关机反馈为了让用户知道系统正在关机而不是死机我让脚本在关机前先控制连接在另一个GPIO上的LED灯闪烁几次。等待系统完全关机树莓派ACT指示灯常灭后再通过硬件自锁开关切断总电源。这样用户的操作流程就非常符合直觉玩游戏 - 按小按钮关机灯闪烁- 等待灯停止闪烁 - 关闭总电源开关。5. 外观美化与最终调试当所有功能都调试完毕后最后一步就是让它看起来像一件精美的产品。贴纸与喷漆我为多层板机身贴上了仿胡桃木的贴纸边缘用砂纸打磨圆滑。亚克力控制面板上我设计了激光切割的装饰图案和游戏标志。对于按键布局的标识我没有直接印刷在亚克力上而是购买了透明的按键帽和配套的彩色键圈并将游戏角色的标志打印在圆形贴纸上贴在键帽内侧这样既美观又可更换。线材整理机箱内部使用扎带和理线槽将树莓派、编码板、扬声器放大器、电源模块之间的连线捆扎整齐避免杂乱也利于散热。最终测试进行至少8小时的压力测试连续运行不同模拟器的游戏观察是否有死机、过热、声音异常等问题。同时测试开关机流程至少20次确保安全关机脚本稳定可靠。做完这一切按下电源开关听着风扇轻微启动的声音看着RetroPie的logo出现在屏幕上拨动摇杆选择《合金弹头》按下开始键……那种瞬间沉浸于游戏世界的满足感是购买任何成品游戏机都无法比拟的。这台桌面复古街机不仅是一个游戏平台更是自己动手能力、问题解决能力和审美趣味的综合体现。它静静地立在桌角随时准备带你进行一场短暂的时空穿越。
返回列表