Live data from Hacker News

Vulkan1.3 on the M1 in one month

rosenzweig.io

241–250 of 372 posts

Re: Vulkan1.3 on the M1 in one month

#241
post #7
post #4

Earlier quoted context omitted.

There will be a small bit of irony if the gaming experience on Asahi ends up easier and more straightforward than MacOS. Really just drives home how big of a mistake it was ignoring Vulkan for the past decade on Apple's behalf, but lord knows they won't admit that until it's too late.

Vulkan would likely not really have helped macOS gaming in any form. I consider it a red herring that people point to. The number of games that run natively on Vulkan is negligible. The number of games that run on Metal by comparison (natively) is orders of magnitude higher. If we're ONLY talking about the ability to use Proton, Apple does now have Game Porting Toolkit that does effectively the same thing with compar…

>The number of games that run on Metal by comparison (natively) is orders of magnitude higher.

You mean iOS games?

Re: Vulkan1.3 on the M1 in one month

#242
post #33

I wonder if this effort to add Vulcan to Linux and then translate DirectX in Asahi Linux would impact Apple's dream of landing AAA games on Apple Silicon. Apple would like AAA developers to port their AAA games over to Metal so that the game has one code base but can run on iPhones, iPads, Macs, and the Vision Pro. Perhaps Mac gamers will install Asahi Linux in order to play AAA PC titles.

Apple already released the Game Porting Toolkit.

For some reason I'm completely unable to find its license through Google (I swear I used to be able to find this sort of stuff with search engines...); but I remember it being extremely prohibitive, to the point where even using it for personal use to play Windows games is illegal. It's only for use by game developers as a tool to help them on the road to port their games to macOS.

Re: Vulkan1.3 on the M1 in one month

#243

Earlier quoted context omitted.

Vulkan probably wouldn't help macOS gaming from a users' point of view, but it sure would be nice for us engine developers. There aren't many Vulkan games , but the big 3 non-in-house game engines (Unreal, Unity, Godot) are all committed to supporting Vulkan in addition to Metal, so we (collectively, the engine dev community) currently have to support both. Dropping Metal would reduce the amount of engineer time spen…

Interesting point of view that could also be the other way around, Vulkan support being a hidden tax for the love of open source and free software rather than something really useful the market needed on top of others APIs / GPU architectures / platforms, pushed by a subset / minority of developers more ideological than practical grounded developers who accept that competition of private standards will bring out the…

>The Apple Metal platform surely is customized to the needs of Apple, its devices and its users ultimate needs, in a way Vulkan will never be.

Maybe Metal is customized to Apple's needs but how is it customized to Apple user's needs? One thing is for sure, had Apple been using Vulkan, the porting process to macOS would have been much easier.

Re: Vulkan1.3 on the M1 in one month

#244

Something crashes, it's _never_ a compiler bug ... April 16 Oh, it actually is a compiler bug! Can confidently say I've never experienced one in my career, but at some level of abstraction I guess it's less rare to find them.

I mean she wrote the compiler didn't she? At least the register allocator part

"It's never a compiler bug" doesn't really apply when it's your own work-in-progress compiler you're testing...

Re: Vulkan1.3 on the M1 in one month

#245

Earlier quoted context omitted.

It feels unlikely. Much smaller companies (Broadcom, Qualcomm) have no trouble writing compliant Vulkan drivers (let alone singular people), so I find it hard to give Apple the pass here. Assuming good faith on their part, Vulkan should be available; or at least some kind of cross-platform API target. Otherwise people are just going to ignore Mac and keep focusing on DirectX, like the status quo. Vulkan is everyone's…

Metal allows Apple to squeeze that extra performance out of their devices. They have full control over, and can implement whatever they need to deliver Apple Vision Pro for example. With Vulkan, they would have to wait for a committee to approve required changes, and still they could not probably optimize it to match their GPU an CPU hardware profiles in such an efficient way. And not least at all, to optimize the de…

>Metal allows Apple to squeeze that extra performance out of their devices. They have full control over, and can implement whatever they need to deliver Apple Vision Pro for example.

That doesn't stop them from implementing both Metal and Vulkan.

Re: Vulkan1.3 on the M1 in one month

#246
post #4
post #2

Very impressive work, and a great testament to the value of shared, iterative and open components. I'll be curious how long it takes Proton to be ported, though I suspect even with an optimal Vk implementation, many games will run terribly due to the difference in GPU architecture + arm translation overhead + proton itself (however negligible). Still, I remain optimistic that more games will target unified memory and…

There will be a small bit of irony if the gaming experience on Asahi ends up easier and more straightforward than MacOS. Really just drives home how big of a mistake it was ignoring Vulkan for the past decade on Apple's behalf, but lord knows they won't admit that until it's too late.

Supporting a different 3D API is really not the complicated or time consuming part of porting a game to another platform, especially when the target API is Metal.

The poor game support on macOS is a mix of Apple apathy towards gaming and the low potential sales numbers.

Also, of the few new Vulkan apps being released (a whopping 9 in 2023), most actually only support a single platform:

https://carette.xyz/posts/state_of_vulkan_2024/

Apple also offers a D3D12 porting toolkit now (basically D3D12 running on top of Metal, same thing like Proton is D3D running on top of Vulkan) which business-wise makes a lot more sense than native Vulkan support since there are many more D3D12 games than Vulkan games: https://developer.apple.com/games/

Re: Vulkan1.3 on the M1 in one month

#247
post #4
post #2

Very impressive work, and a great testament to the value of shared, iterative and open components. I'll be curious how long it takes Proton to be ported, though I suspect even with an optimal Vk implementation, many games will run terribly due to the difference in GPU architecture + arm translation overhead + proton itself (however negligible). Still, I remain optimistic that more games will target unified memory and…

There will be a small bit of irony if the gaming experience on Asahi ends up easier and more straightforward than MacOS. Really just drives home how big of a mistake it was ignoring Vulkan for the past decade on Apple's behalf, but lord knows they won't admit that until it's too late.

>Really just drives home how big of a mistake it was ignoring Vulkan for the past decade on Apple's behalf, but lord knows they won't admit that until it's too late.

Even if Apple supported Vulkan that doesn't mean AAA games would be ported to Mac soon. AAA require beefy GPUs and Apple silicon isn't going to match Nvidia.

Re: Vulkan1.3 on the M1 in one month

#248
post #7

Earlier quoted context omitted.

Vulkan would likely not really have helped macOS gaming in any form. I consider it a red herring that people point to. The number of games that run natively on Vulkan is negligible. The number of games that run on Metal by comparison (natively) is orders of magnitude higher. If we're ONLY talking about the ability to use Proton, Apple does now have Game Porting Toolkit that does effectively the same thing with compar…

Vulkan probably wouldn't help macOS gaming from a users' point of view, but it sure would be nice for us engine developers. There aren't many Vulkan games , but the big 3 non-in-house game engines (Unreal, Unity, Godot) are all committed to supporting Vulkan in addition to Metal, so we (collectively, the engine dev community) currently have to support both. Dropping Metal would reduce the amount of engineer time spen…

I'd take Metal anyday over Vulkan though. It's simply the much more ergonomic and much better designed API. A native Vulkan version only really makes sense if Android needs to be supported (and this will be a rough ride because of the poor state of Android Vulkan drivers).

Re: Vulkan1.3 on the M1 in one month

#249

Earlier quoted context omitted.

Interesting point of view that could also be the other way around, Vulkan support being a hidden tax for the love of open source and free software rather than something really useful the market needed on top of others APIs / GPU architectures / platforms, pushed by a subset / minority of developers more ideological than practical grounded developers who accept that competition of private standards will bring out the…

>The Apple Metal platform surely is customized to the needs of Apple, its devices and its users ultimate needs, in a way Vulkan will never be. Maybe Metal is customized to Apple's needs but how is it customized to Apple user's needs? One thing is for sure, had Apple been using Vulkan, the porting process to macOS would have been much easier.

> the porting process to macOS would have been much easier

Porting the 3D renderer to another 3D API isn't the hard part of a game port, but also:

Apple is offering a D3D12 porting toolkit since a little while which TBH makes a lot more sense than native Vulkan support (since there are so many more D3D12 games than Vulkan games):

https://developer.apple.com/games/

Re: Vulkan1.3 on the M1 in one month

#250

Earlier quoted context omitted.

Ultimately, the whole discussion surrounding technologies is discussing the consequences of the problems, not the problem itself. The problem is that Apple, since it decided it was going to make its own GPUs for all its devices, deemed it necessary to simplify their support. Apple's Metal API is custom-made to the silicon Apple is making, and Apple keeps Metal development strictly focused on their hardware. Of course…

>Apple's Metal API is custom-made to the silicon Apple is making Do you have any examples of this? My guess is that the API, being higher level than vk/dx, is designed for ease of use by developers, not to expose hardware level details. In fact Vulkan would be more suitable for that as it is lower level. >the strength of iOS clearly helped them decide to move iOS game developers to the Mac What do you mean by this? A…

> My guess is that the API, being higher level than vk/dx

Metal is not generally higher level than VK/D3D12, instead it's a mix of high- and low-level features (where the low level features typically had been added in later Metal versions and are optional to use).

You can stick to the convenient high level parts of Metal v1 (which feels a lot like the spiritual successor to D3D11) if that's good enough (which often is), but if needed there are lower level and more explicit features that match or in some parts go beyond what Vulkan and D3D12 have to offer (AFAIK argument buffers allow a couple of things that are not possible on D3D12 or Vulkan, or at least would require vendor specific extensions on Vulkan - like setting the PSO via an argument buffer, recorded in a compute shader).

Post reply on HN