Let your Windows / Linux play switch!

Time:2021-7-27

1 Preface

One day inGithubThere are two on itSwitchSimulator for:

So I wanted to try itLinuxPlay on itSwitch

This paper first briefly introduces the two simulators, and then the installation, use and basic configuration of the two simulators. The appendix includesVulkanas well asOpenGLComparison andRyujinxandyuzuComparison of. Let’s take a look at what the two simulators are.

2 simulator, platform and compatibility

2.1 about simulator

  • yuzuCitraAn open source written by the producer ofNSSimulator, withC++Write, up to14.2k star, features includeVulkan APISupport, flexible simulator configuration and game configuration, etc
  • Ryujinx: Based on.NET 5.xAndC#Open sourceNSSimulator, features includeOpenALAudio outputPPTC(described below), support multiple inputs andDLCwait,5.8k star

2.2 about platform

At present, the two simulators only support platformsWindowsandLinux

Let your Windows / Linux play switch!

Let your Windows / Linux play switch!

as forMacyuzuThere is no description of support, andRyujinxIn the plan, you can see it on the download page (above)MacIcon, but in gray.

In addition, the author also found aM1 MacRunning onissue

Let your Windows / Linux play switch!

I’ve taken a look at the situation that needs to wait for November 2021.NET 6To support, soMacThe party has to wait.

2.3 about compatibility

The official gives the compatibility list of the game:

3 environment

The author’s test environment is:

  • notebook
  • System:Manjaro
  • Graphics card:RTX 2060
  • Firmware version:Firmware 11.0.1
  • Test game: Super Mario 3D world

4 preparation

Whether usedyuzustillRyujinx, you need to prepare:

  • prod.keys
  • Game Ontology

If usingRyujinx, additional firmware needs to be prepared.

Let’s take a look firstprod.keys

4.1 prod.keys

yuzuas well asRyujinxAll needprod.keys, which containsNSEquipment requiredkey, need to pass HekateAnd other tools. This part is more complex, so the appendix at the end of the paper directly provides ready-made toolsprod.keys

In addition, inyuzuThe official documentation also mentions the need to usetitle.key, the author found thattitle.keyNot required. It can be generated automatically:

Let your Windows / Linux play switch!

And inRyujinxintitle.keyIt’s not necessary, eithersystemOnly need to exist under the folderprod.keysJust.

4.2 game Ontology

The game ontology is recommended to be downloaded from three websites:

Note: after downloading the game, it needs to be placed in a folder.

4.3 firmware(Ryujinx

stayRyujinxAdditional firmware is required in(Firmware), the firmware version needs to be the same asprod.keysCorrespondingly, the firmware can go tohereDownload or download from the link provided at the end of the article. The latest version is11.0.1

Let your Windows / Linux play switch!

5 yuzu

5.1 download

yuzuProvidedAppImage, directdownloadThen add execution permission:

Let your Windows / Linux play switch!

Add execution permission:

chmod u+x yuzu-*.AppImage
./yuzu-*.AppImage

5.2 prod.keys

The first run will prompt nokey, first ignore the entry interface and select the in the upper right cornerFile->Open yuzu Folder, open and create a new onekeysfolder:

Let your Windows / Linux play switch!

holdprod.keysJust put it in and restart it.

5.3 adding games

clickAdd New Game Directory, select the game directory to add:

Let your Windows / Linux play switch!

After adding the game, you can directly double-click to start the game.

5.4 configuration

yuzuIn addition to the configuration of the simulator itself, each game also has an independent configuration:

Let your Windows / Linux play switch!

Let your Windows / Linux play switch!

5.4.1 general configuration

General configurations include system language, some hotkeys, etc. generally, the default can be maintained:

Let your Windows / Linux play switch!

Let your Windows / Linux play switch!

In addition, in the configuration of keys, you can select your own appropriate keys according to your needs, which can be configured according to the form of single handle and double handle:

Let your Windows / Linux play switch!

Let your Windows / Linux play switch!

5.4.2 graphic configuration

The configuration here is important:

Let your Windows / Linux play switch!

It mainly includes:

  • APIset up:yuzusupportOpenGLalsoVulkan, the author found thatVulkanIt will run more smoothly and have a higher frame rate. You can choose according to your personal situation. The comparison between the two is mentioned in the appendix at the end of the article
  • Use disk shader cache: disk shader cache. It is recommended to enable it so that you do not have to recompile every time, but load it directly from disk to memory
  • Use asynchronous GPU emulationGPUAsynchronous simulation,yuzuRewrittenGPUThe video memory manager accelerates the caching mechanism, so that the number of frames is obviously prompted, and the performance is improved by 40% – 400% (fromBSoD GamingTest data, link at the end of the text)
  • Use NVDEC emulationNVDECIt is a hardware transcoding technology, which can reduce the burden of CPU in computing intensive tasks during transcodingNvidiaWith it, the play of cut-off animation will be much smoother

5.4.3 game configuration

yuzuEach game can be configured independently. Right click on the corresponding game and selectpropertiesTab to enter the following interface:

Let your Windows / Linux play switch!

Most of the settings are the same as the simulator settings, so I won’t elaborate.

5.5 start the game

Double click the game to start happily.

6 Ryujinx

6.1 download

Directly toRyujinxOfficial websitedownloadYou can:

Let your Windows / Linux play switch!

6.2 keyAnd firmware

openRyujinxWindowsOpen directlyexeLinuxdirect./RyujinxThen, the following prompt should be given when running for the first time:

Let your Windows / Linux play switch!

Select OK first, and then enter the interfaceFile->Open Ryujinx Folder, handleprod.keysPut insystemAnd restart.

Let your Windows / Linux play switch!

After restart, select in the interfaceTools -> Install Firmware -> Install a firmware from XCI or ZIPInstall the downloaded firmware.

6.3 adding games

openOptions -> Settings, select one of themAddAnd select the corresponding game folder to add.

Let your Windows / Linux play switch!

6.4 configuration

After adding the game, you can see the game. Don’t rush to open it. First do some general settings. althoughRyujinxConfiguration options ratioyuzuLess, but that doesn’t mean you don’t need configuration. The three most important ones areInputSystemandGraphics

Let your Windows / Linux play switch!

6.4.1 Input

Here are some input configurations, andyuzuSimilarly, the keys of the keyboard can be set according to the type of double handle and single handle:

Let your Windows / Linux play switch!

Let your Windows / Linux play switch!

6.4.2 System

These are some time zone and system language settings. Generally, the operating system settings are used and do not need to be changed. Here are the three checked options:

Let your Windows / Linux play switch!

  • VSyncVertical synchronization: when the frame rate rendered by the graphics card per second is greater than the screen refresh rate, the output of the graphics card will be coordinated with the screen refresh rate to prevent the picture from tearing. For example, the screen refresh rate is only60Hz, if the original graphics card can render per second120 frames, then enableVsyncWill let the graphics card synchronize the refresh rate of the screen
  • PPTC: This is a technology that can reduce the game loading time. In fact, it is a caching technology. It will be created or updated when the game is started for the first time.infoFile, which function to translate and how to translate will be determined from this file when starting the game the second time. This file will be updated at the end of each game. The location of these cache files isUser’s AppData\Roaming\Ryujinx\games\<game id>\cache\cpuor~/.config/Ryujinx/games/<game id>/cache/cpu inside

Let your Windows / Linux play switch!

  • FS Integrity Checks: This is a security check option

6.4.3 Graphics

Let your Windows / Linux play switch!

Here are some graphics card related options, including:

  • Whether to enable shader cache: it is recommended to enable it. This is a technology that can improve user experience. After the shader is compiled, it will be put into the hard disk and loaded into memory from the hard disk with the next game start
  • Anisotropic filtering: used to filter and deal with texture errors caused by the inclination of 3D object surface caused by the change of viewing angle. It can be set from 2 times to 16 times. The larger the value, the higher the requirements for the graphics card
  • Resolution scaling: the default is 720p or 1080p, which can be adjusted according to the display scaling
  • Screen scale: 16 to 9 by default, which can be set according to the screen

6.5 start the game

Double click to start the game happily.

7 screenshot

The author was lazy and just cut two Mario’s photos:

Let your Windows / Linux play switch!

Let your Windows / Linux play switch!

Appendix I:VulkanstillOpenGL

This is foryuzuYes, becauseRyujinxOnlyOpenGLYesAPI

yuzuTwo graphics are providedAPI

  • Vulkan
  • OpenGL

The author tried to play the Super Mario 3D world and found thatOpenGLThey often get stuck. They don’t play very smoothly. Even a gold coin will get stuck for about 1 s. This kind of user experience is very bad, but they can’t use itVulkanNo problem.

Let your Windows / Linux play switch!

Of course, this may also be the reason for the game itself. The author did not test more games. Here isVulkanCompareOpenGLAdvantages:

  • Closer to the bottom:APICloser to driver and hardware, convenient for developers to optimize
  • Multithreading:VulkanIt naturally supports multithreading, asynchronous data interaction and parallel rendering

And here’s whereLinuxOn the rightDota2as well asMad MaxstayRX 560as well asGTX 1050 TiTest data under different scenes and resolutions, including the number of frames andCPUUtilization rate (July 2018, author)Michael Larabel, link at the end of the text), the first isDota2Data:

Let your Windows / Linux play switch!

Let your Windows / Linux play switch!

Let your Windows / Linux play switch!

Let your Windows / Linux play switch!

Here isMad Max, the graphics are preset to low,1080p

Let your Windows / Linux play switch!

Let your Windows / Linux play switch!

Let your Windows / Linux play switch!

The graphics are preset to low,2kresolving power:

Let your Windows / Linux play switch!

Let your Windows / Linux play switch!

Let your Windows / Linux play switch!

The graphics are preset to high,1080p

Let your Windows / Linux play switch!

Let your Windows / Linux play switch!

Let your Windows / Linux play switch!

Drawing presets, default,2kresolving power:

Let your Windows / Linux play switch!

Let your Windows / Linux play switch!

Let your Windows / Linux play switch!

Can seeVulkanMost of the performance is better thanOpenGLBetter, inGTX 1050 TiIn both1080pstill2k, it maintains a lower frame rate while maintaining a higher frame rateCPUUtilization rate.

However, althoughVulkanIt can show better performance, but it is better thanOpenGLIt’s much more complicated. Since the author doesn’t study graphics, it won’t be carried out. If necessary, please consult the information yourself.

Appendix II:Ryujinxstillyuzu

Here we also refer to other people’s tests (data sources)BSoD Gaming, August 2020, see the link at the end of the text), the environment has two groups:

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

The following are screenshots of some evaluations, showing the results in different environmentsCPUUsage and frames:

Let your Windows / Linux play switch!

Let your Windows / Linux play switch!

Let your Windows / Linux play switch!

Let your Windows / Linux play switch!

Let your Windows / Linux play switch!

Let your Windows / Linux play switch!

In particular, the legend of Zelda: breath of the wilderness, you can see that there is only one set of variables, because it can not be tested on low configuration machines, buti7 8700kOn the, you can clearly seeRyujinxMore frames thanyuzuMuch lower, andRyujinxYesCPUThe occupancy rate is higher thanyuzuHeight:

Let your Windows / Linux play switch!

In addition, in the alien chain, althoughyuzuThere is more thanRyujinxHigher frame rate, but wrong materials will appear, as shown in the following figure:

Let your Windows / Linux play switch!

Here’s a summary of the benefits:

  • RyujinxNovice friendly, easy and fast configuration, with resolution scaling function, andMacPlatform support (currently planned)
  • yuzuIt can be configured in more detail for hardware and games, rather thanRyujinxWith such a unified global configuration, the game loads faster and, more importantly, withVulkan APISupport, which is the biggest advantage

Disadvantages:

  • Ryujinx: the loading of new games is slow and takes a long time to load, but there arePPTCWith the help of, the loading time is much faster
  • yuzu: the configuration is complex and does not have the function of resolution scaling, which will have better memory utilization and page file utilization

How to choose or not depends on your readers.

Appendix III: resource download

Providedprod.keys, latestWindows+LinuxThe game used by simulator, firmware and test, please pay attention to the official account of “the path of Ling Ling” and reply to the key words.Switchobtain.

reference resources

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、Know – OpenGL and Vulkan to solve doubts?

6、What are the advantages and disadvantages of Vulkan compared with OpenGL, dx12, metal and mantle?

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