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
Edit: here’s gamingonlinux coverage of this info, includes some more information
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.
I got a M1 Pro MacBook a couple weeks ago. I’m astonished at how fucking powerful those thing are. An Intel laptop I had with similar specs would start screaming for mercy for any heavy Programming work I’d do. The MacBook just shrugs it off. Fans don’t even come on
keep in mind, for the longest time Intels processors were still on Intels fab. a huge chunk of the efficiency/performance gains was less x86 > arn and more Intel Fab > TSMC. even to a lesser extent, compare the snapdragon 8 gen 1 to the snapdragon 8+ gen 1. Samsung wasn’t as far behind tsmc (compared to intel) at the time and both designs basically are the same chip but implemented at two different fabs.
It also involves how manufacturers decide how to handle price performance. Most laptop manufacturers see any performance lost due to clocking it low bad for sales(so they agressively clock it higher for performance) causing louder fans. Apple takes the opposite approach, where they tune it for noise performance because they control what people see on their graphs (while being misleading, by essentially never including anything faster than it) and asking users to pay top dollar for the top tier fab runs (apple essentially has top cut priority at TSMC) so they always get to see the bleeding edge efficiency nodes/performance before anyone else does at the higher cost to them(which is then passed on to the consumer)
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.
True, but I feel like having to reroute x86 calls to ARM will produce more overhead than just Proton.
Depends on how it’s implemented. If they have a version of Proton that translates all x86 windows syscalls to ARM Linux, some operations could be extremely efficient.
There’s definitely got to be more overhead overall, though. Especially for devices with memory page sizes other than 4K, like the M-series Apple chips do (they use 16K as their page size), likely a VM will need to be sandwiched in there to ensure memory alignment. It’ll more fully be emulation and not just translation.
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
IIRC, the M chips also have a couple of specific hardware accelerators for some parts of x86 code that ARM devices would usually struggle with. That’s something that other ARM chips (presumably) don’t have.
It’s more like a built-in hardware emulation mode than anything else. Modern ARM chips use out of order execution as the default, whereas x86 uses ordered execution as the default. M-series and Snapdragon X chips have a little flag that can be passed to tell the hardware to run in in-order mode instead of out-of-order mode.
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.
It depends for the translation speed, if they only make a single device, they can likely do what apple does and improve their translation layer (FEX) to use specific instructions of the CPU they are using. Apples Rosetta is very efficient at what it does
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.
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.
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.
Apple’s M-chips have dedicated hardware to accelerate rosetta 2 (support for x86 memory ordering), please stop using rosetta2 as a show of what x86 on ARM can do, as it is a vertically integrated piece of software that is not indicative of the current market for anyone outside of apple.
Just take a look at windows on those new qualcomn chips - when they do the translation, the performance is underwhelming to say the least.
Yes, it will improve, but it currently does not exist outside of Apple.
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.
This myth that ARM is more efficient needs to die already. The ISA has almost no impact on efficiency, and especially no impact on gaming, where the GPU is the much more important thing.
I always figured the reason arm chips tend to be more effecient is that theyve been developped for phones
The architecture was originally developed for desktop PCs, but they discovered it was incredibly efficient at the time (late 80s, early 90s), so Apple partnered with ARM to develop it for the Newton.
The first commercial device with an ARM chip that I remember fondly was a Gameboy Advance.
Imagine someone can game on their Mac using ashi linux or heck even your phone
i mean better efficiency is one thing, but having “so much better power efficiency” isn’t that large, especially under load. Arms major advantage is efficiency while doing lighter workloads, which is kinda the antithesis of a gaming device would be.
What arm based designs excel at is if whatever workload utilizes some of the specific built hardware in them, which is why the modems and camera image processor on the snapdragon cpus are better than x86, because x86 designs dont really have dedicated hardware for those functions integrated fully(intel cpus do to some extent)
Arms major advantage is efficiency while doing lighter workloads, which is kinda the antithesis of a gaming device would be.
That’s important too for gaming devices. It’s great the the steam deck can get 6-8 hours on low power games like Stardew Valley. A significant problem with many of the windows competitors is that they don’t see significantly better battery life at low loads. The original ROG Ally gets about 1.5 hours in a game like Cyberpunk 2077, but only gets 2-2.5 hours in a game like Stardew Valley.
the lighter workloads isn’t like stardew valley levels workloads, it would be like watching a video level loads. Just being arm doesn’t outright make it that battery friendly, its like the non application use(e.g sleep, super basic app) where the battery level is better. The qualcomm laptop reviews kind of show that platform when its battery life is mildly better than last gen amd/intel chips and worse under gaming. Qualcomm rushed the release because they new they needed to release before AMD’s Strix Point and Intels Lunar Lake to make it look like they were more efficient. (X elite was on TSMC N4, Meteor lake was on N5/N6, Phoenix and Strix were on N4X, but they knew AMD would have the highest NPU performance had it released first.
the BIGGEST flaw that the arm based designs have that isn’t tegra is that their graphics drivers are inferior to both Nvidia and AMD, and graphics drivers play a huge role in whether something works correctly or not.