Hacker News new | past | comments | ask | show | jobs | submit login
Dolphin Progress Release 2407 and 2409 (dolphin-emu.org)
63 points by max-m 15 days ago | hide | past | favorite | 22 comments



Why doesn't Nintendo's lawyer army go after Dolphin when it went so aggressively after Yuzu? Is it just because Gamecube/Wii are EoL'd so they don't care as much (vs. Switch which is still actively supported and selling games)


Others in the thread have already made good points about Yuzu, but to add to the discussion: A lot of people think Nintendo is indiscriminate with their takedowns, but they typically only go after things that:

* They think will significantly hurt their brand (or already has)

* They think will significantly hurt their bottom line (or already has)

An interesting case study on this is in 2006, before the launch of the Wii, Nintendo issued removal of certain NES ROMs from popular ROM-sharing websites. Rather than removing all Nintendo ROMs from those sites, Nintendo specifically provided them a list of the NES games that were slated to launch on Wii Virtual Console. I'm struggling to find a source for this, but I distinctly remember it happening because there were some odd inclusions like Wario's Woods, while Super Mario Bros. 3 remained untouched. If anyone is good at searching old news articles, I would really love to have a tangible source for this memory of mine.

On the other hand, the worst takedown I've ever seen Nintendo make was when they issued a C&D against a brilliant Commodore 64 port of Super Mario Bros.: https://www.eurogamer.net/nintendo-takes-down-mario-bros-c64...

Pretty sure that one happened because the release effectively went viral, with a lot of mainstream tech/gaming websites covering it. Still, as a retrocomputing enthusiast, it's hard for me to be an apologist over that one.


As I understand it, Yuzu was backed by an actual company that they setup to process their "donations", and by getting donations you could get privileged access to new builds.

So for Yuzu there was an legal entity making money off (Nintendo argued) selling access to playing pirated games.

Dolphin doesn't accept donations, so there's no good way of arguing anyone is making any money off it. Sure, Nintendo could go after individual contributors to Dolphin (if they can find out exactly who they are - presumably many of them are aware of the risks and try to stay anonymous) but it would be costly and it's unlikely to yield any positive results.


Dolphin runs ads on their main website, and collects the money into a Dutch foundation which helps pay for development-related expenses.


The main thing that took them down was that when Tears of the Kingdom leaked a week early, the Yuzu developers made a special build available exclusively on Patreon that was able to run it, actively marketed its ability to play a leaked game copy on their YouTube and socials, and in some cases actively pointed people to where they could find a pirated copy for themselves on their Discord server.

Nintendo could have sued them into oblivion at any time (as the court documents show, they had been stepping over the line for a long time), but chose not to. If it wasn't for the Tears of the Kingdom thing, Yuzu would probably still be around today.


Moon Channel has a pretty great post mortem.

https://youtu.be/7rzWR9JP1WE?si=wbsDoWLD7DatWlS3

The main TLDW: Yuzu was reaping huge income and bragged about delivering at-launch support for major Nintendo Switch games, thus directly diverting paying customers from Nintendo. The other major aspect was Yuzu was facilitating encryption key distribution which is how Nintendo was able to bring forth a legal attack.


Yuzu was taking donations to support playing games that were leaked before release.

Nintendo did ask Dolphin to pull out some DVD keys so it’s not like they’ve been left alone either.

But Nintendo doesn’t care about emulation because that’s settled legal precedent . It cares about whether the emulation is being advertised to bypass DRM for piracy. Dolphin doesn’t cross that line, yuzu did.


This is from what I remember. I can't provide any proof because it's just from glances at the Yuzu Discord.

From what I recall, the Yuzu dev team (or at least some members) kept a private "stash" of pirated Switch games on a private Discord server and constantly used it to talk about Switch piracy and the like.

If the lawsuit progressed, it would have come out in discovery. Not a good look.

This explains why Nintendo went after Yuzu but not Ryujinx, which employs the same decryption mechanisms as the former.


The Ryujinx team (all? most? just the main dev?) are qlso based out of Brazil instead of the US, which probably makes it harder too.


They certainly would if they thought they would win in court.


Why not just static link the CRT? (change runtime library from "Multithreaded DLL" to "Multithreaded")


Dolphin is a GPLv2+ application, and the runtime is under a proprietary license. We currently rely on the "system libraries" exception in the GPL to allow linking with the runtime in the first place. If we ship the runtime with Dolphin, it might not be considered a "system library" anymore.

There's some past discussion in this PR, where we made a change to automatically install the runtime DLLs but ended up reverting it: https://github.com/dolphin-emu/dolphin/pull/11068

(this is based off my own recollection of what others have told me, it might be out of date or wrong)


Honestly, given the feedback on the Microsoft site, that makes sense: the redistributable is backwards-compatible, not forward-compatible. Same as with glibc.

IMO, the correct option here is to compile against an older version of the build chain. This is the solution offered by Microsoft, and something you would do on Linux for glibc compatibility as well.

The other option would be to compile without MSVC, using mingw, wine headers, etc.


> compile without MSVC, using mingw

I believe there are a few open source projects (such as Inkscape[0]) that provide Windows builds this way rather than having to deal with Microsoft's toolchain and runtime. But given its heavy reliance on DirectX APIs and other system libraries, I'm not sure how feasible that route would be for Dolphin.

I do wonder if there would be a performance benefit to compiling with GCC/clang on Windows, as I've seen fairly recent builds of MSVC emit some pretty lousy code in certain cases, and it lacks many of the options that GCC/clang provide, such as an exact equivalent of -fno-math-errno and the like.

[0] https://wiki.inkscape.org/wiki/Compiling_Inkscape_on_Windows


Yeah, that's the normal thing to do. But it is crazy that Microsoft still won't just include the CRT as part of the OS, updated with Windows Update. You have to distribute the stupid thing yourself if you want the dynamic runtime.


As usual from Microsoft, the answer to the Visual Studio issue is, "Fuck you." Not a surprise, but I'm grateful for the Dolphin devs working through all this.


It's not a "fuck you". What the Dolphin devs want/expect is simply mutually exclusive with how app dev on Windows works. This is a case of Chesterton's Fence, as those decisions have obvious reasons if you think about them outside of the narrow-minded constraints of an open-source emulator project.


So what are those reasons?

I mean I ship commercial non-game software on Windows, and the easy solution is just static linkage. Microsoft's preferred solution is that everyone should have an enormous installer which includes their entire redistributable. It's not great.


Given all of the tradeoffs, it seems like the most reasonable solution to me.


Even after skimming the fine article I have no idea what Dolphin is.


From the homepage:

>Dolphin is an emulator for two recent Nintendo video game consoles: the GameCube and the Wii. It allows PC gamers to enjoy games for these two consoles in full HD (1080p) with several enhancements: compatibility with all PC controllers, turbo speed, networked multiplayer, and even more!


It was also the working code name for the gamecube;

http://www.nintendoworldreport.com/guide/1781/gamecube-faq-t...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: