this post was submitted on 21 Sep 2024
515 points (98.9% liked)

Steam Hardware

19711 readers
898 users here now

A place to discuss and support all Steam Hardware, including Steam Deck, Steam Machine, Steam Frame, and SteamOS in general.

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:
[Deck] - Steam Deck related.
[Machine] - Steam Machine related.
[Frame] - Steam Frame related.
[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.

If your post is only relevant to one hardware device (Deck/Machine/Frame/etc) please specify which one as part of the title or by using a device flair.

These are not enforced, but they are encouraged.

Rules:

Link to our Matrix Space

founded 4 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

you are viewing a single comment's thread
view the rest of the comments
[–] stormeuh@lemmy.world 11 points 1 year ago (3 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.

[–] xavier666@lemm.ee 4 points 1 year 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@lemmy.world 4 points 1 year ago (2 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.

[–] xavier666@lemm.ee 5 points 1 year ago (1 children)

A happy fuck Microsoft to you as well 🎩

[–] supersquirrel@sopuli.xyz 2 points 1 year ago

Hey, can I join in!

Fuck you Microsoft

[–] soulsource@discuss.tchncs.de 1 points 1 year ago (1 children)

They will likely write their own emulator, but don't forget about WSL. You can already run WINE on Windows, I wouldn't be surprised if you could also run FEX+WINE on Windows for ARM.

[–] stormeuh@lemmy.world 1 points 1 year ago (1 children)

I'm not that familiar with WSL, can it interface with libraries like DirectX or Vulkan?

[–] soulsource@discuss.tchncs.de 2 points 1 year ago

Me neither. I only (have to) use Windows at work, all my own PCs have been running Linux for decades...

I do know however, that WSL emulates most (but not all) Linux syscalls, so you can ran (nearly) all Linux programs on Windows - including WINE. There is also a driver in Mesa so that you can render 3D graphics from within WSL on any DX12 graphics card.

[–] milicent_bystandr@lemm.ee 2 points 1 year ago

Thanks for the explanation!

[–] soulsource@discuss.tchncs.de 2 points 1 year ago (1 children)

by intercepting syscalls and executing them directly

Not only syscalls. FEX and Box64 also allow using native libraries instead of emulating them. That leaves basically only the game logic to be emulated.

[–] stormeuh@lemmy.world 1 points 1 year ago

I didn't know that, thanks! That's actually very impressive, and given how efficient qemu-style emulators are, I wouldn't be surprised to see near-native performance despite a little bit of overhead from emulating game logic.