
Emulating Nintendo Switch Games on Linux - podiki
https://boilingsteam.com/emulating-nintendo-switch-games-on-linux/
======
saagarjha
Since it's relevant, I should probably note that dumping your own game
cartridges is perfectly legal. Using someone else's dumps or sharing yours is
not legal. Many emulator projects have had issues with the latter and are
extremely testy if you look like you are doing it.

~~~
gambiting
I should also note that law is not universal and when advising people on the
internet it should be noted as such. In Poland for instance downloading games
dumped by others is perfectly legal, only sharing isn't.

~~~
Wowfunhappy
> In Poland for instance downloading games dumped by others is perfectly
> legal, only sharing isn't.

Wait, really? Are you sure?

I ask primarily because, this sounds a little too close to "Downloading roms
you don't own is legal as long you delete them within 24 hours." ;)

~~~
jamie_ca
Yes, some locales pin the crime specifically on _distribution_ of copyrighted
material. Downloading or possessing aren't restricted in the same fashion.

~~~
dlhavema
So is this kind of the idea of going after the dealers and not the users?

~~~
rebuilder
It seems like it's just a more old-school approach, based on a more centrally
controlled market. If a publisher printed and distributed a book without
authorization, would the buyers be liable?

------
ikeboy
Some googling turns up [https://github.com/PrincessAkira/road-to-yuzu-without-
switch](https://github.com/PrincessAkira/road-to-yuzu-without-switch), which
doesn't require access to a switch. Disclaimer: haven't tried this myself.

~~~
PaulBGD_
Just a warning, this method is considered piracy. Not that I'm placing
judgement on anyone who goes his route.

~~~
popinman322
Yeah, if you file a bug with Yuzu, or join their chat channels and request
support, and there's any hint that you didn't use your own switch you'll be
banned instantly. They really do have a 0 tolerance policy.

~~~
BurningCycles
For good reason, this is an emulator for a current-gen system, and from what
I've seen on Youtube, a lot of games are fully playable.

Companies are likely not that bothered by legacy systems being emulated, but
this is the current Nintendo flagship console. Thankfully the Switch seems to
be selling amazingly, which should mean Nintendo don't really care that much.

Another factor is that you will likely need a pretty beefy PC to play games in
full speed, and compatible controllers.

~~~
ghostpepper
Not to mention that a significant portion of the value prop of the switch is
its unique hardware, and the ability to seamlessly transfer an in-progress
game between your TV and handheld.

~~~
sudosysgen
To be fair, you can also do that on PC using Steam Play or other similar
services.

~~~
ghostpepper
I actually had no idea that existed. Can you pause a game on your PC and
resume it on your phone? Or what mobile hardware does it use?

~~~
ThatPlayer
It streams from your PC, so you need your PC online at all times, your phone
online, and a good connection between the both of them.

------
tobyhinloopen
I wonder if switch emulation would be more efficient on ARM systems

~~~
DCKing
One of the suspected main reasons why we don't have proper original Xbox
emulation yet on the PC is because of the fallacy that "it should be easy to
emulate an x86 console on x86 PCs". This has lead to many failed attempts to
attempt "shortcuts" of running Xbox games on PCs, like converting executables
statically, or extremely high-level emulation approaches like only emulating
graphics calls. None turned out not to be so easy in practice. The notion "it
should be easy to emulate architecture X on architecture X" does not tend to
hold up very well, at least not for game consoles that _also_ have complicated
graphics and sound.

Compare this to Dolphin, which has been wildly successful in emulating the
Nintendo GameCube. Besides the big popularity of Nintendo games, the GameCube
was comparable in complexity and sales figures to the OG Xbox. But since it
had a relatively non-standard CPU architecture and a non-standard GPU setup,
it guided emulation developers to not put too much effort in shortcuts and
tackle the emulation problem head on.

It's worth noting some recent progress has been made in OG Xbox emulation by
the Xqemu and Cxbx-reloaded projects. The former tries to use qemu for x86
emulation (or even virtualization?) while "low level" emulating the rest of
the Xbox hardware, whereas the latter started life as an extreme high level
emulator that is going more and more low level over time.

~~~
pantaloony
I think almost all the interesting games on the X-Box either already being
available for Windows or else having a just-as-good version available for
another console is a lot of what kills interest for emulating it. You can play
Halo and such just fine on a PC without an emulator.

------
TAForObvReasons
Next step: emulating nintendo switch games on linux on their nintendo switch.
Switchroot
([https://download.switchroot.org/](https://download.switchroot.org/)) makes
Ubuntu (based on L4T) and android releases available for running on older
switches.

~~~
entropicdrifter
It sure feels like an ARM based Switch Emulator should eliminate a lot of the
complexity that comes with the emulation process

~~~
KMnO4
That's a good point. I wonder if Apple Silicon will give game console
emulators a leg up.

~~~
novok
I was about to say then you would think a PS4 emulator would be out by now
then, but lo and behold, it exists! [https://pcsx4.com/](https://pcsx4.com/)

~~~
reaperhulk
PCSX4 is a fake, see: [https://www.pcgamer.com/ps4-emulator-
pc/](https://www.pcgamer.com/ps4-emulator-pc/)

~~~
IronBacon
But there is one for Linux distributions, released more than a year ago as
binary only (not sources at the moment) called _" Spine"_ (like as Wine Spine
is not an emulator) that's pretty real and can run a few/couple of commercial
titles.

Yeah, more a POC that a full emulator but I can assure you that it works,
assuming you can decrypt the supported titles, so you'll need an exploitable
PS4 or find a dump on the Interweb...

Edit: link
[https://github.com/devofspine/spinedemo](https://github.com/devofspine/spinedemo)

------
jp0d
I find this interesting. But I'm not sure if I follow why I would want to do
it. If I own a Switch(which I do) and the games, I'm perfectly happy playing
on the telly! Sorry, just wondering.

~~~
p1necone
(with a powerful enough pc) you can run games at higher resolutions and much
more stable framerates on an emulator compared to the original hardware.
Breath of the Wild is a sight to behold running at 4k, or even native 1080.

~~~
darren_
This - 4K BOTW at 60FPS is really something. It's a shame the 60FPS messes
with the physics a bit (it's not super noticeable if you're not already
familiar with the game, but there's some fairly big differences)

~~~
mwill
Ah framerate breaking things always makes me think of Dark Souls at 60fps,
making a bunch of jumps and skips harder, falling right through the floor
sliding down some ladders, etc.

I was actually under the impression that BOTW ran at 60fps when docked, but I
probably got my wires crossed and I'm thinking of resolution.

------
criddell
How do you get around the need for a controller with an accelerometer in it?

~~~
yjftsjthsd-h
How bad is it to just not have accelerometer? I personally tend to disable
motion controls anyways...

~~~
criddell
It is sometimes part of the control scheme. For example, I was just playing a
Mario game and you fling your hat by flicking the controller.

------
ShamelessC
In case anyone actually tried to install yuzu and got dependency issues, it
appears the newest version currently targets Ubuntu 20.04, not 18.04.

------
gtsnexp
Have people tried this? Any thoughts, comments?

~~~
striking
I would have loved to give this a try but it appears to require RCM on my
existing Switch... and it's not vulnerable. :(

~~~
novok
And that point you might as well just use your switch then.

~~~
zzo38computer
There are various reasons you may wish to use it on another computer, and you
may have the cartridge, but if you can't dump/decrypt it, then that won't
work, so they will need to figure out how to work such a thing, so that if you
do not have a compatible Nintendo Switch system then you can still dump the
cartridge and use the necessary keys to decrypt as needed.

~~~
novok
Pretty much every single switch game has already been dumped and will continue
to be dumped and every single game +updates fits on a 5TB HDD. And I've never
heard of any particular RCM vulnerable switch not being able to play specific
switch games either.

So what you've said doesn't make much sense to me.

------
crispyporkbites
That’s a lot of steps upfront to avoid any hint of piracy, but you’re almost
certainly breaking the license agreement by dumping the cartridge, so what’s
the point in trying to avoid piracy.

Just because you bought a cartridge with a binary and a license to execute
that binary on a switch doesn’t mean you have the legal right to back it up
and play it on your PC.

~~~
gambiting
Depends where you live,but in a lot of places the ability to make backups of
your own digital media is enshrined in law. And in EU "license agreements" are
usually worth as much as toilet paper, especially if they are implied rather
than explicit (like, saying "by using this software you agree to this
agreement" is essentially worthless, you can agree to literally anything and
it won't hold up in court)

------
ddevault
Of these two emulators, Ryujinx is almost certainly never going to achieve a
good level of performance, because they chose to write it in C# of all
languages. Take my advice: if you're going to write an emulator, do it in C or
C++, preferrably C. Ryujinx is a mind bogglingly massive amount of wasted
effort.

~~~
wtetzner
> preferrably C

Why?

~~~
glouwbug
I once spent 3 years on a C project and I realized it's strength is that it
does not change. I didn't feel the need to rewrite it with latest features
like one might with C++

