태그 보관소: qualcomm

Dolphin Progress Report: July 2018

On July 13th, 2008, Dolphin went open source, now just over ten years ago. While it could be easy to drift off into how much things have changed... there's one particular feature that has never quite lived up to the hype despite debuting that very same year - netplay.

As surprising as it may sound Dolphin Netplay has been around since the emulator went open source. For roughly a decade, users have tried their hand at taming the beast of synchronizing multiple instances of a GameCube and Wii despite their relative complexities. Netplay allows users to run the same instance of game on multiple computers by having two or more emulators in the exact same state, only transferring inputs between one another. By staying in lockstep like this, theoretically the emulators' states will never diverge assuming perfect determinism. This would allow people across the world to play a game together, even if it only featured local multiplayer on the console.

The problem has always been attaining that determinism. Back in the early days of netplay, it didn't especially matter what settings were used; Dolphin wasn't deterministic enough to stay in lockstep for very long. Then in the early days of the 3.0 era, it was finally possible to stay synced - if you were willing to sacrifice audio and performance. Early netplayers would hack up Dolphin to reduce requirements with 30 FPS hacks to Super Smash Bros. Melee, hacks to LLE audio to make it slow down less during attacks, and much more.

Despite the stutters and desyncs, some serious Melee players saw the potential and kept with the project. It wasn't until New-AX-HLE Audio (part 2) hit Dolphin that audio was both performant and deterministic enough to use in netplay. By the time Dolphin 4.0 rolled around, netplay had become a staple for Melee users and could be used by advanced users willing to suffer through some annoying quirks.

In the last few years, a focus has gone toward adding highly requested features to make netplay easier to use. Dolphin's STUN service allows some users who cannot port-forward play on netplay without issues, saves can be disabled to make synchronizing party games easier. But the one constant is that despite all these advances, simply getting netplay to work was a chore and crashes were common even if you did everything right.

Getting netplay into a more user-friendly state has been quite the process. In July, we saw some of the most drastic changes to netplay that we've seen in the past couple of years! Emulated Wii Remotes also saw huge usability improvements and some non-NVIDIA Android devices will finally be able to use Dolphin's Vulkan backend. If that wasn't enough, spycrab0 delivered some very big improvements to the DolphinQt GUI to give a new way to display your favorite games in the gamelist. Let's not delay any longer, please enjoy this month's Dolphin Progress Report.

계속 읽기

이 기사의 포럼 쓰레드에서 토론을 계속할 수 있습니다.

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.

계속 읽기

이 기사의 포럼 쓰레드에서 토론을 계속할 수 있습니다.