This would presumably let x86 windows games run on ARM hardware.
This is almost certainly meant for the next Valve VR headset, but ARM has so much better power efficiency than x86 that a future ARM based Deck would be a huge improvement to battery life.
Also see this tweet:
VR games that have already secretly pushed Android ARM builds onto the Steam Store are ran via Waydroid (androidARM to LinuxARM)
VR games that do not have an ARM build on Steam (windows x86) are being translated/emulated via ProtonARM and FEX
This is almost certainly meant for the next Valve VR headset
Based on what? Looks more likely to be Android to me. Or it could be an ARM Steam Deck.
ARM has so much better power efficiency than x86
x86 has pretty much caught up already if you look at the latest mobile chips from AMD and Intel.
Part of how they’re identifying that proton arm and steam Waydroid exists is that the tools are being used to test VR games uploaded to steam, or were uploaded in a batch of other VR assets.
I fully hope to see this apply to Steam Deck/Chromebooks/Android/etc, but right now any hints of these have been VR specific. We haven’t seen the Proton ARM before, but previous leaks about Waydroid have also all been VR related.
Intel claims to have caught up with the upcoming Lunar Lake series but still to be seen.
That may be too late for whatever new device Valve is working on as given the lead time for such devices they may already have committed to an architecture for devices next year.
Also running X86 games on Arm devices is not likely to be efficient. I doubt the energy efficiency of Arm chips would outweigh the overhead of X86 to Arm translation?
But it’s all speculation - even without hardware, getting Proton to work with Arm is good for steam regardless of any specific devices. For example it would allow steam to push the compatability tools onto Mac devices and even potentially mobile devices. Makes sense for Valve to do this without it meaning anything more that it being a god idea in itself.
Imagine someone can game on their Mac using ashi linux or heck even your phone
Winlator already does this on Android, for what it’s worth. Oblivion plays fine on my phone although touch input sucks.
As for games on Asahi, there’s box64/box86 to accelerate games (redirecting graphics APIs and such to native code).
You can already run apps made for foreign architectures by simply installing the right qemu package (not the virtual machine, the binary translator) and running the software using standard Wine. Conversely, you can also run Raspberry Pi software this way on normal PCs, which has proven very useful to me for cross compilation scenarios.
I assume Valve will take all of this tech and optimise it a bit more. If you’re on a MacBook, your biggest challenge will probably be driver support, which is advancing at a rapid pace, but I’m not sure if you can get maximum performance out of it yet.
Amazing! I hope I can buy a Linux on ARM Steam Deck someday. It should be more efficient, lighter, and smaller.
And perform terribly because it’d have to emulate x86 because there’s no native ARM games (for Windows).
There’s no way there’ll be an ARM steam deck, unless valve wants to build an android gaming handheld for some reason.
Perform terribly on modern AAA titles, sure, but that’s a tiny % of the total Steam library. A lot of people these days don’t even bother with new AAA titles, instead playing older games or indie games. I bet Valve knows this and is working on the ARM transition specifically because of this fact.
Which you said is a backward compatibility issue. Some games that are developed only for x86 or the DirectX API have performance issues, but other games that support cross-platform or cross-platform APIs like Vulkan do not have this problem.
An obvious example is the Nintendo Switch, which goes against your argument.
Because of backward compatibility, x86’s efficiency still can’t match ARM’s. That’s why I said games run on ARM would be more efficient, lighter, and smaller (when they natively support ARM).
If you have any doubts, just look at the Nintendo Switch.
DirectX is being translated to Vulkan in the background using dxvk already. And box64 exists for intercepting those translated Vulkan (and OS) calls and running them through native code instead.
There’s a performance hit to engine code to be dealt with, but on the graphics side these tools already exist. With Qualcomm producing ARM CPUs that run x64 software as well as some mid tier x64 CPUs using emulation, and with the Steam Deck already being a low spec machine, I don’t see why running Windows games on a Qualcomm Steam deck would have to be a problem.
And the second example is Rosetta 2 for gaming on ARM-based Macs. You mentioned that some emulators running x86 games (on ARM) are inefficient.
That’s the point: emulation is not the same as translation.
Translation is generally more efficient than emulation and can sometimes even match or exceed the performance of native execution.
Well, Steam and Proton both already run on top of FEX or Box64 on ARM Linux, but it’s nice to see an official effort from Valve.
Also, does ARM still have better battery life when all of the machine code has to be translated from x86? That adds a not insubstantial amount of CPU overhead, which does hurt battery life.
And perhaps most importantly, is there any ARM chipset out there that can deliver performance on par with the Steam Deck’s CPU (even after factoring in the overhead of the x86 JIT) at a viable price for a Steam Deck successor?
is there any ARM chipset out there that can deliver performance on par with the Steam Deck’s CPU
Yes, but they’re made by Apple.
does ARM still have better battery life when all of the machine code has to be translated from x86
afaik macos/rosetta is more efficient than native windows/x86, but that could be down to OS integration, or any number of confounding factors… i’d suggest though that x86 windows applications sometimes run better and more efficiently on alternative platforms, even with the translation layers - whether that’s down to the instruction set or a combination of factors
Also, does ARM still have better battery life when all of the machine code has to be translated from x86? That adds a not insubstantial amount of CPU overhead, which does hurt battery life.
No idea, and that’s a pretty good question. The again some games run better on proton through Linux than they do on windows, so the performance overhead isn’t that bad.
The world is getting a better place