4 ms·
The switch was actually a special case, most of the APIs (the nvidia ones) where already decently well understood and the OS was based on the 3DS OS. The yuzu
by reocha 6y ago
The switch was actually a special case, most of the APIs (the nvidia ones) where already decently well understood and the OS was based on the 3DS OS.
The yuzu dev team still did an amazing job.
- cwyers 6y agoAlso, it has hardware specs that make it reasonable to emulate. You're very unlikely to see a PS5 or Xbox Series X emulator anytime soon.
- nemothekid 6y agoWould you even need to emulate PS5/XSX games? AFAIK, they are already x86 - you would just need provide the library APIs and break the security.
- spijdar 6y agoThis is a pretty common and old idea, dating back to the original xbox, which was basically "just" a normal pentium processor with an nvidia gpu. For various reasons, though, this sort of emulation has a lot of pitfalls. Either you directly run a lot of the console's firmware and e.g. try to implement the hardware devices in QEMU, or you try to recreate the console OS/firmware at a higher level, mimicking the underlying APIs. Neither are easy tasks. Take a look at the original xbox -- the emulators available aren't really great, even after nearly 2 decades of hard work. Of course, any complex emulator is hard -- just pointing out this isn't really as much of a shortcut as it may seem. The biggest upside is just (potentially) performance, as you don't need to interpret or translate CPU instructions.
- kristofferR 6y agoI don't think your statement about 2 decades of hard work on OG Xbox emulators is totally correct - the real focus on emulation only began in the mid 2010s. It's lack of exclusives also results in a lack of emulator developers.
- spijdar 6y agoThat's fair -- development has been off-and-on, and there's not much of a desire for xbox emulation. Still, I think it's a good example of how just because the xbox is basically a regular Pentium III system with a modified GeForce 3 GPU, doesn't mean it's easy to make an emulator for. And the original xbox was more "PC-like" than the PS4/5 or current xbox lineup, I'd wager.
- judge2020 6y agoPeople said the Xbox one was just a Windows PC with a proprietary UI as well, but you really have to understand what went into making it before you determine if that’s true: https://youtu.be/U7VwtOrwceo https://youtu.be/U7VwtOrwceo But yes, if you could break the security and implement the (many) private APIs, you wouldn’t necessarily need to emulate (although it might be legally and technologically easier to emulate a ps5 than re-implement everything).
- read_if_gay_ 6y agoNice talk, thanks for linking!
- renerthr 6y agoDo both Nintendo 3DS and Nintendo Switch use an ARM processor?
- colejohnson66 6y agoYes, but different feature sets
- naikrovek 6y agoYes, and the Switch OS is based on the 3DS OS.
- ladyanita22 6y agoIt's not that easy. I read somewhere the graphics pipeline of the Switch OS is a derivative work from Android's. It's not clear HOW much of it comes from the 3DS OS, how much comes from FreeBSD and how much comes from Android.
- Jasper_ 6y agoThere's more to hardware architecture than just "x86". The PS4 memory bus is completely shared between CPU and GPU, meaning that addresses on one are valid on the other. Emulating that on a general-purpose system with PCIe would be astonishingly ridiculous.
- terafo 6y ago>Emulating that on a general-purpose system with PCIe would be astonishingly ridiculous. Even official PC ports suffer from that. For example Horizon Zero Dawn looses up to 20% of performance if ran on 8x PCIe 3.0 lanes.
- terafo 6y agoThese consoles have A LOT of custom hardware(e.g. PS5 kraken hardware decoder, with which they can have ridiculously high SSD bandwidth, at peak levels much higher than anything on the consumer market right now). Brute-force approach won't work on modern PCs.
- Arelius 6y agoWhere was the Nvidia APIs documented from?
- HideousKojima 6y agoThe Switch GPU is basically just an Nvidia Tegra, and the work on the open source Noveau driver for Nvidia cards made it easy to figure out the Switch's Tegra
- TAForObvReasons 6y agoNintendo Switch used the Tegra X1 model T210 SoC, also used in the Nvidia Shield and Pixel C. There's plenty of public information as well as support code in the Linux kernel
- Arelius 6y agoAhh, I guess the emulator is not emulating the switch "API" but the GPU itself right? Because AFAIK, the Switch NVidia API is not avaliable anywhere publicly.
- monocasa 6y agoLike most consoles, the switch graphics API (NVN) is a very thin veneer over the hardware. Understanding the hardware tells you a lot about the API.