Blizzard Games Run Natively On M-1 But Not Battle.net Itself?

Title says it all. Why? Seems odd to overhaul the largest game to run natively on M1 then leave its launcher in the wind.

1 Like

Because the launcher isn’t exclusively WoW’s? The Apple Silicon port of WoW was probably a pathfinder project which may not apply to every product Activision/Blizzard makes.

That includes the launcher, which is itself a distinct product. It’s not a hard dependency, so there’s no rational reason to tie them together.

Same reason classic isn’t native on ARM yet.

There are some things that are coded more for Windows than the Mac side and getting those elements to convert to ARM isn’t as simple as it sounds.

In the grand scheme of things, the Battlenet launcher isn’t even required to run the game, it’s just a middle man, so it’s not the highest priority to update as it isn’t a game breaker.

ARM is not even officially supported yet. They gave you a ARM compatible version of WoW retail only. When it is officially supported, Battlenet and classic and TBC will also be ARM compliant. At this time, you are really in beta with ARM.

The reason Classic doesn’t have it yet is because its client was based on a version prior to Shadowlands’ client code. They’ve been two completely different forks since Classic launched. Because of this, all of the Intel specific code has to be replaced (again), and the code that remains has to be “safe” to run on ARM64. Unlike Intel’s architecture, ARM64 will literally halt entirely with illegal instructions. Intel’s architecture silently “ignores” most illegal functions and simply doesn’t execute them. This comes at the cost of some CPU cycles as such checks aren’t free from a resource perspective. ARM64 however, acts like nVidia’s GPU drivers. It will fail, often quite spectacularly, if the code isn’t made “safe” for the ARM64 platform.

Classic is divergent enough from Retail that it would be a whole lot of work to get it made ARM64 compliant. It may get done, and it may not. We got M1 support because of Blizzard delving into ARM64 for Windows, which has the same code requirements as Apple’s ARM64, minus Apple specific instructions naturally. Had it not been for this happy coincidence, there would likely not even be an M1 capable client. It certainly isn’t as simple as recompiling with the latest XCode as a “fat” binary, otherwise D3 would be M1 native as would all of Blizzard’s other games that are currently available on the macOS platform.

1 Like