25 ms·
Zink (OpenGL on Vulkan) performance better than expected
- entropicdrifter 6y agoI suspect that in a couple of years this driver will become incredibly useful for low-end ARM boards. Manufacturers of cheap hardware will only need to get an open source Vulkan driver mainlined and suddenly the machine will be able to play virtually any game ever made because it will indirectly support OpenGL and every version of DirectX. Likewise it'll give WebGPU/WebGL support thanks to ANGLE.
- dasb 6y ago> and every version of DirectX Could you expand a bit on this? Are you referring to DXVK? Or does Zink have support for DirectX?
- jchw 6y agoSeem to be referring to DXVK; and honestly, that’s pretty fair given how well it works. Zink + DXVK might end up being an impressive combo for simplifying the Linux graphics stack. A bit like what Gallium3D was trying to do, but the abstraction layer is exposed as its own standardized API.
- Hello71 6y agodxvk only supports dx10/dx11, but vkd3d does dx12, d9vk does dx9, and wine itself does all versions. performance isn't great, but the compatibility definitely is.
- pantalaimon 6y agodxvk also supports dx9
- shmerl 6y agoPerformance is actually great, considering needed overhead.
- est31 6y agoIsn't this the idea of Gallium3D (part of the MESA project)? You write one driver and have support for Vulkan, OpenGL, etc.
- david-gpu 6y agoIn terms of achieving a certain level of functionality, you can do that, but the additional abstraction you add into your software stack translates into poorer performance and additional complexity. It's a trade-off. Source: worked on GPU drivers for over a decade and had to make decisions like that.
- codetrotter 6y agoThis may be a weird question and probably not your call but, since you work for Nvidia and you mentioned having worked on GPU drivers I would be curious to know something I have been wondering for a long while, namely 1) how come the Nvidia drivers for FreeBSD don’t support CUDA, and more importantly 2) what would it take for CUDA support in Nvidia drivers for FreeBSD to happen? Apologies in advance if this is asking questions that you are not allowed to comment on.
- david-gpu 6y agoI've never worked on drivers at NVidia, so on the one hand I don't know the answer, but I can speculate with an educated guess. Porting, testing and providing ongoing support for an OS is very costly. If there's not enough customer demand for it, it won't be done because it doesn't make business sense.
- Jasper_ 6y agoGallium's architecture of "state trackers" are sort of antithetical to the idea of Vulkan in many ways. Neither Intel's Vulkan driver, nor RADV, bother using it.
- anthk 6y agoGallium's 0.4 performance on my card is atrocious. I am using MESA 13.0.6 on libDRM 24.68, and yet even Flare is damn slow. On current, it's much better, but Google's Street View is still slow, albeit gaming on PPSSPP is fast and good.. AMD/ATi RS 690 with MESA 20, I tried it, but I went back. Go figure. Even Quake ports are barely accelerated under the old MESA/KMS combo... And no, I am not using LLVMPIPE.
- gw 6y agoIt's things like this that make me not worry about sticking with opengl. It's supported everywhere, fast enough for my uses, and is exactly the level of abstraction i want to be at. I completed the vulkan triangle tutorial and i cannot imagine needing all those knobs for the games and other things i make. I'm pretty confident that by the time opengl is no longer natively supported, software layers like this will be stable and fast enough.
- gameswithgo 6y agoon top of that more mature "easy mode" wrappers over Vulkan are beginning to exist too.
- kevincox 6y agoThey are beginning to exist but it is very unlikely that these will have the stability that OpenGL has. They will likely be more convenient, but if you are building something today that doesn't have very high performance needs sticking to the OpenGL API is probably a good way to ensure that you won't have to migrate to something else for a very, very long time.
- nicoburns 6y agoThe other good option that's likely to be supported for a long time is WebGPU.
- moron4hire 6y agoWhat "stability that OpenGL has"?
- badsectoracula 6y agoThe OpenGL API is standardized and has multiple implementations so it isn't susceptible to some layer/library developer waking up one morning and deciding to break the API to make it "cleaner" or "easier" or whatever. Hell, even though Khronos tried to do exactly that with the core/compatibility schism, pretty much all existing implementations decided breaking people's code is a stupid move and mostly ignored it (Apple being an exception but Apple hates developers[0] and their OpenGL implementation was always awful - even then, Apple's implementation is still an implementation of a stable API). In practice it means that your currently working code will remain working in the future and there are good chances that you'll be able to port it in other places with either official or unofficial implementations. [0] OK, OK, i know, Apple doesn't "hate" developers, they just do not care about them at all and they'd happily break things like a hippo dancing in a glassware shop if they believe that would make their own developers feel better.
- etaioinshrdlu 6y agoThis is great news. I love old stable APIs :)
- bitwize 6y agoOld stable APIs tend to get deprecated unless you're on Windows. Best to go where developer support and energy is -- with the new.
- DenseComet 6y agoI wonder if Zink can run on MoltenVK just for fun. OpenGL on Vulkan on Metal.
- GranPC 6y agoThat's more useful than just as a fun project - it would allow OpenGL apps to continue to run on Mac when Apple decides to drop OpenGL support!
- simcop2387 6y agoOr allow you to use newer OpenGL versions on MacOS since they've frozen at 4.1 for years now.
- skavi 6y agoMoltenGL already exists.
- simcop2387 6y agoMoltenGL is OpenGL ES 2.0 only, it'll probably work for a lot of applications but not all of them because of that.
- nialv7 6y agoUnlikely in its current form. Zink is built as part of Mesa, and isn't meant to work with any Vulkan implementation.
- surfmike 6y agoANGLE (Chrome’s OpenGL ES backend) has a Vulcan backend as well, although I haven’t seen any performance numbers. It’s made to run WebGL though so strong incentive to have good performance. https://github.com/google/angle https://github.com/google/angle
- johncolanduoni 6y agoIt has a significant goal that tends to degrade performance: it needs to disallow exposing undefined or unsafe behavior of the driver to the client, regardless of how crazy the calls are.
- birdyrooster 6y agoZink like as in Zero-Ink?
- PostThisTooFast 6y agoExactly. Technical people should really be aware of fairly known tech with the same name. Then again, Amazon named their Siri knockoff after a camera.
- ebg13 6y agoThis headline feels extremely out of sync with the tone of the blog post. > My expectation when I clicked into the timediffs page was that zink would be massively slower in a huge number of tests, likely to a staggering degree in some cases. > We were So performance was better than expected on a small handful of tests out of tens of thousands?
- ngcc_hk 6y agoNvidia CUDA need competition. Note what amd has done to intel. We need competition. Market to work need competition. Competition!
- pjmlp 6y agoFirst acknowledge that C is outdated, support a polyglot environment for GPGPU programming, including IDE and debuggers with ability to single step shaders, conditional breakpoint and everything else that one has come to expect from modern CPU programming. Khronos did the first part with Khronos and SYSCL, but only after taking a beating from CUDA, so the ecosystem never cared, and OpenCL 1.2 became 3.0. Vulkan Compute is even worse than OpenCL in what concerns existing tooling.
- PostThisTooFast 6y agoSo this thing is named after an inkless printing technology?