6 ms·
Why Vulkan? Let's implement DirectX directly and call it a day.
by galad87 2y ago
Why Vulkan? Let's implement DirectX directly and call it a day.
- babypuncher 2y agoVulkan is how Direct3D is implemented on non-Windows operating systems, thanks to DXVK.
- galad87 2y agoI know, but why make a Direct3D wrapper on Vulkan when in the end you are going to run only Direct3D games anyway.
- babypuncher 2y agoBecause DXVK already exists, and you do still want to run Vulkan anyways. There are AAA games out there using it instead of Direct3D. Natively re-implementing Direct3D APIs would be a tremendous amount of work for little or no real benefit.
- kbolino 2y agoDirect3D means only Windows and Xbox. Vulkan means everything non-Apple except Xbox and PlayStation. It's not everything, but it's a larger base.
- galad87 2y agoWhat's larger than Windows + Xbox + Playstation for AAA games?
- deleted 2y ago[deleted]
- kbolino 2y agoNo single 3D API is capable of supporting all 3 of those platforms. However, if those are the only 3 you're concerned with, then Direct3D gets you farther (Windows+Xbox) than Vulkan (Windows only). You're still going to have to write/use something different for PlayStation (which has its own custom API). The two major platforms that favor Vulkan are Android and Switch, but the former is in the "mobile" category rather than the "desktop/console" category and few games overlap both categories. But really, Asahi Linux on M1 Mac is about as niche as you can get, so broad hardware support for native APIs isn't really relevant, and I don't think AAA games are necessarily what's meant to be supported either, since they generally won't work for other reasons (can't install x86-64 Windows kernel driver DRM/anticheat on an ARM Linux machine).
- rowanG077 2y agoAAA gaming is THE driving factor for getting Vulkan on Asahi. There really are only a tiny subset of games that require a kernel anti cheat. Let alone the wealth of single player games.
- kbolino 2y agoI'd love to hear about all these DRM-free single-player AAA games. If you're talking about older games, then maybe we're just talking past each other; I assumed we were talking about recent AAA games.
- rowanG077 2y agoThey don't have to be DRM-free.Here you can play all of these on linux: https://www.protondb.com/explore https://www.protondb.com/explore Highlights include Elden Ring, Baldurs Gate 3 and God of War.
- deleted 2y ago[deleted]
- babypuncher 2y agoRecent AAA games absolutely run on Linux using Proton. DRM isn't really a concern. The biggest and most successful DRM vendor, Denuvo, even goes out of their way to make sure their product does not interfere with Proton compatibility. It's pretty rare for a new game to come out and not be playable on the Steam Deck within a week if not on day 1. And when that does happen, it's usually a PvP multiplayer game with kernel-level anticheat.
- treyd 2y agoMicrosoft would never allow them to use the trademark.
- jeroenhd 2y agoWhile that's true, I don't think they'd need the trademark. They can call it Apple StraightforwardY, duplicate any trademarked APIs and redirect the old ones to their own methods for "compatibility". The Oracle v Google lawsuit proved that APIs can be implemented, even by competitors. I see even less incentive for Apple to concede defeat and implement Microsoft's API than for them to port Vulkan. After all, they've already shipped a graphics engine that a handful of games have ever used with their OS so they have experience!
- rowanG077 2y agoWhy would apple Implement an API they have zero control over? That's just stupid. In contrast Apple already is a member of khronos and you get DirectX for free anyway if you have Vulkan due to dxvk. There are only downsides to implementing DirectX.
- jakogut 2y agoThere are already high quality implementations of every version of Direct3D released over the past couple decades built on top of Vulkan. Writing a Vulkan driver is purportedly a much easier task than for higher level graphics APIs like Direct3D/OpenGL.
- andrewmcwatters 2y agoDirect3D 12 is basically Vulkan.