12 ms·
Emulating Nintendo Switch Games on Linux
- gtsnexp 6y agoHave people tried this? Any thoughts, comments?
- striking 6y agoI would have loved to give this a try but it appears to require RCM on my existing Switch... and it's not vulnerable. :(
- novok 6y agoAnd that point you might as well just use your switch then.
- zzo38computer 6y agoThere 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 6y agoPretty 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.
- ddevault 6y agoOf 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.
- faheywf 6y agoWhy are you so certain? It seems that even a decade ago C# performance wasn't far off from C++, if not slightly faster[0]. [0] https://journal.stuffwithstuff.com/2009/01/03/debunking-c-vs-c-performance/ https://journal.stuffwithstuff.com/2009/01/03/debunking-c-vs...
- ddevault 6y agoBuilding contrived tests which "prove" the performance of C# in the face of mountains of evidence to the contrary is on a much different scale from emulating an entire complicated hardware system.
- chrisoverzero 6y agoThe editor ate your links to the evidence. Can you repost them?
- lukevp 6y agoWhy the hate on C#? Are you perhaps thinking of languages like Ruby and Python and grouping them into the same bucket as C#? This[0] shows an example of C# vs C++ having a 10% performance gap on ray tracing. There is also no reason that extremely performance sensitive parts couldn’t be rewritten in Rust or C or C++ and called from C# over a FFI. [0]: https://mattwarren.org/2019/03/01/Is-CSharp-a-low-level-language/ https://mattwarren.org/2019/03/01/Is-CSharp-a-low-level-lang...
- bananaface 6y agoC# is garbage collected. Even if the performance potential was as high to begin with (it's not), that's a non-starter for heavy games because you need to be able to control & predict the performance spikes that GC creates. That's even more important for an emulator, which needs more predictability than a regular game.
- striking 6y ago
- TAForObvReasons 6y agoNext 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 6y agoIt sure feels like an ARM based Switch Emulator should eliminate a lot of the complexity that comes with the emulation process
- KMnO4 6y agoThat's a good point. I wonder if Apple Silicon will give game console emulators a leg up.
- novok 6y agoI 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 6y agoPCSX4 is a fake, see: https://www.pcgamer.com/ps4-emulator-pc/ https://www.pcgamer.com/ps4-emulator-pc/
- IronBacon 6y agoBut 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
- ikeboy 6y agoSome 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_ 6y agoJust a warning, this method is considered piracy. Not that I'm placing judgement on anyone who goes his route.
- deleted 6y ago[deleted]
- popinman322 6y agoYeah, 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.
- saagarjha 6y agoMost projects of this sort are fairly touchy about that kind of thing, because they're at the risk of being canned if it seems like they are promoting piracy.
- BurningCycles 6y agoFor 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 6y ago
- tobyhinloopen 6y agoI wonder if switch emulation would be more efficient on ARM systems
- MarioMan 6y agoIt should be. Look at DraStic, for instance, a DS emulator which runs ARM code on Android. It's a fairly performant and accurate emulation option. https://play.google.com/store/apps/details?id=com.dsemu.drastic https://play.google.com/store/apps/details?id=com.dsemu.dras... Now if you're talking about trying to run one of these emulators on an ARM build of Linux, you wouldn't see these performance improvements since their designs are optimized around x86 CPUs, not ARM. Edit: Several far more informed comments than mine have mentioned that running on ARM is only one small piece of the performance coming from DraStic.
- b0b_d0e 6y agoThe fact that its performant is tangential to the fact that its running on ARM android. IIRC Drastic still does a traditional JIT to recompile the guest ARM code into ARMv7a for phones (I might be misremembering, but I recall they had a whole lotta headache trying to update to support 64 bit ARM in time for the Android deadline for that. Also I remember them talking about tons of headaches dealing with the new storage APIs for Android) Its really fast because of the tons of optimization that went into the application. It does many cool things to cut out overhead on the CPU side, but also it does a lot on the graphics emulation side, including hand rolled ARM NEON code for SIMD processing polygons. I'm not very familiar with DS emulation, but one of the devs for Drastic contributed to another project I worked on, so I had some chats here and there about these sort of things.
- DCKing 6y agoThe DraStic developers have commented that they don't gain much if anything because it runs on ARM [1]. It's just an efficient emulator. If/when it is open sourced as promised, it will run very fast on x86 systems too most likely. In any case, DraStic is a completely different style of emulator compared to Yuzu. The Nintendo DS is nothing more than a pair of microcontrollers with (from a modern perspective) primitive 2D+3D acceleration hardware, whereas the Nintendo Switch is a multiprocessor system with a modern GPU and mulitasking operating system. The DS CPUs are actually quite far removed from modern smartphone chips, whereas the Switch chip should be mostly standard ARMv8. Things that apply to one don't necessarily apply to the other. [1]: https://drastic-ds.com/viewtopic.php?f=5&t=1939 https://drastic-ds.com/viewtopic.php?f=5&t=1939
- criddell 6y agoHow do you get around the need for a controller with an accelerometer in it?
- jhardy54 6y agoSince you're using your own Switch for this method (right? :)) then I'd imagine you could use your joycons?
- yjftsjthsd-h 6y agoHow bad is it to just not have accelerometer? I personally tend to disable motion controls anyways...
- criddell 6y agoIt 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.
- Mekantis 6y agoI'd say it's worth it to use JoyCons even if you're emulating the games on PC. When they're not drifting, they're great controllers (if a bit cramped). I sold my Switch but I do miss the flexibility of holding my hands in whatever lazy position I wanted or using the gyro for aiming. That said, it's trivial to use any other control or input device. You just might run into issues if a game requires motion control. I'm not sure but you might even get away with using a Wiimote, but I'm not sure what the controller support looks like there.
- crispyporkbites 6y agoThat’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.
- SifJar 6y agoProbably more to do with morality than lethality. Pretty subjective, but there are definitely plenty of people who are morally opposed to piracy but have no problem with illegal backups/rips/dumps of stuff they have legally purchased.
- saagarjha 6y ago> 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. Do you in fact! As long as it is your cartridge and you backed it up yourself, you can legally emulate it. (You cannot use someone else's dump, nor can you share yours.)
- gambiting 6y agoDepends 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)
- saagarjha 6y agoSince 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.
- wodenokoto 6y agoUsing? So I can dump my games but not play them?
- saagarjha 6y agoAh, I don't know how I slipped up there. Fixed, you can play them all you want :)
- gambiting 6y agoI 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.
- saagarjha 6y agoBelated disclaimer: I am not a lawyer, and I am certainly not your lawyer :) If you are interested in this kind of thing there is a lot of interesting casework in this area.
- Wowfunhappy 6y ago> 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 6y agoYes, some locales pin the crime specifically on _distribution_ of copyrighted material. Downloading or possessing aren't restricted in the same fashion.
- jp0d 6y agoI 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.
- CobrastanJorji 6y agoGame mods. Want to play custom Mario Odyssey levels? Fiddle with save game data? Boost the resolution or FPS count? Quick save game state so you can experiment with speed runs or just for your personal enjoyment? Emulators make a lot of fun things easier. It's also perfectly fine to want to play things in the intended way, of course.
- jp0d 6y agoThanks man. I honestly had no idea. I'm not a gamer. The reason I like the Switch is because it offers some fun cartoonish sort of games. Nothing serious. I can barely beat my wife in Super Smash Bros Ultimate! :D I like MarioKart and Rocket League (I suck at it too). I'd probably be more interested in running Linux on the Switch! It will probably brick it. hahaha.. I reckon I'm part of a very small segment of "gamers", even for Nintendo!
- reagent_finder 6y agoActually, you're the target group. The Wii-WiiU-Switch are all based on "hey, that looks neat, let's try it" with a massive number of games designed for the casual crowd. People like you aren't vocal in gaming communities or anything but boy do you buy games. The disconnect becomes obvious in cases like Pokemon Sword/Shield where the community was OUTRAGED about a number of things (some complaints valid, some less so), threatening boycott... then the game comes out and sells millions in the first day. Do you realize that most people don't go to r/switch, r/nintendo or r/pokemon daily? Who knew! You should try Zelda: Breath of the Wild or Mario vs Rabbids: Kingdom Battle, they're single player games and a lot of fun.
- jp0d 6y ago
- ShamelessC 6y agoIn case anyone actually tried to install yuzu and got dependency issues, it appears the newest version currently targets Ubuntu 20.04, not 18.04.