ARM64 Support?

I'm still very much using x86_64 devices, but in the event I wanted to get an ARM 64 laptop at some point to use as a secondary device a dealbreaker would be no native ARM64 Opus as it's always running in the background and would kill battery life, not to mention the reports of issues under emulation.

Obviously native ARM64 support is a huge undertaking as all all of the undocumented hooks in the Windows API are going to be totally different. Given that it seems ARM64 is probably going to be more prevalent in coming years, I'm curious if there are plans for a native ARM64 version of Opus in maybe a few years.

We plan to, but ARM64EC, not ARM64.

ARM64 is already an obsolete platform on Windows. ARM64EC is what we will likely provide a native build for at some point in the future, assuming Microsoft don't deprecate and replace that as well by then.

ARM64EC is an improvement, since it allows processes to mix ARM and x64 components, which is essential with something like Opus that has to support third party shell extensions and viewers that won't all have native ARM builds. But it's telling that it is already replacing a platform that is so young.

Microsoft always do this kind of thing. They never get anything right the first time. :slight_smile: That is part of why we don't immediately jump on every new thing they do. (The botched hardware launch, where you still can't buy a dev kit, and ridiculous prices of all the laptop hardware options are another part of the problem, limiting both user and developer uptake and growth of the ecosystem in general.)

4 Likes

I learned something new today about ARM64EC. Thanks Leo! I agree, I'm not a fan of Apple but they tend to get things like this right the first time. Microsoft will do something like push UWP for years and then finally realize it sucks and then goes back to iterating on Win32 which was good all along. Hopefully they finally get things right with ARM this time, I think this is their 3rd attempt at it!

I'm glad there are eventual plans to support it, I certainly won't be buying an ARM device until Opus has a native build.

1 Like

ARM64EC should not make ARM64 obsolete, they should coexist.
x64 has not made x86 obsolete either, at least not yet. They coexist.

I would immediately buy a Windows ARM device (for development purpose), but a suitable offer which would meet my usage requirements does not exist (fanless and minimum 15 inch display).
Dev kit? Not for me! I only buy USABLE computers.
We are not in the infancy era of computing.
If you want to establish a new computing platform, then please provide decent devices matching existing devices in usability. Otherwise I'm not interested.

I did buy the Apple MacBook Air 15 a year ago for the same purpose, regardless of price, so that I can now support the JPEG Library on macOS. I see that it has currently the lowest price to date here (1249 Euros), so now would be a good chance for purchase.

The first batch of Windows ARM devices with Qualcomm Snapdragon X processor launched this year was a big disappointment, announcing a "MacBook Air killer", but utterly failing.
The Microsoft Surface Laptop 15 would be a good match to the MacBook Air, but it didn't happen.

Now Qualcomm is releasing a new processor model with fewer (8 instead of 12 or 10) cores, apparently for cheaper builds.

Yesterday Samsung has announced a new Galaxy Book4 Edge 15 model with such processor, but no mention of fanless.
Samsung is interesting because they are the reference in storage devices. They tried, but were not able to build computers to date.
The previously introduced Galaxy Book4 Edge 14 and Galaxy Book4 Edge 16 models were matches to the corresponding Apple MacBook Pro models.
So one could hope that the new 15 inch model would match the corresponding MacBook Air, but this does not seem to be the case. The aim seems simply to provide a cheaper model in the lineup.

I have found an analysis why the new Qualcomm processor will probably not allow fanless builds either:
They simply cut off the efficiency cores from the larger models, so what remains are 8 performance cores.
The current M2/M3 processors in the MacBook Air have also 8 cores, but among them are 4 efficiency cores, beside 4 performance cores. This is one reason for the lack of efficiency of the Qualcomm equipped machines.

Thus, we probably will have to wait longer for a decent Windows ARM device...
I'm not sorry, because I'm happy with the available options on the mature platforms.
My interest for Windows ARM is only for development purpose, and ARM64EC and ARM64 platforms are supported by the latest JPEG Library release as far as is possible under the given circumstances.

Regards
Guido
JPEG developer

They coexist, but if we had made an ARM64 build of Opus it would now need to be scrapped and have been a complete waste of time and extra complexity, as it makes no sense next to ARM64EC. Same as x86 builds no longer make sense for anyone to make (but those at least had a reason to exist for a while).

ARM64 is an obsolete / legacy thing now, at least for software that needs to work with third party components.

1 Like