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

  • Skull giver
    link
    fedilink
    17 hours ago

    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.

    • @Vincente@lemmy.world
      link
      fedilink
      1
      edit-2
      6 hours ago

      That’s a backward compatibility issue, which means some games developed for x86, Windows, or DirectX just can’t be translated without glitches. This means not every game developed for x86, Windows, or DirectX can be translated well on ARM.

      I said that ‘some games that are developed only for x86 or the DirectX API have performance issues’; I didn’t say ‘every game.’ I mean that games with native support or cross-platform support are certainly better than those developed only for DirectX, Windows, or x86.

      For example, many games developed exclusively for Windows/DX can’t be played on SteamOS. So how can you be certain that games developed for x86, Windows, or by DirectX would be well supported on ARM?

      And you mentioned Qualcomm. Fine, look at the Qualcomm X Elite SoC computers. Do they run x86, Windows, or DirectX software or games steadily, efficiently, and well? Do they have many glitches when running Windows and x86 software?

      • Skull giver
        link
        fedilink
        1
        edit-2
        5 hours ago

        Most games target DirectX, though, yet my Steam Deck is doing just fine. Targeting DirectX doesn’t impede running the games on Linux or on another architecture anymore thanks to decades of work by the Linux community.

        I’m sure there are edge cases where dxvk support isn’t working well yet, but the same is true for Vulkan games. One of the reason Windows drivers for GPUs are gigabytes in size is because they come packed with shades for games you probably don’t even own, because the shades game devs write aren’t all that good and companies like Nvidia rewrite them to perform well on their hardware.

        In my experience, dxvk is less glitchy than running games that target Vulkan using Wine or Proton. Some games don’t even work in Proton if you try to use Vulkan. I’m 100% sure that’s a Linux driver issue.

        The nice thing about using dxvk is that the output is platform independent, as long as there are Vulkan drivers. If a game runs glitchless on x64, it’ll run glitchless on ARM. Qualcomm’s desktop Linux support doesn’t seem very present (or no Linux users are buying them yet) so I can’t find any reviews of box64 on these new chips, but on Windows these chips run games like Tomb Raider and the latest Total War just fine at 80fps at 1080p (using the 35W model).

        The biggest challenge isn’t emulating CPU architectures, that’s a solved problem; it’s getting Windows games to work well on Linux, and for Qualcomm to release competent native drivers for their GPU. Especially the latter is the biggest problem at the moment, with Linux support not being finished yet and their Windows drivers sucking like Qualcomm software on Windows often does.

        My Android phone, a five year old mobile Qualcomm CPU with about 2GB of available RAM, runs DirectX games targeting x86 Windows just as well as any comparably performing Intel chip does. Layering box64+Wine+dxvk works perfectly fine.