top | item 33748949

The Impossible Port: MacOS

276 points| wow00 | 3 years ago |blog.ryujinx.org | reply

114 comments

order
[+] neilv|3 years ago|reply
For emulating vintage gaming hardware that's no longer available, one argument would be preservation of the media.

But what's the rationale (not rationalization) on running an emulation of the Nintendo Switch, when it's still commercially available?

In practice, is it usually because people want to play the games without paying for the hardware and software?

[+] asveikau|3 years ago|reply
Preservation starts in the present, does it not?

I think one thing that's easy to forget, some of the old school emulation, like early SNES emulators, came about when the hardware was still kinda current or recent.

[+] daniel-thompson|3 years ago|reply
Gaming PCs can be much more powerful than dedicated consoles these days. For example, Zelda BOTW on Switch is limited to at most 1600x900, but folks running it on their own machines with Cemu can run it at 4k. Some folks also like to try out custom shaders, mods, texture packs, etc. Example: Mario Kart 8 in 4k / raytraced - https://www.youtube.com/watch?v=OIGpt26ocWU
[+] anyfoo|3 years ago|reply
For the developer community, I think it's mostly in the challenge and the joy of solving it.

For the player community... I have a Switch, and I have zero desire to play my Switch games on anything but the Switch. After all, I already totally accept its reduced performance for its amazing convenience and controller situation. But I do appreciate the preservation aspect.

(Seriously, it's not just about handheld vs. docked. Just propping up my Switch, screen only, on a table or the edge of my couch, and playing with relaxed arms and a joy con in each hand, is already worth a ton to me.)

[+] bakugo|3 years ago|reply
If the emulator has good compatibility for the game you want to play, it's just a much better experience overall. Why play games at low resolutions and unstable framerates when an emulator can run them better at whatever resolution you want, on the same device you already use for most other things?

And yes, many people just don't want to pay for the game or console, and there's nothing wrong with that. It's not like Nintendo cares about the customer either anyway.

[+] Marsymars|3 years ago|reply
I’m years behind on games, but if I have the choice to play an older (say, SNES) game on a PC emulator or on the Wii U (my newest console) Virtual Console, the PC emulator quality of life is miles better, even though I don’t particularly care about graphics.

I don’t have the time to spend hours grinding at games any more, but on an emulator, I can play every game with my preferred xbox elite controller, and map save state/load state/fast forward to paddles on the controller. It basically eliminates replaying of areas in games due to difficulty, since save/load-state makes death near-impossible, and any parts of the game that are progressing too slowly I can run at 10x speed.

[+] highwaylights|3 years ago|reply
I think this may be an overly cynical take - there are already exploits / tools that would allow direct piracy on the Switch itself which would no doubt perform much better than any emulation.

It seems far more likely that this is done just for the curiosity of doing it.

There’s one fascinating outcome to me as a result of Nintendo essentially repeating two hardware generations (GameCube -> Wii, then Wii U -> Switch), which is that on the highest end gaming PCs, games for the Switch can and do run at much higher resolutions and framerates than the Switch itself is capable of. On the YouTube videos I’ve seen the games don’t appear as stable as native hardware, but they really do look tremendous. Especially Breath of the Wild.

[+] rrix2|3 years ago|reply
I don't want to buy a new Switch, but I'm happy to buy games. I have one of the first Switches which have a bootloader exploit and a screen that got scratched up by the dock and both joycons with a nasty analog stick drift.

With Ryujinx and yuzu, I buy switch-exclusive games from eShop or the local games shop, dump them to my NAS, and stick them on my steamdeck and the machine whose display the nintendo switch dock used to be attached to. I've bought a lot more games from Nintendo once I was able to use my decent xbox controller, PC, etc, since I started doing this.

[+] gavinsyancey|3 years ago|reply
I own a Nintendo Switch, and several games for it. I also own a Steam Deck, and I'd like to be able to play my Switch games on it so I don't have to carry two devices around. Emulation lets me do so.
[+] RockRobotRock|3 years ago|reply
Yes. Piracy is a thing people do sometimes. We can beat around the bush and grandstand or be honest about it.
[+] xatnys|3 years ago|reply
I default to the Switch in many cases due to emulation not being compatible in ways that could be significant depending on the game. But if a game plays well on yuzu or ryujinx? Even setting aside better graphical fidelity, the massive increase in sound quality playing on a Steam Deck compared to the Switch makes it absolutely worth it. If I can get away with playing my games on better hardware, I will.
[+] prmoustache|3 years ago|reply
The nintendo switch is quite a fragile machine. Mine was already repaired twice.

So having a second option if it ends up unrepairable is a good thing imho. Nintendo won't refund my games if my switch die.

[+] cassianoleal|3 years ago|reply
I have dumped a few of my Switch games to play on the Steam Deck. It's a better experience overall, for the games that run well, and it means I can take only one console when I'm out.

I haven't downloaded a single pirate ROM since I own both the hardware and the software.

On a powerful PC, you can run some games at much better frame rates than on the Switch hardware as well.

[+] ShamelessC|3 years ago|reply
People regularly pirate and violate licensing agreements without even the mildest cognitive dissonance despite knowing it is breaking the law or unethical.
[+] lefstathiou|3 years ago|reply
Where do people go to get roms of games they own these days?
[+] bakugo|3 years ago|reply
There's no officially supported way of obtaining them. The closest thing is owning a console manufactured before mid-2018 and hacking it. But nobody really cares how you get the games anyway especially if you already own them, so just download them from somewhere.
[+] sli|3 years ago|reply
You aren't going to get any links to copyrighted content, but a Switch running CFW can dump game backups easily.
[+] porphyra|3 years ago|reply
I'm happy to see that most games just work fine and do not rely on any weird proprietary Nvidia stuff to run.
[+] rosnd|3 years ago|reply
You can just right click to open anyway without going through the settings.
[+] bakugo|3 years ago|reply
Are people who own M1 Macs actually interested in playing games though? You'd think they would buy something more suitable for the job if they were.
[+] anyfoo|3 years ago|reply
I am. I have no interest in getting a Windows PC just for gaming, so I make do with what's available (for the games that are not better played on my Switch anyway, it really is the ideal gaming device for me).

Sometimes it's a struggle to get it working, but the payoff of being able to play my strategy game or whatever on my same old laptop on the couch is well worth it to me.

Plus, sometime I'm amazed how well the games then run on battery and with only little fan noise at worst, despite Rosetta. Just yesterday I played XCOM2 at maxed out graphics settings for hours. (Partly because the DLC I played isn't on the Switch, and partly because I wanted to see what the game was like at full graphics.)

[+] dagmx|3 years ago|reply
Nobody is buying them for the explicit purpose of playing games, but that doesn’t mean people who own them aren’t interested in games.

I’m sure there’s a lot of Mac owners who play games on PCs or consoles.

[+] joemi|3 years ago|reply
There are lots of games available for the M1. The Mac Gaming Wiki has a pretty big (but not exhaustive) list of M1 compatible games: https://www.applegamingwiki.com/wiki/M1_compatible_games_mas...

It’s clearly not every game, but it’s a lot of games (many gaming hours, if you look at it that way), especially when you consider there are many many games available that aren’t on that list and that some percentage of those other games are also supported.

Or are you conflating the concept of “interested in playing games” with the concept of “must play every brand new game”? I’m pretty sure there are plenty of people like me who are interested in gaming but feel no compulsion to play the newest hottest games that you need a top of the line graphics card just to be able to run. There are plenty of good and great games out there that don’t have such strict high requirements. Even when I had a “more suitable” computer, I didn’t feel the need to buy a super powerful graphics card just so I could play some games since there were so many good games that didn’t need that.

[+] matthewmacleod|3 years ago|reply
Yes - it's not a bad machine for people who want to play a few casual games. For example, on a whim I downloaded Deus Ex: Mankind Divided, a pretty beefy game from about 5 years ago, and it runs on my MacBook Pro on maximum settings with no trouble. Similarly things like Cities Skylines, KSP, Minecraft and so on work really well. It's not a gamer machine, but can clearly handle mid-tier games.
[+] thewebcount|3 years ago|reply
I play a ton of stuff on my M1 iPad. My desktop is still an Intel Mac Pro, but I’ve played tons of games on it over the years. I occasionally play a AAA game on it when there’s a port, but those don’t interest me too much. I have Steam on the Mac and Apple Arcade on my Mac, iPhone, iPad, and AppleTV. I tend to avoid Steam when possible because it’s a terrible application, but some games are only available there. Otherwise, I lean towards Apple Arcade because it avoids all the loot boxes, in-app purchases and other crap that makes games so toxic. I’d love for even more games to be available on Apple’s devices, as would others I know.
[+] Klonoar|3 years ago|reply
Quite a sizeable crowd, actually. The M1 series is quite fine for gaming, it just requires vendors/authors producing for it.
[+] SQueeeeeL|3 years ago|reply
M1 Macs are cool and videogames are cool. I have bought exactly one game specifically because of Mac compatibility, so I doubt I'm the target demographic.
[+] Marsymars|3 years ago|reply
The only gaming I do on my M1 Mac is via Steam streaming from my PC.

I don’t really expect to change this, the setup works well for me - my gaming PC is connected to a TV and has a much higher TDP and more fans than my Mac (which has none, and will never have any.) The only games I stream/play on my Mac are those that aren’t convenient on a TV. (e.g. Civilization.)

It costs somewhat more to have two devices, but not as much more as one might expect, since RAM/SSD space/(maybe GPU?) are all much cheaper in a DIY desktop than in a Mac, so my Mac doesn’t need to be specced for games.

[+] retrac|3 years ago|reply
The consistent support from a handful of major studios for the Mac platform suggests enough Mac users do play games to make those efforts profitable. I'm pretty sure the user base plays different games, on average, though. Going all the way back to the 80s, every version of Civilization and Simcity were ported, while FPSes have been more hit-and-miss.
[+] shepherdjerred|3 years ago|reply
The baseline M1 Mac Mini replaced my gaming desktop for a few months when it first came out. I've also used my M1 MacBook to play games like Factorio, Civilization, and Stellaris.

It certainly isn't going to be playing games at max settings, but it does a good enough job.

[+] grishka|3 years ago|reply
Why not? I got an M1 Max for the RAM, but the relatively powerful GPU is a nice bonus. It's also kinda natural to want to use a general-purpose device you already own for more purposes than you intended when you were buying it.
[+] BuckyBeaver|3 years ago|reply
This title indicates that it's a port of Mac OS. Please put a properly descriptive title on your post.
[+] ShamelessC|3 years ago|reply
Same title as the article.
[+] eschaton|3 years ago|reply
The article says:

> Implementing ARM compatibility is a big-deal for normal software, and emulators are far from normal.

This is bullshit. ARM compatibility is trivial for normal software, and unless an emulator wants to leverage some sort of virtualization technology, emulators are perfectly normal software.

Stop pretending there’s some mystique to them. Everyone who’s gone through a reasonable undergraduate CS curriculum should have implemented an emulator as part of their computer architecture courses, just like everyone should have implemented an OS as part of their operating systems coursework.

[+] manchmalscott|3 years ago|reply
As someone who is about to graduate from an undergrad CS program in the fall, apparently my curriculum isn’t reasonable? None of the classes I’ve taken, required or otherwise, have had us implement an emulator or an entire operating system. We’ve mostly focused on integrating with existing things e.g. writing Linux kernel modules, writing MIPS assembly, rather than creating new things. Probably the only notable exception I can think of was writing a tokenizer/parser/compiler over the course of CSE340, but none of the classes my college offers involve writing an OS from scratch (at least at the undergraduate level).
[+] jnwatson|3 years ago|reply
Emulators are not remotely normal software. If there's any static or dynamic binary translation at all, there's a lot of architecture-specific stuff you gotta know.
[+] dmitriid|3 years ago|reply
> Everyone who’s gone through a reasonable undergraduate CS curriculum should have

Tell me the equivalent of "I went to Harvard you peasant" without telling it.

[+] tester756|3 years ago|reply
Doesn't reflect my experience at all

People who have some reasonable understanding of emulators/interpreters/compilers/OSes/etc are small % of graduates.

Over 5 years of studying I'm not aware of single person that had decent idea of how to build such a thing (with an exception for one that was really interested in one of those topics)

Maybe at top3 schools it's better, but that's very small amount of people per year.

[+] shepherdjerred|3 years ago|reply
> Everyone who’s gone through a reasonable undergraduate CS curriculum should have implemented an emulator as part of their computer architecture courses, just like everyone should have implemented an OS as part of their operating systems coursework.

You have a very ambitious understanding of the rigor of the average CS program.

[+] thewebcount|3 years ago|reply
Just a suggestion to the authors - if you want to get people on the platform excited about your work, maybe don’t shit all over the platform. You did something great. Emphasize that. Leave the editorializing out. Yes, Apple does things differently than other manufacturers and sometimes that makes things more difficult for what your trying to do. Every platform has these issues, just in different places. Other than that, it looks like a really neat project. Best of luck!
[+] jeppester|3 years ago|reply
I felt this was a very knowledgeable, yet accessible, insight into the burdens they had to overcome to make it work.

Certainly it didn't feel like "shitting all over platform" to me. That conclusion sounds like something mostly fanboys / "ego connected to brand choice"-loyalists would make.

If I had solved those seemingly impossible problems, then I would like to show everyone, not downplay my work to please frail egos.

[+] kennend3|3 years ago|reply
> Yes, Apple does things differently than other manufacturers and sometimes that makes things more difficult for what your trying to do. Every platform has these issues, just in different places.

Out of genuine curiosity what would compel you to write this?

They wrote an article about the issues they faced and you felt a need to "defend" Apple?

I'd love to hear why people feel some sort of "personal connection" to a brand.

[+] risho|3 years ago|reply
yeah, no. sometimes apple just decides to reinvent the wheel instead of using the cross-platform universal standard that everyone else is using. being frustrated by this is both understandable and obvious. apple's obstinance and complete refusal to implement vulkan is a large reason why game developers don't release games for the mac. thank god some third party decided to make a vulkan translation layer because that is one of the primary reasons macos has any games at all.