this post was submitted on 21 Sep 2024
509 points (99.0% liked)

Steam Deck

14609 readers
217 users here now

A place to discuss and support all things Steam Deck.

Replacement for r/steamdeck_linux.

As Lemmy doesn't have flairs yet, you can use these prefixes to indicate what type of post you have made, eg:
[Flair] My post title

The following is a list of suggested flairs:
[Discussion] - General discussion.
[Help] - A request for help or support.
[News] - News about the deck.
[PSA] - Sharing important information.
[Game] - News / info about a game on the deck.
[Update] - An update to a previous post.
[Meta] - Discussion about this community.

Some more Steam Deck specific flairs:
[Boot Screen] - Custom boot screens/videos.
[Selling] - If you are selling your deck.

These are not enforced, but they are encouraged.

Rules:

Link to our Matrix Space

founded 3 years ago
MODERATORS
 

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

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 65 points 2 weeks ago* (last edited 2 weeks ago) (3 children)

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?

[–] [email protected] 35 points 2 weeks ago (2 children)

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.

[–] MyNameIsAtticus 13 points 2 weeks ago (3 children)

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

[–] [email protected] 6 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

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)

[–] [email protected] 5 points 2 weeks ago (1 children)

AMD is on a much better process node than Intel, but their battery life still isn't as good as Apple's. Particularly under low to medium loads. My M1 MBP easily gets 12 hours of battery life under a real load. My AMD powered ThinkPad is closer to 7 hours, and my Intel machines get like 4, on a good day.

[–] [email protected] 4 points 2 weeks ago* (last edited 2 weeks ago) (4 children)

the thing is, people are attributing it to ARM, rather than how Apple handles their OS. its the sole reason why Snapdragon X Elite wasn't that great on Windows, because ultimately, the problem wasn't about x86 vs Arm, but it was about how windows handled low powered operations. If valve makes a piece of hardware that's arm based, they clearly aren't going to be using OSX for any reason. You can tell by the discussion because you can easily name which generation processor you run on a MBP, but fail to mention the cpu models for either the AMD nor intel powered machines and gives the aura of equivalent playing fields when it fundamentally wont.

Just because Apple with their heavily controlled OS space can make the transition to ARM work flawlessly for batterylife doesn't mean it applies to all other ARM devices. Arm definitely does some aspects better, but it's not by default better in every situation due to the nature of the environment that surrounds said hardware is. The power efficiency only exists if all applications are recompiled to target said hardware. For a gaming device, it's not going to be very useful because very few games that Valve would target have an arm based build. You get into the problem that emulators have. things like proton is a translation layer and suffers much less overhead (e.g why mobile phones can do switch emulation for instance(arm to arm based translation layer) but no phone remotely will do ps3 emulation (arm to ibm cell processor), despite console wise, being roughly the same in performance.

It's the sole reason why Apples dev kit for games doesn't run games like proton does(where it can legit run games better than original if its using an older API). Because architecture changes isn't just a translation layer, theres a layer of emulation to it, which while can be hardware accelerated if done right, is never 1:1 like a translation layer is.

Want to test how your MBP battery life is on a different environment not entirely tailored to Apple, run Asahi Linux for example and you will notice immediately that the battery life isn't the same. (asahi linux is a fedora based distro tailored for M series machines)

load more comments (4 replies)
load more comments (2 replies)
[–] datelmd5sum 8 points 2 weeks ago (1 children)
[–] [email protected] 13 points 2 weeks ago

Definitely doesn't have even close to the graphical horsepower

[–] [email protected] 11 points 2 weeks ago (1 children)

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.

[–] [email protected] 6 points 2 weeks ago (1 children)

True, but I feel like having to reroute x86 calls to ARM will produce more overhead than just Proton.

[–] [email protected] 4 points 2 weeks ago

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.

[–] [email protected] 5 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

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

[–] TheGrandNagus 12 points 2 weeks ago (2 children)

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.

[–] jose1324 4 points 2 weeks ago

X Elite has those same tricks

load more comments (1 replies)
[–] [email protected] 36 points 2 weeks ago (6 children)

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.

[–] BananaTrifleViolin 18 points 2 weeks ago (1 children)

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.

[–] [email protected] 6 points 2 weeks ago (1 children)

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

load more comments (1 replies)
[–] [email protected] 8 points 2 weeks ago

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.

[–] Telodzrum 4 points 2 weeks ago

Largest addressable market for Proton on ARM is Apple M-series devices.

[–] [email protected] 3 points 2 weeks ago

Steam for Android ready to play my PC games from my phone sounds awesome, not gonna lie.

load more comments (2 replies)
[–] Vincente 30 points 2 weeks ago* (last edited 2 weeks ago) (5 children)

Amazing! I hope I can buy a Linux on ARM Steam Deck someday. It should be more efficient, lighter, and smaller.

[–] Lemzlez 7 points 2 weeks ago (3 children)

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.

[–] chonglibloodsport 7 points 2 weeks ago (1 children)

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.

load more comments (1 replies)
[–] Vincente 5 points 2 weeks ago* (last edited 2 weeks ago) (4 children)

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.

load more comments (4 replies)
[–] Vincente 4 points 2 weeks ago* (last edited 2 weeks ago) (3 children)

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.

load more comments (3 replies)
load more comments (4 replies)
[–] [email protected] 17 points 2 weeks ago (1 children)

Imagine someone can game on their Mac using ashi linux or heck even your phone

[–] [email protected] 10 points 2 weeks ago (2 children)

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.

[–] [email protected] 3 points 2 weeks ago

yeah true i dont rlly have a mac but imagine gaming on apples m4 chips

load more comments (1 replies)
[–] [email protected] 14 points 1 week ago (2 children)

ARM based Deck would be a huge improvement to battery life. Don't get your hopes up too high. You will need an emulation layer like FEX of Box64, and unlike WINE those do have quite a substantial overhead.

It is impressive how far those emulators have come, especially since they got the option to use native libraries instead of emulated ones, but the game logic itself will always need emulation...

This doesn't mean it can't be done, it just means that the ARM CPU needs to be pretty fast to counter the emulation overhead, and that's why I have my doubts about the energy efficiency...

(Btw: I have tried running several AMD64 games on my A311D powered MNT Reform laptop with Box64. It's impressive how well the emulation runs, and how many games are actually playable already. However, I also encountered a lot of games that don't reach enjoyable FPS on that hardware. With a faster ARM chip though....)

load more comments (2 replies)
[–] [email protected] 14 points 2 weeks ago (1 children)

Exciting! I remember commenting about the next Steam Deck being ARM a couple months ago and a few people replied that it was unlikely haha

Hope this can work in Asahi Linux at some point too 👀

[–] PlasticExistence 9 points 2 weeks ago (1 children)

I could see a budget Deck with an ARM processor, but I still doubt the flagship model wouldn’t be x86-64

[–] [email protected] 8 points 2 weeks ago (1 children)

I don't think a budget deck is likely tbh. The non oled deck already goes for 250 on sales. To make a clear distinction the budget one would need to be <150. And I don't think that's feasible with all the other hardware necessary alone. Except making it a lot smaller which I don't think is a good approach.

load more comments (1 replies)
[–] [email protected] 14 points 2 weeks ago (1 children)

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)

[–] [email protected] 7 points 2 weeks ago (1 children)

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.

[–] [email protected] 10 points 2 weeks ago* (last edited 2 weeks ago)

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.

[–] [email protected] 14 points 2 weeks ago

The world is getting a better place

[–] [email protected] 13 points 2 weeks ago (1 children)

A part of me does hope that they'll hold off and release riscv products instead (headset and deck). I know box64 can already translate to riscv and I remember reading that FEX was working on it (android is also getting riscv support so waydroid should too?). Given their focus on linux it has to be on their radar

[–] [email protected] 6 points 2 weeks ago

In the shorter-term the issue is the lack of sufficiently powerful commercially-available RISC-V hardware for the level of gaming people expect out of a Steam Deck or VR headset, which ARM already has a number of SOCs capable of.

I don't doubt that the work will continue but Valve isn't likely to pour time or money into it until they think the hardware is there.

[–] [email protected] 12 points 2 weeks ago (2 children)

This would presumably let x86 windows games run on ARM hardware.

Doesn't that require something quite different?

Proton is improved (matured?) WINE, right? And Wine Is Not an Emulator - the point being it doesn't emulate hardware, it translates instruction sets. From for-Windows x86 to Linux x86. Can you do that cross cpu architecture?

[–] stormeuh 11 points 1 week ago (4 children)

Well, not exactly... WINE is a compatibility layer for syscalls between the x86 Windows API and (among others) the x86 Linux API, quite similar to how DXVK translates from DirectX to Vulkan.

What proton does is combine utilities like Wine and DXVK into a user friendly bundle, along with contributing substantially to the projects it bundles to make them interoperate well.

This looks to me like they want to bundle another utility, which does fast emulation of x86 user code on an ARM Linux system. Another commentator mentioned they are using FEX for this, which looks to me to do the same core task as qemu-user, but more focused on x86 to ARM and generally user-friendlier. That emulator could then be used to run x86 Wine on ARM.

The way qemu-user and FEX emulate one ISA on another is actually very cool btw. They realise massive speed gains by intercepting syscalls and executing them directly, instead of emulating a whole x86 Linux system.

[–] [email protected] 4 points 1 week ago (1 children)

Since Microsoft also wants x86 apps to work on their Qualcomm powered Windows laptops, can this project help Microsoft in some way?

[–] stormeuh 4 points 1 week ago (4 children)

No, not that much. The emulation of the syscalls are specific to Linux, so none of that is usable on Windows. They could reuse the emulator, but it seems likely they would write their own from scratch so they can keep everything closed source. Obligatory: fuck Microsoft.

[–] [email protected] 5 points 1 week ago (1 children)

A happy fuck Microsoft to you as well 🎩

load more comments (1 replies)
load more comments (3 replies)
load more comments (3 replies)
[–] [email protected] 6 points 2 weeks ago

I'd assume "FEX" in the last tweet in the OP is referring to this: https://github.com/FEX-Emu/FEX

[–] [email protected] 7 points 2 weeks ago

This is something I’ve always wanted from them ever since I learned that the current ways that emulate x86 use proton on top of a bunch of other stuff. Would love if this was able to be used on phones.

[–] acosmichippo 5 points 2 weeks ago (2 children)

this could be the biggest thing to ever happen to Mac gaming.

[–] Voyajer 5 points 2 weeks ago (2 children)

does rosetta 2 not already handle this scenario for macs?

[–] [email protected] 6 points 2 weeks ago (2 children)

AFAIK Rosetta deals with Intel Mac apps, not Windows. If this handles Windows games like Proton does… pretty big news!

[–] [email protected] 5 points 2 weeks ago

Apple has their own wine based tool called Game Porting Toolkit that runs windows games and uses Rosetta.

load more comments (1 replies)
load more comments (1 replies)
load more comments (1 replies)
load more comments
view more: next ›