news 2026/9/2 12:41:42

手把手构建 Ryujinx:4 条命令把 Switch 模拟器从源码跑起来

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
手把手构建 Ryujinx:4 条命令把 Switch 模拟器从源码跑起来

手把手构建 Ryujinx:4 条命令把 Switch 模拟器从源码跑起来

【免费下载链接】Ryujinx用 C# 编写的实验性 Nintendo Switch 模拟器项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx

Ryujinx 是一个用 C# 写的开源 Nintendo Switch 模拟器。这篇文章带你从零走到"自己的模拟器窗口弹出来":装好环境、一条命令编译、启动验证成功,全程不超过 10 分钟,不需要任何 C# 开发经验。

构建完成长什么样:先认识你的成果

先说结果,你心里有个目标再动手会踏实很多。

编译成功后,仓库根目录下会多出一个build文件夹,里面躺着:

  • Ryujinx主程序(Windows 上是Ryujinx.exe
  • 一堆配套 DLL 和音频驱动配置(如alsoft.ini

直接运行主程序,模拟器窗口就会打开。模拟器本体和系统文件都放在用户目录下的Ryujinx文件夹里,启动后可以从文件菜单的"Open Ryujinx Folder"一键跳转过去。

一条命令确认 .NET SDK 是否达标

Ryujinx 是纯 .NET 项目,唯一的硬依赖是 .NET SDK。仓库里的 global.json 锁定了最低版本 8.0.100(允许更高的小版本),所以装 .NET 8.0 SDK 或更新版本即可。

在仓库根目录执行:

dotnet --version

看到8.0.1xx或更高的版本号,这一关就过了。没装的话,去 .NET 官网下载 8.0 SDK 装完再来。另外提前说一句:模拟器运行至少需要 8GiB 内存,配置偏低时游玩体验会打折扣,这不是编译问题。

克隆仓库并进入项目目录

git clone https://gitcode.com/GitHub_Trending/ry/Ryujinx cd Ryujinx

仓库不大,clone 很快。整个解决方案由根目录的 Ryujinx.sln 统一管理,所有 C# 模块都在 src/ 下面,后面遇到路径可以随时对照。

一条命令完成 Release 编译

这是全文最核心的一步。在项目根目录执行:

dotnet build -c Release -o build

它会自动解析项目间的依赖,把几十个模块按顺序编译好,产物统一落到build目录。主程序的构建配置写在 src/Ryujinx/Ryujinx.csproj,首次编译需要联网拉 NuGet 包,耐心等它跑完。

怎么判断成功?看命令输出的最后几行,出现类似"Build succeeded"且"0 Error(s)"就是成功了。然后确认build文件夹里已经生成了Ryujinx可执行文件。

如果卡住或报错,最常见的原因就是 SDK 版本低于 global.json 要求,回到上一条重新检查。

启动模拟器并确认它活着

# Windows build\Ryujinx.exe # Linux / macOS build/Ryujinx

窗口弹出、出现主界面,就说明编译产物完全可用。启动时它会做几件值得留意的事:

  • 找不到Config.json时会生成一份默认配置,以后所有设置都存在这里;
  • 没有prod.keys时会弹出提示——这是 Switch 解密密钥,属于模拟器自身的正常逻辑,不代表你构建失败;
  • 运行日志写在用户目录下的Logs里,排查问题先看这里。

进阶:换个模式或换个平台

跑通之后,这几个分支按需取用:

想调试源码?把配置换成 Debug,会额外带上 Avalonia 调试工具:

dotnet build -c Debug -o build

想发布独立可执行文件?指定运行标识符后会打包成单文件(自带裁剪),例如 Windows 版:

dotnet publish -c Release -r win-x64 --self-contained

linux-x64osx-x64同理。项目还支持在 distribution/macos/ 的脚本上追加--configuration参数走发布流程。

改了代码想验证逻辑?跑测试套件,覆盖 CPU、音频、内存等核心模块:

dotnet test src/Ryujinx.Tests

全部显示通过,你的改动就没把老功能弄坏。

自检清单

  • dotnet --version输出 8.0.1xx 或更高
  • dotnet build -c Release -o build结尾显示 0 Error
  • build目录里能找到主程序
  • 主程序启动后弹出模拟器窗口
  • (可选)dotnet test全绿

一段话回顾:装 .NET 8 SDK → clone 仓库 → 根目录跑dotnet build -c Release -o build→ 运行build里的主程序看到窗口,构建之旅就结束了。想深入理解项目结构,可以从 docs/ 的文档索引和 src/ARMeilleure/ 的 CPU 翻译器开始读起。

【免费下载链接】Ryujinx用 C# 编写的实验性 Nintendo Switch 模拟器项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 12:41:42

用 C 做第一个游戏要多久?raylib 完整实战手册

用 C 做第一个游戏要多久?raylib 完整实战手册 【免费下载链接】raylib A simple and easy-to-use library to enjoy videogames programming 项目地址: https://gitcode.com/GitHub_Trending/ra/raylib 想写个小游戏,却在环境配置上耗了半天&…

作者头像 李华
网站建设 2026/9/2 12:40:17

微信聊天记录导出完整教程:如何把三年对话存成一份可搜索的存档

微信聊天记录导出完整教程:如何把三年对话存成一份可搜索的存档 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending…

作者头像 李华
网站建设 2026/9/2 12:39:18

Ubuntu20.04安装 mysql8.0.32

检查删除原有的mysql(可以不做,自己记录) 1、 下载 MySQL :: Download MySQL Community Server (Archived Versions) wget https://cdn.mysql.com/archives/mysql-8.0/mysql-server_8.0.32-1ubuntu20.04_amd64.deb-bundle.tar 2、解压到指定目录下 tar xvf mysq…

作者头像 李华
网站建设 2026/9/2 12:38:49

一按遥控器就能换台:my-tv 电视直播应用装与用要点

一按遥控器就能换台:my-tv 电视直播应用装与用要点 【免费下载链接】my-tv 我的电视 电视直播软件,安装即可使用 项目地址: https://gitcode.com/GitHub_Trending/my/my-tv 家里的智能电视只带一个遥控器,你想让它在沙发上像机顶盒一样…

作者头像 李华
网站建设 2026/9/2 12:38:42

AI 助手团队协作怎么落地:OMX 用 5 个阶段把并行开发管住

AI 助手团队协作怎么落地:OMX 用 5 个阶段把并行开发管住 【免费下载链接】oh-my-codex OmX - Oh My codeX: Your codex is not alone. Add hooks, agent teams, HUDs, and so much more. 项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-codex 3 个…

作者头像 李华