一种将树莓派打造为游戏机的方法——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
相关文章:
一种将树莓派打造为游戏机的方法——Lakka
什么是Lakka? Lakka是一款Linux发行版,轻量级的,可将小型计算机转变为一台复古游戏机。 图1-Lakka官网,见参考链接[1] Lakka是RetroArch和libretro生态系统下的官方操作系统,前者RetroArch是模拟器、游戏引擎和媒体播…...
如何在 MySQL 中创建一个完整的数据库备份?
在MySQL数据库中创建一个完整的数据库备份通常不是通过编程语言直接实现的,而是借助MySQL提供的命令行工具mysqldump来完成。 作为Java开发者,我们可以编写脚本来调用这些工具,从而实现自动化备份。 下面我们将详细介绍如何使用Java来调度m…...
京准电钟HR-901GB双GPS北斗卫星时钟服务器
京准电钟HR-901GB双GPS北斗卫星时钟服务器 京准电钟HR-901GB双GPS北斗卫星时钟服务器 作为国家电力系统最重要的设备之一,卫星时间同步装置随着电力行业的发展不断有了新的要求,从单纯的具备时间数据输出能力,发展到装置状态信息上送、对用时设备的对时质量进行监测,确保站点内…...
uniapp使用websocket
后端java websoket中的 onOpen 中。依赖注入为null 引用:https://blog.csdn.net/qq_63431773/article/details/132389555 https://blog.csdn.net/weixin_43961117/article/details/123989515 https://cloud.tencent.com/developer/article/2107954 https://blog.c…...
基于Pycharm和Django模型技术的数据迁移
1.配置数据库 在trip_server/settings.py中修改配置: 其格式可访问官网:Settings | Django documentation | Django 1.1 配置数据库 文件地址:trip_server/settings.py 配置前需要创建(NaviCat)个人数据库 "…...
乐尚代驾-----Day10(订单三)
hi UU 们!!!我又来跟辛辣!感谢你们的观看,话不多说!~ 司机到达代驾终点,代驾结束了。结束代驾之后, – 获取额外费用(高速费、停车费等) – 计算订单实际里程…...
105. 聚光源SpotLight
入门部分给大家介绍过平行光DirectionalLight、点光源PointLight、环境光AmbientLight,下面给大家介绍一个新的光源对象,也就是聚光源SpotLight。 创建聚光源SpotLight 聚光源可以认为是一个沿着特定方会逐渐发散的光源,照射范围在三维空间中构成一个圆…...
系统接口权限拦截器,获取用户信息存储
UserInfo 类 这是一个表示用户信息的 Java 类,使用了 Lombok 注解来简化代码编写。 import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString;import java.io.Serializable; import java.util.List;Data ToString EqualsAndHashCode public…...
Chromium HTML5 新的 Input 类型color 对应c++
一、Input 类型: color color 类型用在input字段主要用于选取颜色,如下所示: <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>菜鸟教程(runoob.com)</title> </head> <body&…...
问:SQL中的通用函数及用法?
SQL函数是在SQL语句中使用的预定义的计算工具,可以对一列数据进行操作并返回一个单一的结果。这些函数大致可以分为两类:Aggregate函数和Scalar函数。Aggregate函数对一组值执行计算,并返回单个值,如求和、平均值、最大值和最小值…...
.NET Core WebApi第6讲:WebApi的前端怎么派人去拿数据?(区别MVC)
一、前端界面小基础 head:引入CSS, 引入JS是写在head里面。 body:眼睛肉眼能看到的用户展示的界面是写在body里面。 二、前端怎么派人去拿数据? 1、MVC:前后端不分离,MVC相比WebApi只是多了一个views的文件夹 &am…...
Chromium HTML5 新的 Input 类型date 对应c++
一、Input 类型: date date 类型允许你从一个日期选择器选择一个日期。 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>test</title> </head> <body><form action"demo-form.php"…...
ZooKeeper的应用场景:深入探讨分布式系统中的多样化应用
Apache ZooKeeper 是一个开源的分布式协调服务,专为确保分布式系统中的高可用性和一致性而设计。在现代分布式应用程序中,协调、同步和管理是实现高效和可靠服务的关键部分,而 ZooKeeper 通过提供这些基础功能而成为许多分布式系统不可或缺的…...
【Vue3】第四篇
Vue3学习第四篇 01. 插槽Slots02. 插槽Slots(续集)03. 插槽Slots(再续集)04. 组件生命周期05. 生命周期应用06. 动态组件07. 组件保持存活08. 异步组件09. 依赖注入10. Vue应用 01. 插槽Slots 模板内容:html结构&#…...
Chromium HTML5 新的 Input 类型tel对应c++
一、Input 类型: tel <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>test</title> </head> <body><form action"demo-form.php">电话号码: <input type"tel" name…...
JVM—类加载器、双亲委派机制
目录 什么是类加载器 类加载器的分类 Bootstrap启动类加载器 通过启动类加载器加载用户jar包 Extension扩展类加载器和Application应用程序类加载器 通过扩展类加载器加载用户jar包 双亲委派机制 打破双亲委派机制 自定义类加载器 线程上下文类加载器 Osgi框架的类加…...
笔试题 求空格分割的英文句子中,最大单词长度。
求空格分割的英文句子中,最大单词长度。例如:“this is a word”,最大单词长度为4。要求:不能用 split 函数对字符串进行切分,算法复杂度为o(n) public class MaxWordLength { public static int maxWordLength(String sentence) { if (se…...
【笔记】大模型长度外推技术 NTK-Aware Scaled RoPE
NTK-Aware Scaled RoPE 正弦编码(Sinusoidal)旋转位置编码RoPE编码步骤:旋转位置编码的优势 NTK-Aware Scaled RoPE直接外推线性内插进制转换高频外推、低频内插的理解位置编码 总结参考: 长度外推技术是自然语言处理(NLP)领域中&…...
前端 eslint 配置,以及在git提交之前自动format
目录 1、配置eslint步骤 1、eslint安装配置步骤 2、配置scripts步骤 3、测试eslint 2、配置git-hook1、安装环境2、最终效果 众所周知,前端项目可以在报很多error的情况下运行。但是良好的代码规范仍然有利于项目的开发维护,这里提供我的规范,…...
2024.10.9华为留学生笔试题解
第一题无线基站名字相似度 动态规划 考虑用动态规划解决 char1=input().strip() char2=input().strip() n,m=len(char1),len(char2) dp=[[0]*(m+1) for _ in range(n+1)] #dp[i][j]定义为以i-1为结尾的char1 和以 j-1为结尾的char2 的最短编辑距离 setA = set(wirel@com) set…...
coze-loop新手指南:无需配置,开箱即用的代码优化工具
coze-loop新手指南:无需配置,开箱即用的代码优化工具 1. 为什么你需要一个代码优化助手 想象一下这样的场景:你刚刚写完一段功能代码,运行起来没问题,但总觉得哪里不够完美。可能是执行速度不够快,或者代…...
Path of Building完全指南:3步掌握流放之路最强Build规划与天赋计算神器
Path of Building完全指南:3步掌握流放之路最强Build规划与天赋计算神器 【免费下载链接】PathOfBuilding Offline build planner for Path of Exile. 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding Path of Building是《流放之路》玩家…...
省token秘籍:OpenClaw+nanobot镜像长文本处理优化方案
省token秘籍:OpenClawnanobot镜像长文本处理优化方案 1. 当长文本遇上大模型:我的token焦虑症 第一次尝试用OpenClaw处理公司三年的技术文档归档时,我看着账单倒吸一口凉气——单次50万token的消耗让我的个人预算瞬间见底。这促使我开始探索…...
OpenClaw飞书集成实战:Qwen3-VL:30B智能对话与任务触发
OpenClaw飞书集成实战:Qwen3-VL:30B智能对话与任务触发 1. 为什么选择OpenClaw飞书组合 去年夏天,我接手了一个棘手的任务:团队每天产生上百条会议录音和杂乱无章的文档碎片,需要人工整理成结构化会议纪要。当我尝试用传统RPA工…...
泛微Ecology流程数据查询避坑指南:workflow_currentoperator表里isremark字段到底怎么用?
泛微Ecology流程数据查询实战:解密workflow_currentoperator表关键字段 在泛微Ecology系统的二次开发过程中,流程数据的精准查询往往是开发者面临的第一道门槛。特别是当需要对接第三方系统或构建定制化报表时,对workflow_currentoperator表中…...
OpenClaw 的 Skill免费开源的
OpenClaw 的 Skill 生态非常丰富,其中绝大部分都是免费开源的。以下为您推荐几类实用的免费插件,您可以根据需求选择安装。🛡️ 一、安全与权限控制 (强烈建议优先安装)skill-vetter / clawsec功能:安装插件前自动扫描代码&#x…...
深入FFmpeg解码器:从avcodec_send_packet看硬解与软解的实现差异
深入FFmpeg解码器:从avcodec_send_packet看硬解与软解的实现差异 在多媒体处理领域,FFmpeg无疑是开发者最常接触的开源框架之一。其强大的编解码能力支撑着从视频播放器到直播系统的各类应用,而解码器作为其中的核心组件,其性能直…...
5步搞定OpenClaw+百川2-13B:WebUI v1.0镜像快速体验指南
5步搞定OpenClaw百川2-13B:WebUI v1.0镜像快速体验指南 1. 为什么选择这个组合? 上周我在测试本地AI自动化工具时,发现一个痛点:很多开源模型要么体积太大跑不动,要么功能太单一。直到在星图GPU平台看到百川2-13B-4b…...
静态图训练卡顿、NCCL超时、Graph Break频发?PyTorch 3.0分布式训练高频故障诊断与热修复清单,含12个可复用调试脚本
第一章:PyTorch 3.0静态图分布式训练故障全景认知PyTorch 3.0 引入的静态图编译(TorchDynamo Inductor 后端)与原生分布式训练(如 FSDP、DDP)深度耦合后,故障表现呈现多维交织特征:编译期图构建…...
别再死记硬背公式了!用3Blue1Brown的几何动画,5分钟搞懂行列式到底是啥
用动画解锁行列式的几何直觉:从死记硬背到可视化理解 当你第一次在课本上看到行列式的计算公式时,是否感到困惑——这个看似随意的ad-bc到底意味着什么?为什么它能够决定矩阵是否可逆?传统教学往往让我们陷入计算的泥潭࿰…...
