Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

mattspace

macrumors 68040
Original poster
Jun 5, 2013
3,352
2,981
Australia
Interesting news today about Vulkan coming to macOS, specifically the degree to which Valve is involved.

By owning Steam, and being a co-creator of the Vive, Valve pretty much holds the future of the Mac as a VR-capable platform in their hands (because noone is going to write mac-specific VR apps, and there's nothing Apple can do to change that, without a fundamental change in their culture), and this looks like they're making a play to promote Vulkan as the actual "write-to" layer for game /3d developers, relegating Metal to a dumb pipe for hardware management (which is the future of macOS in general, in a VR-centric computing world).

Much the same way as Unreal and Unity are the universal VR development layers, and Steam is the universal app platform.

Edit: https://architosh.com/2018/02/vulkan-coming-to-apple-alternative-to-metal-api-headed-to-mac-and-ios/
 
Last edited:
like he said hehe
 

Attachments

  • raw.png
    raw.png
    90.6 KB · Views: 132
Note that MoltenVK is "just" a translation layer from the Vulkan API to Metal. It's a win for cross-platform developers, but it won't be faster than Metal.
 
Nice insight regarding MacOS and VR, OP. So now we need devs to jump onboard. Is there a pool for which game will be the breakout Vulkan hit on MacOS?

I think where this will really have a huge impact is in niche Pro apps - for example in panoramic imaging (where I have direct experience) all the apps, many of which cost several hundred dollars, are developed using cross platform Qt front ends (which look, feel, and perform like arse), and OpenGL on the back, and none of these are going to go to Metal because they're made by small teams who want a single cross-platform codebase.

Games, I'd be unsurprised if this had a lot less effect, because as noted the big developers already have their Metal back end in place. But in VR - again, Valve holds all the cards, so what they do will be very interesting.
 
Interesting news today about Vulkan coming to macOS, specifically the degree to which Valve is involved.

By owning Steam, and being a co-creator of the Vive, Valve pretty much holds the future of the Mac as a VR-capable platform in their hands (because noone is going to write mac-specific VR apps, and there's nothing Apple can do to change that, without a fundamental change in their culture), and this looks like they're making a play to promote Vulkan as the actual "write-to" layer for game /3d developers, relegating Metal to a dumb pipe for hardware management (which is the future of macOS in general, in a VR-centric computing world).

Much the same way as Unreal and Unity are the universal VR development layers, and Steam is the universal app platform.

Edit: https://architosh.com/2018/02/vulkan-coming-to-apple-alternative-to-metal-api-headed-to-mac-and-ios/

Vulkan support for macOS is good because it will allow developers to bring more games and software to the Mac easier. A Mac release of Doom 2016 would be great if it happened.

I'm not sure what you're getting at by painting this as some kind of rivalry between Vulkan and Metal though. What does Steam being the "universal app platform" have to do with anything? In what way will Valve have any sway with VR?

If I were to make some kind of VR app/game I would use UE4 which means I would be using Metal. Valve provides nothing to me except the hardware drivers for their headset then.
 
I'm not sure what you're getting at by painting this as some kind of rivalry between Vulkan and Metal though. What does Steam being the "universal app platform" have to do with anything? In what way will Valve have any sway with VR?

Metal is a lock-in to present developers with a choice - have a mediocre cross-platform OpenGL experience on the Mac, or shift your resources to be Mac-only and go all in on Metal.

Metal is a classic Scully / Spindler-era Apple move.

Vulkan seems to have the potential to disrupt that strategy. It lifts developers another level of abstraction away from Apple's technologies, and reduces Apple's leverage over them.

Look at ARKit - launched to great fanfare, with dozens of "Made with ARKit" mentions on twitter for the first couple of months - now, dead silence, because noone writes to ARKit. Everyone is rolling their own custom AR platforms, that treat ARKit and ARCore as dumb pipes to functionality, because noone is going to sacrifice cross platform deployment. That phenomenon, of the iOS-only app (eg instagram's early days) becoming huge, was an artefact of a particular moment in history. It isn't gong to happen again, but like "put an app-store on it", "make a unique Apple-only tech" one of the only strategies in Apple's playbook.

Apart from being responsible for the tracking tech in the only headset Apple supports, Valve also owns the only universal sales and distribution platform for VR-utilities. All the apps Apple has used to show off VR on the iMac Pro, they're not on the Mac App Store, they're on Steam. You don't think that gives them some significant leverage?

If I were to make some kind of VR app/game I would use UE4 which means I would be using Metal. Valve provides nothing to me except the hardware drivers for their headset then.

You wouldn't be "using" Metal, you'd be using Unreal, which like Unity doesn't care what 3d subsystem it's plugging into. Metal would just be a dumb pipe to the GPU's functions. If Metal offers an ability that DirectX doesn't, then you're not going to put the effort in to take advantage of that, because the majority of your customers are going to be on Windows.

Apple has thrived on platform specificity conferring some advantage. When it comes to XR, that isn't true, because fundamentally, users don't interact with the operating system any more. The entire user experience is owned by the particular app. There's no system-standard open/save dialogue boxes etc - nothing of the Mac gets through to the VR environment.
 
Last edited:
Can anyone ELI5 how this would work? Would it only work on AMD GPUs? Would it only work on the most recent GPUs? Would it depend on Apple doing anything, or on end-users downloading extra drivers, or would the support be handled entirely by the game and the GPU?
 
Was mentioned earlier in the thread and deserves to be mentioned again:

Vulkan is not coming to macOS. The title is inaccurate.

All that is happening is that MoltenVK, a previously commercial software for translating Vulkan code to Metal, has been open sourced and will receive support by Khronos and Valve officially.

Situation for devs has not changed at all really. Vulkan is still not supported on macOS. It's just easier to port your Vulkan code to Mac. MoltenVK has been around for years already. There's many reasons for not using it - people have been experience tons of issues and the performance is slower than just writing Metal manually.
 
  • Like
Reactions: theitsage
Situation for devs has not changed at all really. Vulkan is still not supported on macOS. It's just easier to port your Vulkan code to Mac. MoltenVK has been around for years already. There's many reasons for not using it - people have been experience tons of issues and the performance is slower than just writing Metal manually.

Right, but against performance in OpenGL?

Is it really worth distinguishing between having the Vulkan library itself on macOS vs developers writing to Vulkan, and getting a (Metal) Mac app out the other end? It’s still an end-run around actually using Apple technologies.

Again, there’s a lot of developers who are never going to adopt a platform-specific 3D api for the Mac.
 
  • Like
Reactions: Flint Ironstag
I think where this will really have a huge impact is in niche Pro apps - for example in panoramic imaging (where I have direct experience) all the apps, many of which cost several hundred dollars, are developed using cross platform Qt front ends (which look, feel, and perform like arse), and OpenGL on the back, and none of these are going to go to Metal because they're made by small teams who want a single cross-platform codebase.


Open OpenGL is closer to being at the level that Steam , Unreal , Unity are are at then at Vulkan and Metal layer.
Folks are about as unlikely to go straight to Vulkan as they are to Metal if they have a large, upper stack, OpenGL code base. Even more so if written closely to OpenGL 3.2 "core" profile.


Part of the performance boost from Vulkan/Metal come from pushing responsibility back up into the higher levels of the application stack. if using Cocoa, Apple peels a decent amount off for your app for more general usage . Vulkan would need something upstream from it also ( e.g., game engine, or portable generic app layer ) .



Games, I'd be unsurprised if this had a lot less effect, because as noted the big developers already have their Metal back end in place. But in VR - again, Valve holds all the cards, so what they do will be very interesting.

Many games and game engines spent some effort trying to fight their way around OpenGL to get to the more "raw" GPU interface (e.g., GPU card specific OpenGL extensions , computations kernels pushed down to GPU, etc. ). For those there is an inertia to skipping past and going to Vulkan/Metal.
[doublepost=1519855402][/doublepost]
Can anyone ELI5 how this would work?

ELIS. illustrate how works?

as another threads point out above and the "similar threads" section at bottom points out there are some other threads in more detail.

It is isn't a complete implementation of Vulkan ( just the common subset that overlaps Metal and some others )


Would it only work on AMD GPUs?

Given tons of Macs only have Intel GPUs in them how would that work out as a practical solution? This isn't just for discrete GPU cards.



Would it only work on the most recent GPUs?

it isn't going to work where Metal doesn't. Official Metal support list : https://support.apple.com/en-us/HT205073
there is wiggle room for Mac Pros with add in cards but likely would need to be in era past those of the aggregate officially supported list.




Would it depend on Apple doing anything, or on end-users downloading extra drivers, or would the support be handled entirely by the game and the GPU?

The fact that part of this is to get apps encapsuluated into app stores.

"... The portable subset will also soon be able to target another platform: DirectX 12. Expected within the next few months, a similar translation layer is being developed that will enable Vulkan applications to use a DirectX 12 back-end. While Windows, unlike macOS, does have Vulkan drivers from GPU companies, applications sold through the Microsoft Store are only permitted to use DirectX. ..."
https://arstechnica.com/gadgets/2018/02/vulkan-is-coming-to-macos-ios-but-no-thanks-to-apple/
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.