Obituary for 32-bit

obituary-header.jpg

Ten years ago Dolphin was a very limited program designed to run in only one environment. It was a 32-bit Windows application that required Direct3D 9 with no alternatives. A lot of things have changed since then as Dolphin has expanded its goals. The emulator has become much more robust over time with support added for 64-bit Windows, Linux, Mac OS X, FreeBSD, and even Android phones and tablets!

Sometimes though, changes must be made. Some choices require months of preparation, discussion, examination, while others are ...

ادامه مطلب

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

Dolphin Progress Report: March and April 2014

Progressreportheader-april2014.jpg

The development cycle for Dolphin is a fairly weird and largely inconsistent process to those peering in from the outside. There are gigantic leaps with huge merges such as the tev_fixes_new merge we recently reported on, but those tend to be the exception. While it is great to have big articles on huge changes, those smaller changes are just as important for the emulator, often adding features and improving the user experience. The Dolphin Progress Report is a monthly update highlighting some of the improvements that keep the emulator moving forward.


ادامه مطلب

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

Pixel Processing Problems: On the Road to Pixel Perfection

The old name was better



The GameCube GPU is a complex, tight-knit piece of hardware with impressive features for its time. It is so powerful and so flexible, it was used unmodified within the Wii architecture. For a comparison, just imagine a SNES running with an NES's graphics system. This is completely unheard of, before or since. The GameCube is a remarkable achievement of hardware engineering! With its impressive capabilities, emulating the GameCube's GPU has been one of the most challenging tasks Dolphin has ever faced.

As well as ...

ادامه مطلب

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

Hacked Up: The Vertex Streaming Hack

Update: There is an issue with the Nvidia drivers that kept buffer storage from being utilized properly on Windows: they do not report the driver version. Since the Linux version of the driver reports its version correctly, the Dolphin devs assumed that the nvidia drivers would report it and used a version check to make sure ARB_buffer_storage was only utilized on drivers that actually support it. Because of this issue, even the latest drivers that support the function failed the version check and Dolphin didn't use buffer_storage on Windows. And thanks to an unrelated bug discovered later, the lack of buffer_storage wasn't detected in the initial testing. As of 4.0-722 the version check was removed and buffer storage is confirmed to be working correctly.

Unfortunately, that version check was there for a reason. Some driver versions tell Dolphin that they support buffer_storage, but actually don't. Any user caught in that situation will encounter a blackscreen. If you do, update your drivers.



One of the constant struggles in modern emulation is the battle between performance and accuracy. Throughout Dolphin's history, developers have added various tricks to get more performance out of computers - one of them being the Vertex Streaming Hack, formerly known as Hacked Buffer Upload. It drastically improves OpenGL performance on Nvidia GPUs. However, as of 4.0-615, the Vertex Streaming Hack has been removed from Dolphin.

ادامه مطلب

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

An Old Problem Meets Its Timely Demise

The Legend of Zelda: The Wind Waker is one of the most popular Gamecube games, if not Nintendo games, in existence. Its mixture of an open world, sharp dungeons, and an inventive art style turned heads more than ten years ago when it was released. Dolphin has had its share of problems with Wind Waker, but none could be so frustrating as its mishandling of the heat distortion.

ادامه مطلب

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

Dolphin 4.0.2 Release Announcement

One month after the 4.0.1 release we're releasing the maintenance release 4.0.2. It turned out that some critical regressions had slipped into the 4.0 release due to the major changes linked to the wii-network branch and the global user directory changes.

In particular, one of the fixed issues was related to incorrect usage of wxWidgets and caused various problems with general Dolphin usage on Windows systems with Unicode characters in their user name (e.g. "François" or "あいうえお").

Some rather technical issues caused multiple games to stop booting or to freeze randomly. We've had multiple issue reports ...

ادامه مطلب

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

Dolphin 4.0.1 Release Announcement

After a somewhat large delay we're releasing a 4.0.1 release with single core crashes fixed and some other bugfixes.

Changes:

  • Fixed single core mode crashes in 64 bit Windows builds
  • Fixed missing music in Super Monkey Ball 2
  • Added missing DirectX runtime installer files
  • Fixed some graphics issues for Metroid: Other M, Skies of Arcadia and Call of Duty: Black Ops
  • Fixed various other minor issues

At the time of writing we only have compiled Windows builds. OS X and Linux users will have to compile the source themselves (stable branch, 4.0.1 tag) or stay with their current ...

ادامه مطلب

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

D3D9: Why It's Not a Part of Dolphin's Future

D3D9: Why It's Not a Part of Dolphin's Future

As many people have noticed, revision 4.0-155 removed D3D9 as a video backend, leaving D3D11 and OpenGL as the sole hardware backends in Dolphin. For the longest time, D3D9 was considered Dolphin’s fastest backend and was a favorite of Windows users. But then, why would it be removed?

While it was enjoyed by users, it was a source of endless frustration for the developers. D3D9 is inherently flawed, and working around its problems wasted time and slowed development. With D3D9 removed, the developers can focus their effort on making the emulator better instead of pandering to the ever growing demands of a flawed backend. This is why the D3D9 backend was removed.

D3D9: Inherently Flawed

Dolphin's D3D9 backend was mostly known for its speed. On AMD and Integrated Graphics cards, it is by far the fastest backend. But Direct3D9 is very old; it was released in 2001 and received its last update in 2004. Its age means that many modern features are simply not available for it, features that Dolphin needs for GameCube and Wii emulation. And that's where its speed came from. The D3D9 backend was as fast as it was because it simply didn't emulate certain effects. All kinds of modern functions are simply not possible in D3D9.

ادامه مطلب

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

Ten Years of Dolphin

Video by Justin Chadwick with editing by MaJoR and neobrain.

You can also download the video in high resolution and 60 FPS.

ادامه مطلب

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

Dolphin Emulator and OpenGL drivers - Hall of Fame/Shame

Dolphin Emulator and OpenGL drivers - Hall of Fame/Shame

In light of the recent announcements by NVIDIA and AMD in support of Linux for their graphics drivers, we would like to share with the world some of the experience we had developing our open source project, Dolphin, a GameCube and Wii emulator for Windows, Linux, Mac and recently Android.

At the beginning of this year, after the successful release of Dolphin 3.5, Markus Wick (degasus) and Ryan Houdek (Sonicadvance1) started working on a rewrite of Dolphin's OpenGL backend in order to be compliant to the OpenGL ES 3.0 standard. While this rewrite was needed for other reasons (it provides the foundations for very cool optimizations), compatibility with mobile devices and the future Android port of the emulator (now in beta) was one of the key goals. This rewrite was merged into the main Dolphin codebase a few months back and started to be used by tens of thousands of Dolphin users, either on OS X and Linux where it is the only viable graphics backend, or on Windows where it is available alongside our D3D11 graphics backend.

Sadly, using recent, advanced OpenGL features also meant we got to discover how bad some graphics drivers actually are at doing their job. It turns out very few applications use some parts of the OpenGL standard we need to rely on to accurately emulate a GameCube GPU. More than that, on Android, OpenGL ES 3.0 support is extremely recent and only a couple applications on the Play Store use ES 3.0 features.

Here is basically our hall of shame of graphics drivers, sorted by the number of issues we found, how hard it is to report issues to the company and how many bugs were actually fixed.

ادامه مطلب

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

آرشیو سالیانه