当前位置: 首页 > news >正文

一种将树莓派打造为游戏机的方法——Lakka

什么是Lakka?

Lakka是一款Linux发行版,轻量级的,可将小型计算机转变为一台复古游戏机。

图1-Lakka官网,见参考链接[1]

Lakka是RetroArch和libretro生态系统下的官方操作系统,前者RetroArch是模拟器、游戏引擎和媒体播放器的前端。后者libretro负责模拟器运行、及加载后游戏的运行,libretro提供一种编程框架及接口,只要模拟器按照这套API开发,就能在其上面运行。

再提一下RetroArch,这个作为单独的应用程序,在PC上其实已经挺流行,在各大应用平台(如STEAM)上都能搜到,适合在PC上直接安装:

图2-RetroArch托管在Github,具有9Kstars,见参考链接[2]

总之,RetroArch是个集成了游戏模拟器应用程序,而Lakka是包裹了RetroArch的操作系统。

Lakka的不完全模拟器列表如下:

  • Arcade
  • GameBoy / GameBoy Color / GameBoy Advance
  • Nintendo 64
  • NES / Famicom(红白机)/ SNES / SuperFamicom
  • Sega Master System / GameGear / Mega Drive
  • PlayStation

Lakka能在树莓派上运行吗?

当然能,Lakka是在Raspberry Pi上设置模拟器的最简单方法。其他支持的嵌入式平台还包括All Winner、iMX6和Amlogic等。

Lakka下载安装

从官网就有树莓派的专用映像下载,我手上的是树莓派4B。烧写SD卡的方法与RetroPie类似,不一一赘述了。

图3-Lakka上找到树莓派4专用映像下载

Lakka设置

Lakka开箱即用的性能非常好,对比RetroPie首次运行总需要进行一些调整,但Lakka基本上已经好无需配置。并且大多数情况都不需要键盘,可以从主菜单访问保存状态或启用作弊。

在Lakka及其前端RetroArch中“Core”指的是模拟器,“Content”是游戏ROM。所以操作上,需要先加载Core,再加载Content。

图4-Lakka页面中的Core和Content(需要先加载Core,再加载Content)

图5-Lakka首页中的模拟器部分列表

当然,WiFi还是要配置的,因为Lakka及其前端RetroArch的另一个特色就是可以寻找一些在线更新。

配置好WiFi之后就可以通过Windows共享文件夹的方式(Samba)访问树莓派和拷贝文件了:

图6-PC通过SMB协议,访问Lakka共享文件夹

RetroArch本身就具带了一些符合开源协议的Core,也能够在线找到一些Core,这点真是不错。

图7-Lakka/RetroArch自带的开源Core(游戏ROM)

图8-Lakka/RetroArch在线下载的开源Core-QUAKE(游戏ROM)


Lakka开始游戏

以下是一些游戏截图,是不是满满复古感。。。

图9-Lakka中玩爆炸人Bomberman,树莓派在右下角

图10-Lakka中玩Cave Story,树莓派在右下角

图11-Lakka中玩Rick Dangerous,树莓派在右下角

图12-Lakka中玩超级玛丽,树莓派在右下角

图13-Lakka中玩QUAKE,树莓派在右下角


参考链接

[1] The DIY open source retrogaming emulation console

[2] https://github.com/libretro/RetroArch

http://www.lryc.cn/news/471457.html

相关文章:

  • 如何在 MySQL 中创建一个完整的数据库备份?
  • 京准电钟HR-901GB双GPS北斗卫星时钟服务器
  • uniapp使用websocket
  • 基于Pycharm和Django模型技术的数据迁移
  • 乐尚代驾-----Day10(订单三)
  • 105. 聚光源SpotLight
  • 系统接口权限拦截器,获取用户信息存储
  • Chromium HTML5 新的 Input 类型color 对应c++
  • 问:SQL中的通用函数及用法?
  • .NET Core WebApi第6讲:WebApi的前端怎么派人去拿数据?(区别MVC)
  • Chromium HTML5 新的 Input 类型date 对应c++
  • ZooKeeper的应用场景:深入探讨分布式系统中的多样化应用
  • 【Vue3】第四篇
  • Chromium HTML5 新的 Input 类型tel对应c++
  • JVM—类加载器、双亲委派机制
  • 笔试题 求空格分割的英文句子中,最大单词长度。
  • 【笔记】大模型长度外推技术 NTK-Aware Scaled RoPE
  • 前端 eslint 配置,以及在git提交之前自动format
  • 2024.10.9华为留学生笔试题解
  • 利用ADPF性能提示优化Android应用体验
  • 论文阅读 - Pre-trained Online Contrastive Learning for Insurance Fraud Detection
  • 【最全基础知识2】机器视觉系统硬件组成之工业相机镜头篇--51camera
  • 虚拟机WIN7安装PADS VX24 出现脚本故障 IPW213
  • Java正则表达式详解万字笔记内容丰富
  • 文件属性与目录
  • 5G 基站SCTP
  • MFC的SendMessage与PostMessage的区别
  • 学习虚幻C++开发日志——基础案例(持续更新中)
  • 【CUDA代码实践03】m维网格n维线程块对二维矩阵的索引
  • VSCode Qt6安装OpenSSL