Settings

Theme

New DirectX 12-to-Metal translation could bring a world of Window games to macOS

arstechnica.com

54 points by mkolassa 3 years ago · 20 comments

Reader

CaliforniaKarl 3 years ago

> In other words, don't expect Steam Deck-esque levels of compatibility with Windows games just yet.

Valve and CodeWeavers have done a ton of work to create Proton[0], the Windows compatibility layer that Steam Deck uses. Besides their own patches, they're relying completely on the foundation that Wine provides. And of course there's everyone behind Arch Linux (SteamOS 3), and Debian before them (SteamOS 1-2).

CodeWeavers did a lot of work on Proton[1], so it makes sense that they're also looking at macOS.

For me, however, I've almost completely abandoned macOS for games. I've got a Steam Deck, dock, and appropriate adapters so that I can use my monitor & sound bar. Logitech makes keyboards and mice that let you select which source you want to use, so it's now really easy to switch from computer to Steam Deck.

[0]: https://en.wikipedia.org/wiki/Proton_(software)

[1]: https://www.codeweavers.com/about/news/press/20220225

jsheard 3 years ago

The mention of MoltenVK implies this isn't DX12-to-Metal, but rather DX12-to-Vulkan-to-Metal. That's probably the best way to leverage existing open source work but jeez, it sounds like a house of cards.

  • ChuckNorris89 3 years ago

    That's thanks to Apple's courage.

    • pjmlp 3 years ago

      Hardly any different from game consoles.

      • ChuckNorris89 3 years ago

        Macs are sold as general purpose computers, not fixed function consoles designed to only run appstore select games.

        • pjmlp 3 years ago

          Hardly any different from Windows then.

          In case you feel like mentioning Vulkan, it doesn't come in the box, works thanks to plugging into OpenGL ICD driver model and via GPU vendors, not OS vendor, and it isn't supported in all scenarios where DirectX is.

          • ChuckNorris89 3 years ago

            >Hardly any different from Windows then.

            How so?

            • pjmlp 3 years ago

              DirectX is the official API, OpenGL and Vulkan only work because of backwards compatibility Microsoft never got rid of ICD ABI they introduced back when OpenGL in Windows NT was a thing.

              https://learn.microsoft.com/en-us/windows-hardware/drivers/d...

              That is how GPU vendor drivers expose OpenGL and Vulkan, via ICD, they aren't even supported on the Windows SDK, it is up to you to get the header files and libraries to link against the DLLs provided by the GPU vendors.

              From Windows SDK point of view, OpenGL 1.1 is what is shipped in the box.

              https://learn.microsoft.com/en-us/windows/win32/OpenGL/openg...

              Even the "OpenGL improvements" introduced in Windows 8 rely on DirectX 3D APIs, https://learn.microsoft.com/en-us/windows-hardware/drivers/d...

              There is no support for OpenGL/Vulkan on UWP, XBox, HoloLens, Win32 sandboxes, while OpenGL/Vulkan on WSL are exposed via a DirectX driver wrapper, similar to MoltenVK.

              • ChuckNorris89 3 years ago

                So very different then Mac then.

                • pjmlp 3 years ago

                  Mac uses own API, Metal. Windows uses own API, DirectX.

                  OpenGL is legacy on Mac. OpenGL relies on a legacy ICD ABI on Windows.

                  Vulkan uses MoltenVK on Mac. Vulkan either uses legacy OpenGL ICD ABI on Windows, or relies on DirectX 12 translation layer, while WSL relies on dxgkrnl, a VM host driver that translates GL/Vulkan into DirectX as well.

                  Pretty much alike.

          • kcb 3 years ago

            Microsoft doesn't make GPUs.

            • pjmlp 3 years ago

              Yes they do, XBox and Surface devices GPUs are done in collaboration with hardware supplieers.

        • musicale 3 years ago

          macOS never really had the ability to run Windows games directly.

          Either you ran a native macOS version/port of the game, or you ran a compatibility layer like Crossover, or you ran a Windows VM, or you rebooted into Windows using Boot Camp.

fwlr 3 years ago

I’m glad someone’s seriously working on this, and the CodeWeaver team are absolute guns who could pull it off better than almost anyone, but I’m still a little sad about this news since Apple work fairly closely with CodeWeaver - this indicates Apple has investigated doing this themselves and decided against it. Which means we won’t get something miraculous like Rosetta 2.

(I still hold out hope that one day Apple will release a translation layer that seamlessly and efficiently converts DirectX/Vulkan to Metal; the raw GPU power sitting in any given M1 or M2 laptop blows any integrated graphics laptop out of the water, competes with high-end discrete GPU gaming laptops, and the Ultra M1/M2s can go toe-to-toe with pretty much every PC GPU except the 3090 and up. So much potential…)

  • fwlr 3 years ago

    Barely a day later and it turns out they actually did do this, haha

WhereIsTheTruth 3 years ago

I wish they'd make a handheld console

  • favorited 3 years ago

    As in, a handheld device for which developers can publish games? Because they sell quite a lot of those.

    • WhereIsTheTruth 3 years ago

      I get what you mean, and yeah they already have it, it's called an iPhone, but there is a reason why I own a Nintendo Switch, an iPhone simply just isn't enough, and gaming on a touch screen isn't ideal, I can buy accessories.. but meh

      • kanwisher 3 years ago

        There are literally game pads that attach to iPhone like a switch

        • WhereIsTheTruth 3 years ago

          The physical experience is not the same, and the software experience is also not the same, a dedicated device would give proper signal to game developpers to make/target/re-release their premium games, rather than designing games to be played for few minutes on a touch screen

          That kind of accessories usually map physical buttons to touch inputs on screen, not idea

          Similar to movies, that's not because you can watch movies on your phone that you'll want to watch all your movies on your phone, a dedicated device is often what you want

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection