16 ms·
RyujinX – Open Source Nintendo Switch Emulator
- smashah 3y agoThe developers shouldn't have to be anon for this type of amazing project. They should be publicly celebrated instead of having to hide for fear of being buried in legal trouble. Sad state of the world.
- deleted 3y ago[deleted]
- balls187 3y agoI think one need only to look a at happens in China to see the ramifications when you have flagrant disregard to IP protections. Which world state is sadder?
- dvdkon 3y agoAre you trying to draw a connection between disregarding IP laws and disregarding human rights? Because I'm pretty sure there isn't any.
- balls187 3y agoNo, I can see how discussing china could mean human rights, but in this case I was referring to China's flagrant IP violations. https://www.technologyreview.com/2023/06/20/1075088/chinese-amazon-seller-counterfeit-lawsuit/ https://www.technologyreview.com/2023/06/20/1075088/chinese-...
- dvdkon 3y agoI still don't see how China's IP violations lead to a "sadder world state". The article you linked seems mostly sympathetic to foreign trademark-infringing sellers, and I certainly don't lose sleep over small-time trademark problems. I'm not happy about the copyright infringement and full-on fraud that happens in China, but there's certainly an argument to be made that the current rules (or absence thereof) were necessary to make China the superpower it is now. If I was Chinese, I'd be pretty happy about it.
- balls187 3y ago> I still don't see how China's IP violations lead to a "sadder world state". …when compared to Nintendo vigerously defending their IP through legal channels.
- bix6 3y agoThe world that hoards it’s IP so a few can be rich is sadder for sure. China will soon overtake the US in EVs per capita.
- balls187 3y agoLet me know how well that works with EV charging infrastructure in China.
- rjzzleep 3y agoCan you be more specific?
- conradev 3y agoChina disregarding IP protections to bootstrap their manufacturing base, military, etc was one of the greatest decisions they could have ever made?
- BonitaPersona 3y ago"China politicians do what yours would if they could, and will the moment they can". Difficult to translate from the source in spanish. I hope it is understandable.
- seanw444 3y agoAt the expense of the private individual, yes.
- roywiggins 3y agoThe US kind of famously behaved the same way at least with regards to copyright. https://digitalcommons.pace.edu/cgi/viewcontent.cgi?article=1991&context=plr https://digitalcommons.pace.edu/cgi/viewcontent.cgi?article=...
- 0xdeadbeefbabe 3y agoThe one with broken international laws?
- KolmogorovComp 3y agoTangential, but can these emulators run untrusted code? If not, is there some way to check for authenticity of random ROM like checksum? If checksums were to work, do you know if a website centralizing those would fall under the law?
- deleted 3y ago[deleted]
- Kipters 3y agoThey can run any code. You can use checksum and such a site centralizing would be in the clear as it doesn't contain any copyrighted material, only hashes (perhaps including cover art would be a problem?) As far as I know there exists one specifically for switch (nswdb.com, which is used by a common dumping tool to verify if your dump is valid or not) and another for basically every console but the switch (for some reason) run by no-intro (datomatic.no-intro.org) Another site that only cares about disc-based releases is redump.org, which has quite a few dumping guides in their wiki.
- KolmogorovComp 3y agoThanks for the links! Missing word, I meant to ask if they can safely run untrusted code! I.e if the emulator is sandboxed.
- Kipters 3y agoIn general emulated code should only be able to interact with the emulated machine, not the host machine running the emulator. But there's no specific sandboxing and there have been cases of bugs in emulators that allowed specially crafted roms to execute code on the host (https://scarybeastsecurity.blogspot.com/2016/11/0day-exploit-compromising-linux-desktop.html https://scarybeastsecurity.blogspot.com/2016/11/0day-exploit...)
- necrosyne 3y agoI love Yuzu and Ryujinx both. It’s crazy that they can provide a superior experience to the native console. I suspect the party’s about to be over thanks in no small part to Denuvo.
- causi 3y agoI doubt it. So far Denuvo's claims to prevent emulation are just that, claims. Even if they do, people have an unlimited amount of time to work on bypassing it.
- tetris11 3y agoIt also skims 5 fps from your framerate. Maybe that's nothing for some, but
- necrosyne 3y agoEh, I'm less skeptical. Denuvo has a proven track history of being exceptionally difficult to crack (and last I'd heard, only one hacker even possesses the skill to do so.) If they're as competent with locking down Switch titles (or, as is rumored, future Unreal Engine games) the gaming community at large is in for some chop.
- aruametello 3y agoits best to wait and see, but their strategy seems to hold water. think about it, emulated GPU´s are an approximation of the output, like "mathematically inexact" output pixels, even through perceptually they are as good and often better than the original. even if you just draw a textured triangle, the texture sampling quality/output varies from different gpu families (even from the same vendor), so "drawing and testing against the framebuffer" is a somewhat strong check to see if the gpu is an tegra X1. game code that renders using a shader and checks for the precise expected outputs in the framebuffer will fail in emulators (unless the thing is cycle accurate and has no enhancements!), so the games might need to be cracked. and cracking/bypassing denuvo is a pain in the ass. what this probably wont solve or seems to be tackling is switch piracy on real switch hardware.
- deleted 3y ago[deleted]
- deleted 3y ago[deleted]
- edandersen 3y agoRyujinX is now the poster-child for C#.
- cosmojg 3y agoHaving tried both, I prefer Yuzu for playing Tears of the Kingdom: https://yuzu-emu.org/ https://yuzu-emu.org/ Both are great, though, and the rapid speed of development on both projects means that whatever impressions I formed earlier this year are likely already out of date!
- jacek 3y agoI tried Yuzu too and was very impressed. Some useful instructions on how to use it: https://github.com/Abd-007/Switch-Emulators-Guide/blob/main/Yuzu.md https://github.com/Abd-007/Switch-Emulators-Guide/blob/main/...
- psychphysic 3y agoYuzu also has an android build although I believe it runs only on snapdragon devices. https://yuzu-emu.org/entry/yuzu-android/ https://yuzu-emu.org/entry/yuzu-android/ On desktop at least it has an early access programme via patreon (but available here https://pineappleea.github.io/ https://pineappleea.github.io/ ) Skyline runs on Android but I've never managed to get it to work on any device. It's no longer in development https://skyline-emu.one/ https://skyline-emu.one/
- esperent 3y agoIf you have anything less than a flag ship from the last year or so, don't expect to be playing Zelda on your phone anytime soon though. Even then I heard people saying their phones were getting very hot. Source: researching this about 3 months ago to see if I could play BotW on my S21 FE. I can't.
- radiKal07 3y agoYes, for Yuzu you need a Snapdragon SoC otherwise the games crash instantly. If you have a Mali GPU you have to wait until they add support for it. Skyline supports Mali but performance is reduced. Btw Skyline ceased development, some of the devs forked it and will continue development on Strato (https://strato-emu.com https://strato-emu.com). If you guys use Android handhelds I recommend using Beacon Game Launcher (https://play.google.com/store/apps/details?id=com.radikal.gamelauncher https://play.google.com/store/apps/details?id=com.radikal.ga...)
- seabrookmx 3y agoI wouldn't have guessed C# would be a good fit for something like this, but neat to see!
- lnxg33k1 3y agoOh, in terms of emulators written in C#, never heard of Run[1]UO[2]? C# revolutionized the UO world back like 20 years ago(?) it has(d?) the right balance between simplicity, clarity and performance [1] https://www.runuo.net/ https://www.runuo.net/ [2] https://github.com/ClassicUO/ClassicUO https://github.com/ClassicUO/ClassicUO Shit shouldn't have thought about UO, now I am sad :'( (and old)
- wiz21c 3y agoIn the future there's fire, in the past there is gold :-)
- mentos 3y agoRunUO is what turned me from a player into a programmer. I believe there’s still a forum comment out there from 2001 where I was asking about the mess of squiggly brackets {} and if this is really how programming is done. It’s a really fun reminder of what that first exposure to programming felt like. I’ll never forget how magical it was to make my first edits to the code and see it reflected in the game. Created a feedback loop that has continued to reward me over 20 years later. :)
- lnxg33k1 3y agoYeah what did that for me was mIRC scripts, kinda miss every now and then the feeling ^^
- deaddodo 3y agoC# is a common choice for emulators, actually. It probably goes C/C++ (it's really hard to disambiguate the two, in this case; few codebases are pure either way) then Rust (for hobby emulators, it's probably third or fourth for serious efforts), C# and Java. JavaScript and Python are very common for hobby efforts, but generally exceptions for serious codebases (excepting WASM).
- vladgiverts 3y agoBeen using this on my Macbook Pro M1 to play Breath of the Wild and Mario Kart using XBox controllers. My kids and I love it.
- whiskeytuesday 3y agoAllegedly
- lnxg33k1 3y agoIt's just a game where an italian guy runs in a supermarket with a cart, nothing to do with the nintendo one :D
- kmeisthax 3y ago任天堂は無関係 https://commons.wikimedia.org/wiki/File:%E4%BB%BB%E5%A4%A9%E5%A0%82%E3%81%AF%E7%84%A1%E9%96%A2%E4%BF%82_%2846026730274%29.jpg https://commons.wikimedia.org/wiki/File:%E4%BB%BB%E5%A4%A9%E... Unrelated to Nintendo
- beltsazar 3y agoWhat's the average FPS?
- zamadatix 3y agoFor BOTW specifically you're better off playing on CEMU (Wii U emulator) as it's the exact same game(not a more limited version as one would assume) but significantly faster. TOTK you'll need RyujinX. Exact numbers are hard to give: native game resolution or native macbook resolution? Docked or undocked? Shaders cached or not? Graphics mods (some of which are efficiency/performance related) or not? Generally though most games run at native size at native speeds once you get everything going. BOTW/TOTK are some of the heavier ones though and, ignoring BOTW as I play that on CEMU, TOTK runs alright as long as you don't push it or expect high FPS mods.
- dacryn 3y ago
- skykooler 3y agoIs there any way to play games (legally) on this if you don't have a Switch to dump them from? Is it possible to buy Switch games through a web browser?
- Shared404 3y ago> Is it possible to buy Switch games through a web browser? https://www.nintendo.com/store/games/nintendo-switch-games/#sort=df https://www.nintendo.com/store/games/nintendo-switch-games/#... You won't be able to download or dump them without a Switch though.
- verwalt 3y agoHaving a jailbroken switch is the only way. So every new one you buy is almost definitely a patched V2, and all the Switch Lites and OLEDs are not jailbrakable either, without soldering a modchip.
- deleted 3y ago[deleted]
- bb88 3y agoI remember the original XBox had a pogo pin mod. Is this possible today?
- deaddodo 3y agoThe classic Switches have a bridgeable pin in the controller port that'll give you ring0 access. But it's only that very first generation. You just slide something like this: https://www.amazon.com/Nintendo-Switch-Short-Connector-Recovery/dp/B07J9JJRRG https://www.amazon.com/Nintendo-Switch-Short-Connector-Recov... Into the controller slide and enable it when you want RCM access.
- deleted 3y ago[deleted]
- psychphysic 3y ago
- swyx 3y agoi gotta ask, what kind of career path does one have to have to figure out how to make this sort of thing? just hacking nights and weekends for 2 years straight? because i dont know how anyone gets paid to do this and yet there is so much incredible depth to learn that is probably undocumented because of legal issues
- BaseballPhysics 3y agoYes, just hacking nights and weekends. I've done my fair share of console reverse engineering, developing software for console devices (mostly GBA and NDS development, but a fair bit of SMS and Genesis reverse engineering), etc, and it's seriously some of the most fun I've had as a developer. But it takes an enormous amount of tenacity to push through the inevitable challenges.
- wiz21c 3y agoThis 1000X ! I'm currently working on emulating the Apple 2+ speaker better. It's been a 2-3 spare time hours a week for about a year now :-) But the joy of working on a machine that's part of your life, without the need to please end users (which is cool too but sometimes induce pressure), well, that's basically coding like when I was a kid. Except that now I have a TON more knowledge to work with ! And, while working on disk emulation I had the pleasure ot discover those many copy protections that "prevented" me to get many games :-)
- BaseballPhysics 3y agoAbsolutely. And the other thing I love about it is the communities are typically super open and collaborative. I remember back when I first got into GBA development, there was a ton of docs, tools, libraries, and other things that folks had put together and then shared with one another. It's a lot of very passionate people sharing some very niche interests, which can be incredibly fun (of course it can also be a drama filled nightmare but such is life with passionate people).
- 3y ago
- satvikpendem 3y agoIt is kind of annoying that Irdeto, the makers of the oft-maligned Denuvo DRM, have made one that specifically targets Switch emulators, even though emulators are legal.
- zirgs 3y agoThat's because most emulator users are pirates. Few people bother dumping their games themselves.
- satvikpendem 3y agoMany of them own the actual game, even if they don't literally dump it themselves. I wouldn't call that piracy.
- necrosyne 3y agoI have physical copies of the games I play in Ryujinx, and don’t dump the ROMs myself. I suspect I’m in the minority however.
- aqfamnzc 3y agoI agree with you. However, now that you bring it up, I wonder what the law says? My guess is it's technically still not legal, at least in the US. :(
- 3y ago
- hardware2win 3y agoRyujinx is one of the most impressive C# projects that Ive seen The other is Roslyn
- gigatexal 3y agoAbsolutely stellar work, thank you for this!
- geokon 3y agoEarly emulators had to emulate the super funky hardware that early consoles had. Now a days consoles are pretty similar to consumer computers (I though the switch was basically a Nvidia Jetson) Is the emulation now more like Wine - about providing the necessary APIs and then running on a VM, or is there actual hardware emulation ?
- grishka 3y agoIt's more high-level than it used to be but GPU is the main problem. The graphics APIs that games use usually expose various hardware specifics so games could be fine-tuned to get most out of that specific hardware. It takes a lot of work to translate these hardware-specific API calls into OpenGL/Direct3D/Vulkan/Metal.
- zirgs 3y agoIt helps that many console devs don't bother with low-level optimisations, because they can get away with a bit worse performance. Just cap the framerate to 30 like most other console games do. It wasn't an option during the NES era. Every clock cycle counted back then.
- deleted 3y ago[deleted]
- grishka 3y agoNES-era games also ran on bare metal. Modern consoles run proper modern operating systems with everything you'd expect to find in one — preemptive multitasking, virtual memory, hardware abstractions, kernel- and user-mode with syscalls, etc. PlayStation OS is a Unix system (something-BSD IIRC), Xbox's is obviously based on Windows NT, and Switch runs something Nintendo built from scratch. Cycle-counting doesn't make much sense for code running in a preemptive-multitasking OS because no matter how much you count cycles, the actual execution time for a piece of code would be non-deterministic. That, and I suppose most modern games are bottlenecked by the GPU, not the CPU.
- Weryj 3y agoThis was a great way to bring controller focused games to Mac
- monkeydust 3y agoI just found out about miyoo recently and brought a miyoo plus. Great product / form factor.
- urza 3y agoWhy doesn't Nintento release their games to other platforms? I would love to play Zelda, but I am not going to buy a console just because of one game..
- agloe_dreams 3y agoThis is actually super interesting because they have. In China they allowed Nvidia to ship a Wii emulator on the Shield. https://www.nintendolife.com/news/2021/08/nvidia_shield_shutting_down_nintendo_wii_game_downloads_in_china https://www.nintendolife.com/news/2021/08/nvidia_shield_shut... What is really wild to me is that they could 100% ship Zelda for iOS and make a killing. The Switch has absolutely nothing on a modern iPhone/iPad, even heatsoaked and it would immediately be the best game on iOS.
- lockhouse 3y agoYou just answered your own question. :) Want to play Zelda? You have to pay Nintendo at least $260. $100 more if you want to play on something better than a Switch Lite. Unlike Sony and Microsoft, Nintendo actually makes a profit on their hardware sales as well as game sales.
- selykg 3y agoOther console makers make a profit on their consoles as well. Typically it's either a small margin at the beginning, or maybe they're eating it somewhat, but as time goes on the components get cheaper, production is improved, or they make revisions to reduce complexity in the circuit boards, or they release a newer smaller version of the console as well. But it's not fair to say that Sony and Microsoft lose money on their console hardware but Nintendo doesn't.
- Grazester 3y agoThe PS5 has broken even since 2001 by now it may be profitable
- amiga386 3y agoNintendo is just Nintendo, and enough people have bought a console just because of one game (or several games) for them still have enough money to keep being Nintendo. I don't really want to defend them, but you need to look at the North American video game market crash of 1983 to understand their current stance. The entire video game market collapsed, because any old crap was being released as a game. Consumers lost confidence in the "platform" of specific games consoles. If they bought a home computer instead, there would still be games and it had other utility. The NES was the antithesis of this. A walled garden of Nintendo, and plenty of first-party game development. The approach worked, it brought them fortune and made them a major player in the video game market. Why would they abandon this approach if it's still working for them almost 40 years later?