Dolphin 5.0 Release


Dolphin 5.0 Release Video


The long awaited Dolphin 5.0 release is finally here! After nearly a year of bug-hunting and handling the release process, everything has come together for our biggest release yet! The three previous releases followed a very distinct pattern: sacrifice performance, hacks, and features in exchange for higher accuracy. As such, Dolphin 3.0, 3.5, and 4.0 progressively grew slower. But thanks to the cleanups put forward throughout those releases, Dolphin 5.0 is the fastest Dolphin has ever been!

By removing all of those hacks and outdated features while cleaning up the codebase, Dolphin has reached a new level of efficiency, powered by a revitalized dynamic recompiler. On the GPU side, OpenGL and D3D11 have seen tons of optimizations and accuracy improvements, and have been joined by a brand new D3D12 backend for huge performance gains. If there's a CPU or GPU extension that can make Dolphin faster, we take advantage of it.

At a basic level, Dolphin 5.0 is more accurate and more efficient than previous builds in every way. Individual games will vary, especially due to various hacks being removed along the way. Dolphin 5.0 can be downloaded for Windows and Mac OS X from our official website: dolphin-emu.org.

System Requirements to run Dolphin 5.0 can be found here but here's a quick rundown of what changed:

  • 64-bit CPUs and Operating Systems are required.
  • Windows XP is no longer supported. Windows Vista is no longer officially supported.
  • Direct3D10/OpenGL3 Required. This means AMD Radeon 4xxx, NVIDIA GeForce 8xxx, or Intel HD 2xxx minimum! Anything older than that will most likely not work or will have significant glitches.

Dolphin on Android is not getting a release build. This does not mean it's falling behind or anything. We just did not feel like Dolphin on Android has reached any milestone with these changes. We'd rather it have its own special time in the sun when it comes, instead of tagging it onto what has been an already concerted effort on the desktop release.


Change Log

With nearly 10000 commits spanning compatibility, crash fixes, new features and more, Dolphin 5.0 offers a variety of reasons to upgrade from the previous release:

Texture EnVironment Fixes (See Pixel Processing Problems for details)

Texture EnVironment Fixes (TEV Fixes) is a fundamental change to how Dolphin handles the graphics pipeline in the GameCube and Wii. Rather than attempting to emulate integer math using floating point math, Dolphin abandons that by taking advantage of the D3D11 and OpenGL 3 (or newer) APIs that allow for the use of integer math unlike older APIs. Back when Dolphin was first introduced, this wasn't even an option outside of a software renderer as those APIs didn't exist yet! Despite integer math being supported since OpenGL 3, many graphics cards and drivers still struggle to handle integer math correctly. This could cause some loss in performance in specific situations, but, the huge increase in accuracy solving thousands of graphical issues across hundreds of games would simply not be possible without the switch.


Super Mario Sunshine

Various floating point rounding errors would cause tons of issues in games.

Super Mario Sunshine

Those are gone now thanks to using integer math!


zFreeze Support (See the Jan 2015 Progress Report for details)

zFreeze is one of those features that we never thought would be implemented. Developers have been aware of the feature for quite some time, but no one could quite get a handle on how to implement it. It took three developers working upon years of research to finally crack the code, and now every known situation of zFreeze works properly in Dolphin! As we proudly stated once zFreeze emulation was defeated yes, you can finally play Rogue Squadron II in Dolphin. Due to how demanding it is and all the crazy hardware tricks it uses, it may not be perfect yet, but zFreeze will not be causing any more headaches.


Star Wars Rogue Squadron II

Flickering and ordering issues dominated zFreeze titles in Dolphin 4.0.

Star Wars Rogue Squadron II

Dolphin 5.0 has no such issues remaining, with complete zFreeze support.



There are roughly about two dozen known GameCube/Wii games that make use of zFreeze in some way and likely many others that use it for similarly benign reasons. While it's mostly used for shadows, Blood Omen 2 and Mario Power Tennis are notably much, much more playable without zfighting and layering issues.

Better and Faster CPU Emulation

Much like Dolphin's GPU emulation, Dolphin's CPU emulation has seen many accuracy improvements over the past two and half years. And it's sacrificed compatibility, too. While D3D9 was sacrificed for integers, the x86_32 JIT was sacrificed for a whole slew of improvements. We promised users that dropping the 32-bit JIT would open up many options for improvements, but, even we didn't expect nearly a 100% improvement in performance in the JIT!


Dolphin Benchmark performance relative to 4.0 - higher is better. Click here for the non-relative results. While Wii Disc Timings hurt performance of this test, that issue did not carry over to standard games. To match real world performance, this graph should go even higher!

Dropping the 32-bit JIT was hugely instrumental in many of these changes; it meant a lot less work to implement new features (no longer have to implement it twice, once for each architecture), along with the lifting of some restraints that heldback various optimization ideas. The result of the added ease is that many instructions that previously had to fall back onto the costly interpreter have now been implemented into the JIT. Any game that uses said instructions will see a performance boost. Even better, by using a super-accurate software interpreter backed up by hardware tests as a guideline, many instructions were made more accurate over the course of the 4.0 era. It was very easy to simply fall through walls not too long ago.

One of our touted features that show just how much more accurate Dolphin has become is that hardware recorded replays in games like Mario Kart: Double Dash!!, F-Zero GX, Mario Kart Wii, and every other game we've tested with replay support now can be correctly replayed between Dolphin and console without issues.

In our previous release, if a title used full MMU emulation, that more or less meant it was not playable due to just how demanding these games were. One of the focuses of CPU emulation was to make these games playable, and many JIT optimizations targetted MMU titles. None more important than the Far-Code Cache, which greatly speeds up MMU games by cleaning up the instruction cache of little used code and keeping more important code cached. On top of that, Dolphin 5.0 can boot and play Rogue Squadron III: Rebel Strike thanks to better MMU emulation!


Star Wars Rogue Squadron III: Rebel Strike

Rogue Squadron III can stand toe to toe with the best looking games on the GameCube and Wii.


The kicker? All of the JIT optimizations allow Rebel Strike to run more than ten times faster than it would otherwise run. That's a pretty good performance gain, even if that still means it can only be run fullspeed on the best of modern computers.

3D Stereoscopic Output (See A Second Perspective for details)

Dolphin has had forays into 3D Stereoscopic output before, but it hasn't worked out very well. Using outdated methods that often relied on a stark loss of image quality (and ran at half the framerate!), 3D Stereoscopic Output was dropped shortly after the 4.0 release. Armed with the knowledge and documentation of modern 3D devices, Armada went through and reimplemented Stereoscopic output from the ground up. This time around, users don't have to choose between crisp colors and fluid framerate or stereoscopic 3D. Dolphin's new and improved stereoscopic 3D support can interface with Top/Bottom and Side-by-Side monitors, and in D3D will still work with NVIDIA 3D Vision.

Full ES_Launch Support

Like zFreeze, ES_Launch is another of those long-time features that has caused issues in the various games that use it. Thankfully, by the time 4.0 rolled around, things were mostly sorted out side from a few games. People trying to play Metroid Prime: Trilogy probably noticed that the difficulty and saveslot they wanted to use didn't matter; Dolphin would always load the default difficulty in the first saveslot. This meant you couldn't even get to Metroid Prime 2's multiplayer in Trilogy, since it would just load the single player. House of the Dead 2 & 3 Returns would only load House of the Dead 2, and Super Smash Bros. Brawl couldn't load the masterpieces on the disc. This was all because of ES_Launch support being incomplete; as a work-around to make things not just freeze, Dolphin would load the games with default parameters.

Dolphin 5.0 features full ES_Launch support through better reverse-engineering and understanding of the feature. This new implementation of ES_Launch is known to work in every single situation without causing any regressions and should be the end of ES_Launch problems in Dolphin unless we inadvertently break it again.


Revamped Netplay

Thanks to an active netplay community, we try our best to keep things up to date and working. Back in Dolphin 4.0, netplay was quite a thing to setup. Users would have to port-forward, sync all settings manually, and even if they did all that, there would be no warning if they did desync. Thanks to a very active community at smashladder for assisting in high volume testing, we've managed to pack in a ton of new features for netplay in Dolphin 5.0!

  • Dualcore Netplay: A new form of Dualcore called "fake-completion" was added. While it has lower compatability than single-core on netplay, it brings most of the speed of dualcore mode in a deterministic way.
  • Blank NAND Netplay: Without Wiimotes and saves on Wii netplay, it's left as a mostly useless feature. By disabling the NAND, users can at least use Wii Netplay with Wii games when they don't need to save or use Wiimotes. Enterprising users on smashladder have taken to playing Project M competitively on netplay, simply because it's lower latency than Nintendo WFC!
  • STUN Server: We realized that many users couldn't forward ports in order to play netplay, so, we now have an alternative. Dolphin's STUN server allows many users who either lack the ability to configure their router or the knowledge to forward ports to still host and play netplay sessions! While gaining 100% compatibility across all routers and networks is impossible, this should still work with most setups.
  • Settings Sync: Dolphin now syncs many settings that could commonly cause desyncs if they were different. They are only set during the netplay session, and will not permanently change any settings beyond that.
  • Desync Detection: If something is wrong and you do manage to desync, Netplay will now warn you that it has detected a possible desync. If users are using cheat-codes or any kind of modification to the game, this could be set off erroneously. But in most situations, the desync checker will detect if you've desynced before you even notice! This usually will show up very early on if something is setup wrong.

Audio Rewrites and Advancements (See The Rise of HLE Audio and The New Era of HLE Audio for an in-depth explanation)

Dolphin 4.0 marked a big change for audio in Dolphin: DSP-HLE was no longer a joke of a feature that barely worked. DSP-HLE and DSP-LLE both use the same audio interface, resulting in better audio emulation all around.

Since Dolphin 4.0, audio latency with both DSP-HLE and DSP-LLE has been reduced by over 80ms. That's around 5 frames in a 60 FPS game. Tons of games are playing audio for the first time regardless of settings, and DSP-HLE has been brought a lot closer to DSP-LLE, nearly matching it in compatibility with most titles.

The two biggest winners in the rewrites are Disc TracK (DTK) Audio and the Zelda Microcode titles. DTK audio is streaming audio off the disc, which is used for cutscenes in Starfox Adventures. Consider that DTK audio used to be asynchronous even on DSP-LLE and you'll quickly realize that was a problem. On both DSP-HLE, and DSP-LLE, DTK audio is now synchronized to emulation speed. While there were some initial growing pains with the feature, DTK audio's subsequent rewrite and fixes have been bugtested to work in all known cases properly!

Zelda microcode games were using Dolphin's ancient Zelda-HLE implementation still in 4.0. While it was better than old-AX-HLE audio, once the other rewrites were completed, Zelda-HLE games were left among the most broken on Dolphin! A full rewrite in the style of New-AX-HLE and synchronous emulation brings these games up to speed with near perfect HLE audio output!


WARNING: VERY LOUD.

After being reimplemented, things sound much nicer.


Override Emulated CPU Clock

One of the most versatile features of Dolphin 5.0 is the ability to override the CPU clock of the GameCube/Wii CPU. If you're lagging in a game due to a weak CPU, you can lower the emulated CPU Clock to trade emulator lag (and issues like audio lag), for full-speed with a lower framerate. Have a powerful computer? Raise the clockrate to remove emulated lag. In some games, this can turn a dynamic frame-rate game into a 60 FPS game. This feature is also a cornerstone of various 60 FPS patches available for users on the wiki and forums. This can also be used to get around various hangs in games like True Crime: New York City by adjusting things that would otherwise require (closer to) cycle accurate behavior in the CPU core for a particular scene.

Expanded Native Controller Support (See the Jan 2014 Progress Report, Hardware Review: Mayflash Dolphinbar, and Hey, Listen! Your Wiimote can speak now! for details)

Thanks to a reverse-engineering effort on Nintendo's GameCube Controller Adapter for Wii U, Dolphin can directly use it to interface with GameCube controllers! By using a specialized driver, users can just plug in the adapter, plug in controllers and go. Never worry about deadzones or improperly configured buttons ever again! To demonstrate this, F-Zero GX has a handle tool that shows controller accuracy...


F-Zero GX Calibration 360

X and Y should be zero. This 360 controller is not even close!

F-Zero GX Calibration Native

Native controller input is remarkably accurate.



On the Wiimote side, DolphinBar support brings ease of use to Wii Remotes. It's a built-in sensorbar/Bluetooth combo and can even be used on Dolphin's Android builds, bypassing limitations imposed by Android. Wii Remote Plus' and emulated Wiimotes also get the added bonus of proper Wiimote audio output without disconnects on Windows 8 and 10. If all of that wasn't enough, if a game for some reason disconnects a Wii Remote (such as an ES_Launch), Dolphin now can reconnect the Wiimote when the user hits a button on the Wiimote, just like on console! This eliminates annoying walks to the computer when playing with friends, especially in titles that repeatedly disconnect multiplayer Wiimotes when returning to the menus. Even more, users on Windows 8 and Windows 10 can connect Wiimotion Plus Wiimotes without any kind of special setup!


Real Wiimote Audio Demonstration


Last but not least, the Phantasy Star Online series supported controller that could only be described as awesome: the GameCube Keyboard Controller. This mammoth beast had a full ASCII keyboard integrated onto a gigantic GameCube Controller and is ridiculous as it is cool. Users can now simply configure their keyboard to act as the GameCube Keyboard Controller or with the Raphnet GameCube Adapter, can actually configure the keyboard. Unfortunately, the official Wii U adapters are unable to detect this controller on their official firmware.

Video Output Emulation (See Pixel Aspect Ratio Adjustment and Better Aspect Ratio Detection for details)

Dolphin 4.0 and earlier versions were relatively simple when it came to displaying the games. It had hardcoded values for outputting NTSC and PAL video modes and used those rather than emulating what the game was sending to Video Interface. This made things a bit awkward. Games on the GameCube and Wii aren't precisely 4:3 or 16:9, and many developers were well aware of this! One of the things done for Dolphin 5.0 is that it can now correct the aspect ratio to match how it would look on console.


Super Smash Bros. Melee

The green circle is a perfect circle for reference.

Super Smash Bros. Melee

Now Melee's shields are perfectly circular!


That's a relatively minor enhancement; there were much worse problems that had to be handled. Because Dolphin's actual timings were mostly hardcoded instead of trying to see what the game is actually doing, we ran into a ton of edgecases where game displayed incorrectly or would not render at all. In the case of Bakugan Battle Brawlers' Special Edition, it had an X region code (which rings up as a PAL region code in Dolphin 4.0,) while being an NTSC game. This caused it to run in PAL50/60 depending on whether the user was using PAL60 video modes. Dolphin now sets up Video Interface timings properly, allowing for better detection of video modes as well as actually polling the controller at the correct moment of the frame. This fixes various issues across many titles.

These fixes caused some regressions on weird video modes that Dolphin previously hacked around. This forced a rewrite that would allow Dolphin to support anything that the Wii can throw at the T.V.! The "Double Strike" video mode (240p) is used in some virtual console titles, while 960i isn't used by anything except select homebrew, but Dolphin can output both and everything in-between correctly now!


2020 Super Baseball

Of course, not all of these issues were subtle!

2020 Super Baseball

2020 Super Baseball and many VC titles use the double strike video mode.


Last but not least, Dolphin now has heuristics to try and detect what aspect ratio a game is using. This lets Dolphin automatically switch between 4:3 and 16:9 when a GameCube game's resolution changes. Getting into 16:9 in those games is as simple as entering their option menus and swapping. No emulator configuration necessary!


Switching between aspect ratios has never been easier!

Improved Audio and Video Dumping (See The October 2014 progress report entry for details)

It would have been really hard to show off all of the great things added throughout the Dolphin 4.0 era without the improved video dumping functionality. Audio and Video dumps now line up (most of the time,) and can be mixed effortlessly. While there are still some situations that don't work perfectly, and is missing a few features, we can finally dump video and audio from Dolphin without using third party programs!


Line-Width and Point-Size Fixes (See Line-Width/Point-Size Rewrite and Correct Perspective Divide in Line-Width Coordinates for details)

In Dolphin 4.0, line-width and point-size were only able to be emulated at minimum width in Dolphin's OpenGL backend. This meant a lot of line-width/point-size effects were either invisible or very hard to see. By implementing a geometry shader to emulate it (much like D3D already did), all backends are now able to properly emulate line-width/point-size effects!


Mega Man Network Transmission

With minimum width (which OpenGL could only do in 4.0) the effects are barely visible!

Mega Man Network Transmission

Fireman's attack finally looks like it has some teeth to it.



This correctness does result in a performance down in some cases on OpenGL, but as it's using the same implementation as D3D11/12, it's simply the price of actually emulating a feature. Dolphin 5.0 has better line-width emulation overall as well; Factor 5 and their Rogue Squadron titles found various bugs in our seemingly perfect implementation. This repairs various lines disappearing at certain angles in those titles in Dolphin 4.0.

Exclusive Fullscreen Support

Exclusive Fullscreen mode allows Dolphin more complete control over pushing frames to the monitor. This gives Dolphin much lower latency (up to 2 frames depending on window manager), and more consistent frametimings for games that require it. The best way to compare is to a lagging video where frametimings are inconsistent.


The flicker effect fails because frames are missing their window of opportunity.

With exclusive fullscreen, Dolphin can push every frame to the screen without issues.


Memory Card Folder Support (See the June 2014 Progress Report) for details.

The ability to use a folder as memory cards is one of those features that doesn't seem that important, but after using GCI Folders for a while the benefits are hard to leave behind. While it makes sharing saves easier, perhaps the greatest benefit is that your memory card will never fill up no matter how many saves you have!

Vertex Loader JIT (See the Jan 2015 Progress Report) for details.

By using a recompiler instead of an interpreter to load vertices, vertex intensive games will run much, much faster than before in vertex limited scenes. Games like Super Mario Galaxy 2, Xenoblade Chronicles, and other vertex heavy games will see bigger gains, but every game will see some drop in CPU usage.


VertexLoaderJITPerf.svg

EFB Copy to Texture Enhancements (See Scaled Partial Updates, Further Improvements to Partial Updates, and Paletted EFB Copies Implementation for details)

Store EFB Copies to Ram (aka "EFB to Ram") is a very strenuous setting that sometimes can limit what games run on what computers. A weak computer can't hope to run a game that requires EFB Copies stored to RAM. By expanding what EFB Copies to Texture can do, Dolphin can now run a ton of games faster without visual glitches while having the added ability to raise the resolution of those effects. New Super Mario Bros. Wii uses a new feature called Partial EFB Copy to Texture in Dolphin 5.0. This allows Dolphin to run the game nearly three times as faster while rendering effects such as the EFB Copies such as the coins at any resolution!


New Super Mario Bros. Wii

No matter your internal resolution, coins were always blurry and blocky

Super Mario Bros. Wii

But now they are crystal clear! AND they spin!



Another feature is Paletted EFB Copy to Texture support. This is used in a lot more games, such as Star Wars Rogue Squadron 2/3 (as if there were a feature they didn't use), The Legend of Zelda: Twilight Princess, and Mario Superstar Baseball. This allows the map in Twilight Princess to be rendered at any resolution, along with up a performance boost up to 400% on scenes that use the Hyrule Field Minimap Speedhack.

More Accurate Disc Timings (See The Angular Disc Speed Writeup for details)

While for the most part we've been trying to speed Dolphin up, the one thing we've had to slowdown is disc read timings. Most people don't like loading times, but being able to simulate the disc drive is a very important feature for speedrunning and preservation. Classic titles like Sonic The Hedgehog would be drastically changed without loading times. Have no fear, Dolphin has greatly improved loading times by actually fixing the fact we weren't even trying to simulate load-times on Wii in Dolphin 4.0 due to an oversight.

Better simulation of the disc drive would have long-term benefits. It would allow Dolphin to speedup disc transfer rates without breaking things for instance, as well as fix various instabilities in the emulator. Alas, despite our best efforts some games still cannot use Dolphin's accurate disc speed path.


Download

Dolphin 5.0 can be downloaded from our official website.


A Look Back

What did we think was going into Dolphin 5.0 when we released Dolphin 4.0?


Adding Macroblocks in the Dolphin JIT

While Dolphin's JIT has gotten quite a bit faster (nearly 2x over Dolphin 4.0!), Macroblocks weren't the reason why. Macroblocks haven't really been explored much yet, and with the GPU thread presenting most of the bottleneck in many games, it's not quite as important as it was in Dolphin 4.0. Despite that, this could be one of the next great optimizations just waiting to be implemented.


Better Detection of Busy Loops

Also known as "Better Idleskipping". Idleskipping lets an emulator skip emulating potentially costly CPU instructions used during a busy loop. There are tons of games in Dolphin (Such as the Metroid Prime games) that have busy loops that aren't detected by Dolphin. Considering just how big of an effect this could have, it's unfortunate that this hasn't been worked on too much yet. It's a low-hanging fruit that remains on the tree to this day.


State tracking in the GFX emulation

This is one of the primary reasons why the D3D11 backend has gained performance on OpenGL for some users. The D3D11/12 backends does have a state tracker, even if it isn't implemented for everything yet. This still should be moved to videocommon so that OpenGL and any other backends in the future will get these optimizations.


Second level FIFO

Another huge GPU optimization idea, but this one we didn't fully accomplish. Currently only the new D3D12 backend has a second level fifo. This is one of the reasons that D3D12 is so much faster in select situations that can cripple the other backends. By the next release we hope to have this ported to videocommon for all backends to use.


LibDolphin

libdolphin was a big idea around 4.0's release. Turning Dolphin into a shared library meant that anyone could write their own UI and call into Dolphin cleanly. Unfortunately, Dolphin's JIT stalled several attempts because a shared library requires a position independent executable, which the JIT does not support. The AArch64 JIT, on the other hand, does support PIE and could be used in a shared library. This is something that Dolphin could use to become more portable and useable in a variety of situations the current GUI simply doesn't allow.


Big Picture UI

This is something we never really got to on the PC version of Dolphin. On the Android front, The NVIDIA T.V. UI actually fulfills most of this, but since that relies on a proprietary toolkit, it cannot be ported to other devices. With a new front-end, a controller based interface would be entirely possible, but it probably isn't going to happen with WXWidgets.


Integer shaders

We actually got one prediction absolutely correct. neobrain's Texture EnVironment Fixes got merged alongside the decision to drop D3D9, which could not support integer shaders. This looming change was one of the main reasons that 4.0 needed to be released in the first place, because we didn't want to cut off a significant portion of users right before a release!

The payoff was well worth the cost with hundreds of games seeing large visual improvements. The performance impact was pretty rough at first, but optimizations throughout the emulator since then have smoothed things out quite a bit. For those that are stuck on Dolphin 4.0? We'll be waiting for you with all kinds of new features and enhancements when you do upgrade your PC!


Predictions for the next release?

Considering how accurate the 5.0 predictions were, let's give this another try for our next release. This should be considered more of a wishlist than any guarantees.


Ubershaders

Everyone hates shader generation stuttering. There are a implausible number of configurations the GameCube/Wii GPU can do, and Dolphin has to emulate each configuration with a shader. Generating these shaders take quite a while, meaning that Dolphin has to wait for them to get generated. This stuttering is often referred to as shader generation stuttering by everyone. By creating gigantic, but less efficient, shaders that Dolphin can fallback to while the faster shaders generate on the fly, we can eliminate this annoying behavior.


Virtual Reality Support

Proper Stereoscopy Support built an infrastructure into Dolphin that could be added onto for more impressive features. We're hopeful that with some tweaking and added infrastructure that Head-Mounted Displays can be supported to give users a chance to step foot in some of their favorite worlds of yesteryear. The Dolphin Team got past a huge blocker of this when we relicensed to GPLv2+!


Hybrid XFB Copies

Hybrid XFB would change Dolphin's XFB system to use the texture cache and behave like EFB Copies. We would have XFB Copies to Texture and XFB Copies to RAM. The bonus to this is that some games which previously needed RealXFB for displaying videos would only need XFB to Textures, resulting in a performance boost. The other benefit is that games that absolutely require RealXFB will only render low resolution for the parts of the screen that require RealXFB. An example of this is Super Smash Bros. Brawl's single player victory screens. The screenshot it takes of the screen uses RealXFB, but the rest can still be displayed at whatever resolution you're set to under HybridXFB.



Locking EFB/XFB Copies

Citra recently made the news with their feature known as Texture Forwarding. It was considered as a step up over Dolphin's EFB Copies to Texture because it can get higher compatibility with less of a performance loss when the accurate path is required. Unfortunately, Dolphin's JIT doesn't make something like this easy to implement. Locking would be a huge performance up in games that require the intermittent use of EFB or XFB Copies stored to RAM. We would no longer need a lot of the speedhacks that are currently available in the Graphics Settings/Hacks menu.


Scripting Support

This would give people better control over their games. Outside of uses in TASing and messing with memory values, people could outright modify games. One idea we've tossed around if this feature is merged is holding a "tournament" where people program an AI for Melee via the scripting interface, and the person that wins the tournament gets a prize! Alas, implementing this in a clean way is quite the challenge, especially when Dolphin's codebase is well over ten years old by now.


Accurate Enough Disc Timings for Metroid Prime TASes

This isn't a knock against the people who want to TAS Metroid Prime; the tricks and timings in this game require very accurate load times in order for everything to work. As an emulator, we strive to be as accurate as reasonably possible. It should be possible to simulate disc loading times to a good enough degree that Dolphin could be tuned to match that of the various disc drives that can run GameCube games. Maybe we'll have a slider from Purple GameCube (slowest) all the way to Red Wii (Fastest) someday!


Vulkan Backend

While our OpenGL backend is extremely capable, Vulkan provides a fresh start that could gain us more features in the future along with better support of various drivers. This should be extremely good for AMD and Mobile users, where OpenGL drivers have significant overhead.


Rewritten Netplay

While Netplay in Dolphin 5.0 is a selling point, we still want better. Lower latency on 3/4 player games should be possible, P2P netplay could yield lower latencies, and there's tons of features like IOSync that could negate the need for syncing savefiles in the future. Beyond that, fixing Wiimote Netplay and figuring out how to get the Wii NAND working on netplay are priorities.


Credits

We would like to thank everyone that helped make this release our biggest one yet!


Development team

There have been so many contributors between 4.0 and 5.0 that it's very hard to credit everyone. For a full list of contributors, please check here.

Developers with over 50 commits and/or featured in a Progress Report.

  • lioncash (Code Maintenance and Quality Expert)
  • Sonicadvance1 (Dolphin Android, AArch64 JIT, Graphics Backend Creator and Optimizer)
  • degasus (Graphics Backend Development and Optimizations, AArch64 JIT)
  • flacs (Vertex Loader JIT, many speed optimizations)
  • Armada (3D Stereoscopy Rewrite and Graphics Wizardry)
  • Fiora (Too Many JIT Optimizations, MMU Fixes)
  • JosJuice (Disc Reading Improvements, Gameini Improvements, General Fixes)
  • delroth (CPU Optimizations, FIFOCI, New Zelda HLE)
  • booto (VI Improvements, Audio Improvements)
  • comex (CPU Optimizations, Netplay)
  • phire (Core Timing Improvements, GPU Backend Improvements, Evdev Input Backend)
  • magumagu (ES_Launch, Software CPU Interpreter, CPU Emulation Optimizations, Disc Timing Improvements, DTK Audio Improvements)
  • skidau (Native GameCube Controler Support, Audio Emulation Fixes)
  • sigmabeta (Android UI Development, NVIDIA Shield T.V. interface)
  • RachelBryk (TASing Tools and Development, Netplay Improvements)
  • Jasper (Input Cleanups)
  • neobrain (Texture EnVironment Fixes)
  • shuffle2 (VS2015 move, Workarounds for VS Compiler Bugs)
  • Stevoisiak (INI updates, UI Improvements and Cleanup)
  • rohit-n (Makes sure we don't break non-PCH Builds)
  • Parlane (Various Code Cleanups and Fixes)
  • mathieui (Netplay Advancements)
  • Helios747 (netplay improvements, UI/UX improvements)
  • stenzek (D3D11/12 Improvements)
  • SIEePIEs5 (OSX BBA Support)
  • SeannyM (Android Fixes)
  • kayru (D3D11 Optimizations)
  • Linktothepast (Game INI Management and Updates)
  • MaJoR (Dolphin Theme, UI/UX advising)
  • LPFaint99 (GCI Folder Support)
  • Anti-Ultimate (OpenGL VSync Fix)
  • TotalNerd (Memory Card Timing Improvements)
  • KScorp (Depth Matrix Shader Fixes)
  • RisingFog (Audio/Video Dumping Rewrite)
  • crudelios (Improved Bounding Box Implementation)
  • slx7R4GDZM (D3D XFB Scaling)
  • konpie (Audio Interface Fixes)
  • TinoB (D3D Hardware Bounding Box Support and Scaled Partial EFB Copies)
  • NanoByte011 (Lighting Attenuation Fixes and zFreeze Assistance)
  • Ziek (Netplay Improvements)
  • SizzlingCalamari (DSP-LLE on Thread Fix)
  • endrift (OSXpert, FreeBSD fixes)
  • illuminatedgeek (About Dialog Tweaks)
  • AdmiralCurtiss (PAL Video Mode Improvements)
  • mirrorbender (VI Scaling Improvements and Aspect Ratio Adjustments)
  • spxtr (Named Pipes Input System on Linux)
  • jloehr (Real Wiimote Connectivity Fixes)
  • Jhonn (INI Cleanup)
  • hdcmeta (D3D12 Backend)
  • mmastrac (DVD Interface Fixes)
  • EmptyChaos (Frame Advance Fixes, UI Lockup Fixes)


Content Management team

  • JMC47: Dolphin 5.0 video, Article Writer (Primary)
  • Shonumi: Forum Administrator
  • Kolano: Wiki Administrator
  • Kostamarino: Game Specific Settings (GameINIs) Maintainer
  • MaJoR Forum Administrator, Wiki Administrator, Article Writer (Secondary), Article Editor
  • Jhonn: Wiki Administrator
  • delroth: Dolphin website Administrator/Maintainer


Translation team

Translation Manager - JosJuice

  • Arabic - mansoor
  • Asturian - Ḷḷumex03
  • Catalan - Katabi and Puniasterus
  • Croatian - Alberto_CRO
  • Czech - Zbyněk Schwarz
  • Danish - Hatsen, HiKaroline, and PhatcatDK
  • Dutch - Garteal, Sintendo, and TijmenW
  • Finnish - PPLToast
  • French - Pascal
  • Galician - anxo_cruel, enfeitizador, and mandruis
  • German - AdmiralCurtiss, Atalanttore, greybit, MexicanWithGun, michtrz, Minty123, muesli4, Neui, and Tilka
  • Greek - firespin and Kostamarino
  • Hungarian - Evin
  • Italian - Mewster
  • Japanese - DanbSky and Lioncash
  • Korean - bexco2010 and Siegfried
  • Malay - abuyop
  • Norwegian Bokmål - KHRZ
  • Polish - michtrz
  • Portuguese - 100tpt
  • Portuguese (Brazil) - Felipefpl, Jhonn, and Maldonny
  • Romanian - ArianServ
  • Russian - BFG1992, flashmozzg, Fremis, and PASAf
  • Spanish - Jambi, Katabi, Petiso_Carambanal, Puniasterus, and Swyter
  • Swedish - DolphinPhoenix and JosJuice
  • Simplified Chinese - cejhb, lxf2000, Sentret_C, and Zhenchao Zhang
  • Traditional Chinese - victor1justin, xf2000, and Zhenchao Zhang
  • Turkish - Mustafa Can
  • Welsh - TomosANTIGUATomos


You can continue the discussion in the forum thread of this article.

Next entry

Previous entry

Similar entries