Ryujinx源码构建编译指南:一条dotnet命令产出可运行的Switch模拟器
【免费下载链接】Ryujinx用 C# 编写的实验性 Nintendo Switch 模拟器项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx
Ryujinx是一款用C#编写的Nintendo Switch模拟器。按本指南完成Ryujinx源码编译,你会得到一套可直接运行的构建产物:主程序加上全部模块程序集,首次上手即可在Windows、Linux、macOS上跑起来。全文按"准备、执行、验证、排错"四步组织,零基础也能照着做出来。
最小启动条件清单
开工前把三样东西备齐,缺一样构建就会卡住:
- .NET SDK 8.0或更高版本。global.json把SDK版本锚定在
8.0.100,且允许rollForward: latestFeature,所以只要8.0.x系列即可。 - 8GB以上内存。README明确提示这是运行模拟器的硬门槛,编译本身吃内存也不小。
- 显卡驱动支持OpenGL 4.5、Vulkan或Metal(macOS走MoltenVK),图形后端靠它们工作。
然后克隆源码:
git clone https://gitcode.com/GitHub_Trending/ry/Ryujinx一行命令完成Ryujinx构建
在仓库根目录打开终端,执行:
dotnet build -c Release -o build这条命令替你做了四件事:
- 还原NuGet包引用,按Directory.Packages.props集中管理版本;
- 编译Ryujinx.sln解决方案下全部项目;
- 按依赖图排序编译,主工程src/Ryujinx/Ryujinx.csproj最后出产物;
- 全部输出收进新建的
build目录。
如何验证构建产物
可执行文件就落在仓库根目录的build文件夹里,文件名叫Ryujinx(Windows下是Ryujinx.exe),同目录还有一批模块程序集:ARMeilleure(CPU仿真核心)、Ryujinx.Graphics.Gpu、Ryujinx.Audio、Ryujinx.HLE,以及alsoft.ini、THIRDPARTY.md、LICENSE.txt等运行时文件。
确认构建成功的办法有两条:
- 看一眼:
ls build(Windows用dir build),能看到Ryujinx可执行文件即通过; - 直接跑:
./build/Ryujinx(Windows下build\Ryujinx.exe),弹出GUI主窗口说明一切正常。
进阶构建选项
需要调试或发布到指定平台时,换一条命令即可:
dotnet build -c Debug -o buildDebug模式构建,附带Avalonia诊断组件,适合开发阶段排错。
dotnet publish -c Release -r linux-x64按平台发布。-r可换成win-x64、osx-x64,此时工程会启用单文件发布和裁剪,产物更小,适合分发给别人。
常见故障排错速查
- 现象:
MSB4236或"框架版本不符"错误。原因:本机SDK低于global.json要求。解决:升级到.NET 8 SDK,dotnet --version确认。 - 现象:第一次构建异常缓慢甚至像卡死。原因:首次还原要下载全部NuGet包。解决:耐心等待,第二次构建会快很多。
- 现象:构建中途报内存不足或系统变卡。原因:8GB内存处在下限。解决:关掉浏览器等占内存程序再试。
- 现象:Linux下运行提示缺少
libgdiplus、libSDL2等。原因:发行版没装运行时依赖。解决:用包管理器安装对应系统库。 - 现象:build目录找不到可执行文件。原因:命令不在仓库根目录执行,或构建有错误。解决:回到根目录重跑构建命令,把滚动日志中的
error条目逐条清零。
构建完成之后
- 首次运行进入GUI后,先到选项里确认图形后端(OpenGL/Vulkan)和系统设置;
- 想追游戏兼容性问题,改用Debug版本构建并留意日志输出;
- 改完源码想验证效果,重跑
dotnet build -c Release -o build即可覆盖更新。
【免费下载链接】Ryujinx用 C# 编写的实验性 Nintendo Switch 模拟器项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考