Dolphin Emulator dropping 32-bit support, focuses on 64-bit

  • Thread starter Deleted-236924
  • Start date
  • Views 14,437
  • Replies 64
D

Deleted-236924

Guest
OP
VjWDx7h.png

With the 32-bit architecture falling behind and becoming less and less prevalent, certain bits of software are bound to drop support for it eventually.

This is what the Dolphin Emulator team did today, by dropping support for the 32-bit builds.

It's not just because 32-bit is becoming less common, however; part of the reasoning behind this decision was that the latest Microsoft Visual Studio Compiler doesn't support Windows XP. Unfortunately for XP, he's the last sibling of the Windows family to be primarily 32-bit, while his younger brothers Vista, 7 and 8 are designed for 64-bit. Along with 32-bits based processors dying out and 64-bit ones becoming more and more prevalent (since 2003, in fact), every day there are more reasons to leave 32-bit behind.

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 inevitable. Maintaining features is a balance between cost and reward. The cost being development time, maintenance, debugging, bandwidth, money and more, with the reward being a better, cleaner experience for our users. The reward was obvious for 4.0.



4.0-downloadstats.svg


Well over one third of our Windows downloads for Dolphin 4.0 were the 32-bit variant; a huge share of our userbase. Despite that, we still find ourselves at a crossroads just a few months later.



Why consider dropping 32-bit builds?

The Dolphin Emulator team is constantly searching for ways to improve the development pipeline. From the insane to the mundane, hundreds of ideas will come and go every year as for how to make things better. But the past few months have seen a reoccurring theme: 32-bit builds break, and many of the developers question its worth.



Windows XP has been unsupported for months

Dolphin has already dropped Windows XP support. With a little under 10% of our users still using the OS, Windows XP was a significant share of our users, but at the same time the team made a decision not to let any particular OS hold us back. The only reason for dropping XP support is because the latest Microsoft Visual Studio Compiler doesn't support Windows XP. The aging operating system's days were numbered simply by that, and once the move was made to C++11, there was no going back. The unintended side effect to that drop is that Dolphin no longer supported any operating systems that were primarily 32-bit. Vista, Windows 7, and Windows 8 are all designed for 64-bit.



Dedicated 32-bit processors are very outdated and cannot run Dolphin at playable speeds

On the hardware side of things, x86_32 processors died a long time ago. It's only thanks to Microsoft selling 32-bit versions of their operating system that any sizable number of Dolphin users need 32-bit builds at all! Since 2003 when x86_64 processors debuted, the newer architecture has proven itself far superior to the original specs it was based off of. Any computer that needs 32-bit due to memory constraints or processor limitations simply won't run Dolphin at usable speeds, so what use is there in supporting it? Any computer that can run Dolphin is already using a 64-bit processor.



Dolphin's 32-bit builds are not indicative of the Dolphin experience

Most programs can have 32-bit builds and 64-bit builds without trouble or more commonly host only 32-bit builds and let 64-bit users use it as well. For those programs, the benefits of 64-bit don't matter much at all, and the end users need not worry about any of it!

This is not true with Dolphin, where some games still do not run full speed on any existing configuration. Dolphin sees very important and observable benefits in its 64-bit builds! With a 64-bit address space, Dolphin can reserve a 4GB area that maps to GCN/Wii memory boosts performance greatly and, more importantly, 64-bit has twice as many registers. This brings the emulator much closer to the number of registers to that of the PPC processor. Plus, since 64-bit is large enough to fit the DSP's 48-bit registers, it can run DSP JIT (Just In Time) recompiler for a nice speedup. 32-bit has to fall back on the CPU-intensive interpreter functions for most DSP instructions. In addition to all of that, compilers even generate better code thanks to the ability to do 64-bit memory operations without needing special alignment.
In preparation for this announcement, we did thorough performance testing to compare 32-bit builds and 64-bit builds with no idea how they would actually turn out. While we knew that 32-bit was a little slower, the results were shocking.



32bitvs64bit-gametesting.svg


Maintenance

One of the more annoying aspects of 32-bit Windows support is that the operating system lacks critical features for development. This means that menial changes that work on other other platforms break it again and again. For Dolphin's Just In Time Compiler (JIT), that means making special code for 32-bit builds all the time. This is not only is frustrating, but also stunts development as it slows down developers and prevents them from undertaking projects in the first place!

Worse yet, there is a severe lack of testing on the 32-bit builds. For 100 revisions, there were a total of zero issue reports despite the fact that 32-bit builds were totally nonfunctional! This makes it harder for developers to figure out what broke the builds, and forces them to go back into old projects that were already considered complete.

There is also the case of compiling the builds themselves. Windows requires twice as many buildbots thanks to requiring 32-bit support, taking twice the space and using twice the processing power of our servers. To put it simply, it has become very difficult to maintain 32-bit builds. This even causes confusion among many users; according to advanced statistics gathered from the downloads page, more than 60 percent of the 32-bit downloads are done by 64-bit OSes. The majority of 32-bit users are 64-bit users needlessly using an inferior build!



aprilmay-downloadstats.svg


In Conclusion

32-bit support is one of Dolphin's oldest features. But just like D3D9 before it... times change. 32-bit has become a weight around all of our necks, slowing down users and developers alike. With the 32-bit userbase shrinking quickly, the builds becoming harder and harder to maintain and the benefits dwindling, the developers have decided to discontinue the 32-bit Windows buildbot, and cut away 32-bit support entirely. 32-bit ARM devices are not affected by this decision and will continue to be supported. For loyal users that are stuck on 32-bit Windows machines, the current builds are not going anywhere and will be archived permanently, and Linux is a free 64-bit operating system with full Dolphin support.

For any console, emulation progresses in stages. First is initial support, grasping at straws fighting for even basic functionality. Then comes playable games. As time progresses, accuracy and compatibility become the goal. And finally, it reaches enhanced emulation, where emulation is not only accurate, but improved upon through advanced features like netplay and HD graphics. In all other consoles that have been emulated, each of these stages was fulfilled by a different emulator. But for the GameCube and Wii? Dolphin has fulfilled them all. It is the freedom to change and grow that has allowed Dolphin to continue to evolve and grow in this manner. Shedding hindrances, cleaning code, attracting new talent; Dolphin excels at these things, allowing it to grow and evolve in ways no emulator before has ever achieved. Removing 32-bit support is just one more step on this journey.

:arrow: Source
:arrow: Discussion on Dolphin Emulator forums

Considering that 32-bit machines really weren't powerful enough to run Dolphin at a playable rate and that only 7.8% of the downloads for last April/May were 32-bit Windows, I say that this isn't a bad move if it allows them to spend more time perfecting the 64-bit build.
 

Taleweaver

Storywriter
Member
Joined
Dec 23, 2009
Messages
8,689
Trophies
2
Age
43
Location
Belgium
XP
8,087
Country
Belgium
I'm one of those 7.8%. The reason is that I was fiddling with a very low-end machine. The thing wasn't fast enough to properly run dolphin in the first place. A bit of a pity, but it's certainly the right decision.

But...I suppose that new is going to be about later today (depending on timezone)? I just noticed there still being a x86 windows version submitted five hours ago.
 

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
I'm one of those 7.8%. The reason is that I was fiddling with a very low-end machine. The thing wasn't fast enough to properly run dolphin in the first place. A bit of a pity, but it's certainly the right decision.

But...I suppose that new is going to be about later today (depending on timezone)? I just noticed there still being a x86 windows version submitted five hours ago.


I believe that was the last one, as the buildbot (or whatever it is they used to build the GIT revisions) is no longer being used. As for myself, I fear that Dolphin will become unusable on my current desktop.
 

Apache Thunder

I have cameras in your head!
Member
Joined
Oct 7, 2007
Messages
4,426
Trophies
3
Age
36
Location
Levelland, Texas
Website
www.mariopc.co.nr
XP
6,792
Country
United States
I have no issues with this. I've been using a 64-bit machine with 6GB of ram for almost 2 years and prior to that machine I had a 64 bit version of XP running on an old PC. So it's been a LONG time since I've worked with a 32-bit OS. I think the only machine I installed 32-bit version of Win7 on was my mothers PC in the bedroom. Mainly because it's an old socket 775 motherboard and only has 2GB of ram installed. It does support running 64-bit OSes though but it's certainly not a machine Dolphin would have worked with. :P

I say this is a good thing. They won't have to keep track of two different builds now and can just focus on making the single 64bit build better. :D
 

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
I have no issues with this. I've been using a 64-bit machine with 6GB of ram for almost 2 years and prior to that machine I had a 64 bit version of XP running on an old PC. So it's been a LONG time since I've worked with a 32-bit OS. I think the only machine I installed 32-bit version of Win7 on was my mothers PC in the bedroom. Mainly because it's an old socket 775 motherboard and only has 2GB of ram installed. It does support running 64-bit OSes though but it's certainly not a machine Dolphin would have worked with. :P

I say this is a good thing. They won't have to keep track of two different builds now and can just focus on making the single 64bit build better. :D


Such as tweaking the JIT core and help with speed improvement ;) :P
 

Apache Thunder

I have cameras in your head!
Member
Joined
Oct 7, 2007
Messages
4,426
Trophies
3
Age
36
Location
Levelland, Texas
Website
www.mariopc.co.nr
XP
6,792
Country
United States
Indeed.

I remember back when 64-bit use to be a niche market. But now it's finally getting to be the reverse. Just about all modern machines support RAM capacities well about the 3.5GB barrier of the 32-bit architecture.

Coupled with OEM companies shipping a 64-bit OS on most of their machines now, 32-bit has become the niche obscure OS that people don't worry about supporting as much. Besides even on slightly older machines, a 64-bit OS will run fine on machines using less then 4GB of ram, so there's really no reason to use 32-bit os anymore unless you got old hardware that doesn't have 32-bit drivers, but the market of people who keep 32-bit for that reason is quite small. :P
 

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
Indeed.

I remember back when 64-bit use to be a niche market. But now it's finally getting to be the reverse. Just about all modern machines support RAM capacities well about the 3.5GB barrier of the 32-bit architecture.

Coupled with OEM companies shipping a 64-bit OS on most of their machines now, 32-bit has become the niche obscure OS that people don't worry about supporting as much. Besides even on slightly older machines, a 64-bit OS will run fine on machines using less then 4GB of ram, so there's really no reason to use 32-bit os anymore unless you got old hardware that doesn't have 32-bit drivers, but the market of people who keep 32-bit for that reason is quite small. :P


You got that right. I haven't used a 32-bit OS in a long time, not since I switched over to Windows 7 Pro anyways. My machine can run most games on Dolphin very well, at least, for the time being. I hope we don't get to the point where the requirements are such that people have to get a Core i7 Extreme or a dodeca-core CPU with 32 GB DDR4 SDRAM ;)
 

Apache Thunder

I have cameras in your head!
Member
Joined
Oct 7, 2007
Messages
4,426
Trophies
3
Age
36
Location
Levelland, Texas
Website
www.mariopc.co.nr
XP
6,792
Country
United States
Lol. I have an i7 965 Extreme Edition Quad Core. Even though it's a first generation i7, it's still pretty kickass, so I'm probably set in terms of future Dolphin builds. The graphics card is the only weak point in my system and I can still upgrade that in the future and my motherboard can go up to 24GB of RAM if needed.
 
  • Like
Reactions: Deleted-236924

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
Lol. I have an i7 965 Extreme Edition Quad Core. Even though it's a first generation i7, it's still pretty kickass, so I'm probably set in terms of future Dolphin builds. The graphics card is the only weak point in my system and I can still upgrade that in the future and my motherboard can go up to 24GB of RAM if needed.


My motherboard can still upgrade to ridiculous amounts of RAM and a Core i7, but kinda hard to upgrade without a source of revenue :D :P I'm just hoping that speed changes won't be drastic to the point of near Bsnes levels.
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,321
Country
United Kingdom
Though not the first emulator to head down this path it might well be the first non debug/accuracy focused one to do so.

I have installed 32bit W7 on very 64bit capable machines but that is usually for legacy software or hardware reasons (quite a few very nice printers can be made to work, possibly by crowbarring Vista drivers in there, on 32 bit 7 where there is no chance of 64 bit).
 
  • Like
Reactions: kimotori

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,321
Country
United Kingdom
Give or take printers and industry specific stuff if you are limited by hardware then chances are your hardware is at best on the "can just about work" side of things anyway. Likewise according to the above it seems to be actual work for them to maintain a 32 bit build and things are demonstrably improved by going to 64, granted it seems to be the difference be 50fps and 60 something in the worst case and undetectable and undetectable to the human eye in better cases. However if that extra can be given over to filters then I would say go for it.
 
D

Deleted-236924

Guest
OP
Likewise according to the above it seems to be actual work for them to maintain a 32 bit build and things are demonstrably improved by going to 64, granted it seems to be the difference be 50fps and 60 something in the worst case and undetectable and undetectable to the human eye in better cases. However if that extra can be given over to filters then I would say go for it.
Maybe, but when games don't run at 60fps, it's not like most PC games where it does frame skipping, it causes actual slowdown (and, often, sound choppy-ness.)
I do believe there's a frame skipping option somewhere though.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: https://youtube.com/shorts/nUrYC-wHwzQ?si=CIF5SWwWIx4sXmqH