Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I agree, I don't think it would be productive for the Wine team to support Metal. I do wonder how feasible it would be for MoltenVK [0] to be supported instead.

[0]: https://moltengl.com/moltenvk/



Wine on macOS can already use MoltenVK to expose Vulkan to Windows apps, CrossOver uses this with DXVK to support D3D11 games.


Double translation especially on a lower end hardware doesn't make it a good experience I bet. Linux is a much better option for gaming.


It is surprisingly solid, I have tested multiple Windows games on M1 MacBook Air through Crossover and the only one that had issues was Outer Wilds - its engine (Unity) uses geometry shaders for GPU skinning and Metal has no support for those.

They could be emulated using compute shaders, but MoltenVK does not do this at the moment. Animations work properly inside Windows VM through Parallels, so I guess this is what their proprietary driver does.

Apart from that I played Witcher 3, Sekiro and Dark Souls through CrossOver with no issues and very solid performance on basically the weakest ARM Mac that will ever exist.

But I of course agree that Linux is much better option for gaming.


> I have tested multiple Windows games on M1 MacBook Air through Crossover

So you had x64 binaries calling a DX API that called a Vulkan API that called a Metal API all on top of a JIT translation layer to ARM on two month old hardware and it worked well?

That’s fucking incredible, man.


I don't have a mac anymore, but a few months back I was using crossover on catalina, and can confirm that the DX11 translation works well. I can believe that even on Rosetta it'd still work surprisingly well.


Quinn from snazzy labs got the Witcher 3 running on an m1 MacBook Air at a blazing 40fps!

Absolute insanity how well tooling has evolved.


On what settings?


> lower end hardware

> M1 MacBook Air

I think you may have missed the point :P


I'd still consider it lower end when gaming is concerned. It's no match to a CPU + dedicated GPU set up when both are high end.


The World Of Tanks wrapper works fine for me on Big Sur with decent frame rate, not sure exactly how the GPU emulation is done however.


Sounds interesting. So besides translating calls it also emulates the CPU? How does it run x86_64 games like The Witcher 3 on ARM?


macOS on M1 provides an x86_64 emulator called Rosetta 2.


These low level graphics API wrappers have so far proven to have very little overhead. Probably because metal, vulkan, and dx12 are a lot more similar than opengl and dx9 were.


There’s also the fact that they require a lot fewer function calls to perform the same work, so what overhead there is from each call doesn’t add up as much as it used to.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: