New DirectX 12-to-Metal translation could bring a world of Window games to macOS
arstechnica.com> 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.
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.
That's thanks to Apple's courage.
Hardly any different from game consoles.
Macs are sold as general purpose computers, not fixed function consoles designed to only run appstore select games.
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.
>Hardly any different from Windows then.
How so?
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.
So very different then Mac then.
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.
Microsoft doesn't make GPUs.
Yes they do, XBox and Surface devices GPUs are done in collaboration with hardware supplieers.
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.
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…)
Barely a day later and it turns out they actually did do this, haha
I wish they'd make a handheld console
As in, a handheld device for which developers can publish games? Because they sell quite a lot of those.
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
There are literally game pads that attach to iPhone like a switch
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