• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于windows:让你的WindowsLinux玩上Switch

linux 搞代码 4年前 (2022-03-03) 43次浏览 已收录 0个评论
文章目录[隐藏]

1 前言

某天在Github下面看到了两个Switch的模拟器:

  • yuzu
  • Ryujinx

于是就想入手想尝试一下在Linux下面玩上Switch

本文首先简略介绍一下两个模拟器,接着是两个模拟器的装置应用及根本配置。附录包含了Vulkan以及OpenGL的比拟和Ryujinxyuzu的比拟。上面先来看一下两个模拟器到底是什么。

2 模拟器、平台以及兼容性

2.1 对于模拟器

  • yuzuCitra的制作者写的一个开源NS模拟器,用C++编写,高达14.2k star,特点包含Vulkan API的反对、灵便的模拟器配置以及游戏配置等等
  • Ryujinx:基于.NET 5.xC#的开源NS模拟器,特点包含OpenAL音频输入、PPTC(下文有介绍)、反对多种输出、反对DLC等等,5.8k star

2.2 对于平台

目前这两个模拟器反对的平台只有WindowsLinux

至于Macyuzu没有阐明反对,而Ryujinx在打算中,在下载页面(上图)能够看到Mac的图标,然而处于灰色状态。

另外,笔者还发现了一个在M1 Mac上运行的issue:

大略看了一下须要期待2021年11月的.NET 6去反对了,所以Mac党还得再等等。

2.3 对于兼容性

官网给出了游戏的兼容性列表:

  • yuzu:兼容性列表
  • Ryujinx:兼容性列表

3 环境

笔者测试的环境为:

  • 笔记本
  • 零碎:Manjaro
  • 显卡:RTX 2060
  • 固件版本:Firmware 11.0.1
  • 测试游戏:超级马里奥3D世界

4 筹备工作

无论应用的是yuzu还是Ryujinx,都须要筹备:

  • prod.keys
  • 游戏本体

如果应用的是Ryujinx,还须要额定筹备固件。

先来看一下prod.keys

4.1 prod.keys

yuzu以及Ryujinx都须要prod.keys,外面蕴含了NS设施须要的key,须要通过 Hekate等一些列工具生成,这部分比较复杂,因而文末附录间接提供了现成的prod.keys

另外,在yuzu的官网文档还提到了须要应用title.key,笔者实测发现title.key不是必须的,能够主动生成:

而在Ryujinxtitle.key也不是必须的,在system文件夹下只需存在prod.keys即可。

4.2 游戏本体

游戏本体这里举荐三个网站下载:

  • 游戏年轮
  • 游戏大桶
  • 木子玩

留神:游戏下载实现后须要放在一个文件夹中。

4.3 固件(Ryujinx

Ryujinx中还须要额定的固件(Firmware),固件的版本须要与prod.keys对应,固件能够到此处下载或者从文末提供的链接下载,目前最新的版本是11.0.1

5 yuzu

5.1 下载

yuzu提供了AppImage,间接下载而后增加执行权限即可:

增加执行权限:

<code class="bash">chmod u+x yuzu-*.AppImage
./yuzu-*.AppImage

5.2 prod.keys

第一次运行会提醒没有key,先疏忽进入界面,抉择右上角的File->Open yuzu Folder,关上后,新建一个keys文件夹:

prod.keys放进去并重启即可。

5.3 增加游戏

点击Add New Game Directory,抉择游戏目录进行增加即可:

增加完游戏后就能够间接双击启动游戏了。

5.4 配置

yuzu的配置比拟丰盛,除了模拟器自身的配置外,每个游戏也领有独立的配置:

5.4.1 个别配置

个别的配置包含零碎语言、一些热键等的配置,通常状况下放弃默认即可:

另外在按键的配置中能够依据须要抉择本人适合的按键,能够依据单手柄和双手柄的模式配置:

5.4.2 图形配置

这里的配置很重要:

次要包含:

  • API设置:yuzu反对OpenGL还有Vulkan,笔者实测发现Vulkan会运行得更晦涩,帧率更高,具体依据集体状况进行抉择,文末附录有提到两者的比拟
  • Use disk shader cache:磁盘着色器缓存,倡议开启,这样就不必每次都从新编译,而是间接从磁盘加载到内存
  • Use asynchronous GPU emulationGPU异步模仿,yuzu重写了GPU显存管理器,减速了缓存机制,使得帧数失去显著提醒,同时性能晋升40%-400%(来自BSoD Gaming的测试数据,链接在文末)
  • Use NVDEC emulationNVDEC是一项硬件转码技术,能缩小转码期间计算密集型工作中CPU的累赘,这是Nvidia的一个技术,有了它,过场动画的播放会畅顺很多

5.4.3 游戏配置

yuzu能够依据每个游戏进行独立的配置,在对应的游戏下面右键,并抉择properties选项卡即可进入如下界面:

大部分设置与模拟器设置一样,就不具体说了。

5.5 启动游戏

双击游戏就能够欢快地开始了。

6 Ryujinx

6.1 下载

间接到Ryujinx官网下载即可:

6.2 key与固件

关上RyujinxWindows间接关上exeLinux间接./Ryujinx即可,首次运行的时候应该会如下提醒:

先抉择OK,进入界面后抉择File->Open Ryujinx Folder,把prod.keys放进system并重启。

重启之后,在界面中抉择Tools -> Install Firmware -> Install a firmware from XCI or ZIP装置下载好的固件。

6.3 增加游戏

关上Options -> Settings,抉择其中的Add并抉择对应的游戏文件夹进行增加即可。

6.4 配置

增加完游戏后就能够看到游戏了,别急着关上,先把一些惯例设置做一下。尽管Ryujinx的配置选项比yuzu要少,但并不代表不须要配置,其中最重要的三个是InputSystemGraphics

6.4.1 Input

这里是一些输出配置,与yuzu一样,也是能够依据双手柄以及单手柄的类型来设置键盘的按键:

6.4.2 System

这是一些时区以及零碎语言的设置,个别会应用操作系统的设置,不须要更改,这里说一下勾选的三个选项:

  • VSync:垂直同步,当显卡每秒渲染的帧率大于屏幕的刷新率时,会将显卡的输入与屏幕刷新率协调,从而阻止画面撕裂,比方屏幕刷新率只有60Hz,如果原来显卡每秒能渲染120帧,那么启用Vsync会让显卡同步屏幕的刷新率
  • PPTC:这是一项能够缩小游戏加载工夫的技术,实际上是一项缓存技术,第一次启动游戏的时候会创立或更新.info文件,第二次启动游戏的时候从该文件决定转译哪一个函数以及怎么转译,每次游戏完结都会更新该文件。这些缓存文件的地位在User’s AppData\Roaming\Ryujinx\games\<game id>\cache\cpu~/.config/Ryujinx/games/<game id>/cache/cpu 外面
  • FS Integrity Checks:这是一个安全性的查看选项

6.4.3 Graphics

这里是一些显卡相干的选项,包含:

  • 是否启用着色器缓存:倡议开启,这是一项能够进步用户体验性的技术,着色器被编译后会被放进硬盘中,随着下次启动游戏从硬盘加载到内存中
  • 各向异性过滤:用来过滤、解决当视角变动导致3D物体外表歪斜时造成的纹理谬误等问题,能够设置从2倍到16倍,数值越大对显卡要求越高
  • 分辨率缩放:默认是原生的720p或1080p,能够依据显示屏缩放调整
  • 画面比例:默认16比9,依据屏幕设置即可

6.5 启动游戏

双击欢快地启动游戏了。

7 截图

笔者很懒就轻易截了两张马里奥的:

附录一:Vulkan还是OpenGL

这里是针对yuzu来说的,因为Ryujinx只提供了OpenGLAPI

yuzu提供了两种图形API

  • Vulkan
  • OpenGL

笔者尝试玩了一下超级马里奥3D世界,发现OpenGL会经常性的卡顿,玩起来很不晦涩,就连顶一个金币都会卡顿大概1s左右,这种用户体验就十分的不好,然而,应用Vulkan就没有问题。

当然这也有可能是游戏自身的起因,笔者并没有测试更多的游戏。上面是Vulkan相比起OpenGL的长处:

  • 更加靠近底层:API更加靠近驱动和硬件,不便开发者优化
  • 多线程:Vulkan人造反对多线程,也反对异步数据交互以及并行绘制

而上面是在Linux上对Dota2以及Mad MaxRX 560以及GTX 1050 Ti下不同场景不同分辨率下的测试数据,包含帧数以及CPU使用率(2018年7月,作者Michael Larabel,链接在文末),首先是Dota2的数据:

上面是Mad Max,图形预设为低,1080p

图形预设为低,2k分辨率:

图形预设为高,1080p

图形预设默认,2k分辨率:

能够看到Vulkan的大部分体现都要比OpenGL要好,在GTX 1050 Ti中,无论是1080p还是2k,在更高帧率的同时放弃着更低的CPU使用率。

不过,尽管Vulkan能体现出更好的性能,然而要比OpenGL简单得多,因为笔者不是学图形的,就不开展了,须要的请自行查阅材料。

附录二:Ryujinx还是yuzu

这里同样参考了他人的测试(数据起源BSoD Gaming,2020年8月,链接见文末),环境为有两组:

  • i5 4690k + GTX 1080 Ti
  • i7 8700k + GTX 1080 Ti

上面是一些测评的截图,显示了不同环境下的CPU使用率以及帧数:

比拟特地的是塞尔达传说:荒野之息,能够看到只有一组变量了,因为在低配置的机器上测试不了,而在i7 8700k上,能够显著看到Ryujinx的帧数要比yuzu低很多,而且RyujinxCPU占用率要比yuzu高:

另外在异界锁链中,尽管yuzu有着比Ryujinx更高的帧率,然而会呈现谬误的材质,如下图所示:

上面总结一下长处:

  • Ryujinx:老手敌对,配置方便快捷,而且带有分辨率缩放性能,还有Mac平台反对(目前在打算中)
  • yuzu:能针对硬件以及游戏进行更具体的配置,而不是像Ryujinx那样的对立全局配置,游戏加载速度更快,更重要的是带有Vulkan API反对,这是最大的长处

毛病:

  • Ryujinx:新游戏加载迟缓,须要较长时间期待加载,然而有了PPTC的帮忙,加载工夫快了不少
  • yuzu:配置较为简单,而且不具备分辨率缩放的性能,会有更好的内存使用率以及页面文件使用率

如何抉择取舍就看各位读者了。

附录三:资源下载

提供了prod.keys、最新的Windows+Linux模拟器、固件以及测试所用的游戏,链接请关注公众号“氷泠之路”并回复关键字Switch获取。

参考

1、Ryujinx-PPTC

2、yuzu-New Feature Release – NVDEC emulation!

3、YouTube-Yuzu Emulator – The Async GPU Update | 40 – 400% Performance Improvements

4、Vulkan vs. OpenGL Performance For Linux Games

5、知乎-openGL、vulkan求解惑?

6、知乎-Vulkan相比于OpenGL、DX12、Metal和Mantle有什么劣势、劣势?

7、YouTube-What is the Best Nintendo Switch Emulator? Performance & Features Tested


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于windows:让你的WindowsLinux玩上Switch

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址