This extension marks a pivotal shift from mere compatibility to genuine performance parity by resolving the fundamental architectural friction between DirectX 12 and Vulkan. It is a sophisticated optimization that finally leverages hardware potential across all major GPU vendors on Linux.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
DX12/VKD3D on Linux is improving for everyone!Added:
Nvidia is finally focusing on improving the DirectX 12 performance on Linux. If you don't know, you've been living under a rock, that one of the last problems I would say with the Nvidia GPUs on Linux has been the DirectX 12 performance. I have noted this before in previous Nvidia driver releases that Nvidia needs to resolve this as well. AMD and Intel, AMD really, doesn't have this problem.
And Intel has this problem kind of.
So, Nvidia has been working on a new Vulcan extension and many other GPU vendors and companies have been working on this new Vulcan extension that improves the DirectX 12 performance on Linux for Nvidia GPUs. But, this will also benefit other GPUs. It will benefit AMD. There is AMD developers working on this Vulcan extension for the AMD drivers on Linux. And the same goes with Intel. Intel is also implementing this Vulcan extension into their drivers. And soon, Proton is going to get this. But today, we are most likely talking about just Nvidia improving the DirectX 12 performance. And I'm going to be using this GPU to see how much performance you really get when using this Vulcan extension on a custom Proton runner with the latest Nvidia driver, which is like 595 5 something. You know, the Vulcan extension that I'm talking about is called the descriptor heap. And the descriptor heap, when we look at what this really does, it tries to basically improve the memory, how memory works with buffers. So, I am someone who is not a graphics engineer. I do not understand really what I am talking about. But, if you look at the solution here or the proposal, basically the overview is this extension provides applications with the ability to get binary data representing shader resources from the implementation. And to put those binaries in specifically allocated regions of memory for use as a descriptor heaps. There are two distinct heaps, the sampler heap for samplers and the resource heap for other resources.
Applications can bind addresses from buffers allocated for descriptor heap usage to a command buffer during recording for use with any dispatch or draw commands that execute shaders.
Heaps can be accessed directly as arrays of data in the shader. And this is intended to be used to implement shader model 6.6 resource heaps in HLSL. For shaders that access descriptors using static bindings, either DirectX 12 style or Vulcan descriptor set bindings, mappings are provided that enable set and binding decorations to be mapped to offsets in the descriptor heap. Both of these access methods can be used simultaneously in the same shaders. So, basically it's trying to improve something with shaders and memory. And so, you can see here it also mentions DirectX 12 style or Vulcan descriptor set bindings. So, this is where we can see the improvements of using something like the latest Nvidia driver with this custom Proton runner that I'm going to talk about and how this can improve a lot of DirectX 12 games that are trying to be translated on Linux. So, the driver that has this Vulcan extension included right now is the 595.58.03 Nvidia Linux graphics driver. Of course, if you are above this driver, you will automatically have this Vulcan extension supported most likely. But, not just the driver that needs to support the Vulcan extension, but also the translation layer VKD3D Proton, which does the DirectX 12 to Vulcan translation in Proton, this needs to support the descriptor heap Vulcan extension as well. So, once this gets merged into normal VKD3D Proton, then Proton actually updates to that version of VKD3D Proton, then you can just use normal Proton. But for now, as you can see, it's a draft and it's a prototype implementation of it. So, it's not complete. But, some custom Proton runners have brought this patch into the runner so that you can actually use it right now if you want to. But again, this is a, you know, prototype implementation. It's experimental. It is not ready. So, there is maybe some problems that you may face. And it Well, it does solve a lot of problems, but it of course there may be other problems that may occur and you may not see all of the performance benefits until this prototype implementation is actually fully done. So, the runner that I'm talking about that did implement it was CachyOS Proton. Now, they did introduce it in a certain Proton release, but they removed it from the change log. Cuz originally they they were like, "Hey, we added the the descriptor heap extension into this release. You can use this environment variable as a launch command." And then it got removed from the change log because they didn't want people to bug reporting because it's not on them to fix the problem. It is on the VKD3D Valve. It's up to Valve to resolve those problems, not CachyOS Proton. So, this is the only runner that I know of so far that has the descriptor heap extension supported. The GE Proton, as far as I know, doesn't support it yet. But, if you want to use it, you can grab an app like Proton Plus and then just download the latest CachyOS Proton runner. If you're on CachyOS as a Linux distro, you should already be able to have it. It might be pre-installed for you. And what we want to do is go on to a game that you want to test. Let's say Assetto Corsa Rally, for example, because this does get improved when I do use the descriptor heap, which is really nice to see, even though it doesn't run that well on the RTX 2060 in the first place.
It's really good to see, you know, the performance benefits. So, what we need to do here is in the launch command when we do properties on the game, we want to use the proton_vkd3d_heap=1 environment variable with of course a percent command percent with a space in between, and that will use the extension. Now, if you want to also, you can add the Wayland environment variable so it uses the Wine Wayland driver so that you get maybe a little bit better performance. And that's basically it. As long as you're using the latest 59.595.58 driver, you're good to go. So, does this improve my Nvidia RTX 2060 Ventus MSI GPU that has 6 GB of VRAM? It's getting pretty outdated right now. But, does it improve it? Well, yeah. It does. In a lot of games, it improves a lot of different things. Not just more FPS, but also the experience of the frame timing being a lot smoother and lower latency when it comes to those FPS being displayed on the screen. But for example, we can see it right now. We've got Assetto Corsa Rally and on the left here is the newest one, which is using the descriptor heap, and the one that isn't using the descriptor heap. And you can see there is a lovely improvement, a 24.3% improvement on the average FPS and a 36.6% improvement with the 1% lows. Now, there is a little bit of a dip here. It's very It's basically the same. Little bit better on the older one, but that's like margin of error I would say. So, we can see in one game example, Assetto Corsa Rally, gets amazing improvement. And one thing I have to say as well is with the recording software with MangoHUD to track the FPS, when I would stop tracking the FPS with the MangoHUD tracking capturing FPS software, the frame timing and FPS would also go back up a little bit and the frame timing would improve a lot. So, just take these benchmarks with a little bit of grain of salt because it's like not perfect. Just to show an example, here it is here in Cyberpunk 2077. We got like 80 FPS right now. And you can look at the frame timing, it's a little bit spiky for some reason. And if we open up when we're not doing it, we can see here the frame timing is a hell of a lot smoother and the FPS has gone up by I was like 6 FPS.
Yeah, it's gone up by around 6 FPS. So, you can see where the recording software can actually lower the FPS and make the frame timing worse. So, this is the thing to note here. Even though Assetto Corsa Rally got a lot more FPS with the descriptor heap enabled, I got more FPS after I stopped recording it as well, where it was reaching around 50 or so FPS, almost 60 at times, which is really amazing to see because Assetto Corsa Rally is a Unreal Engine game and it's not really that optimized for GPUs that are like, you know, 6 years old.
So, in something like Helldivers 2, we can see this one on the right here has the descriptor heap enabled. I checked and I had a little description saying it was enabled or disabled. The right one is enabled. So, we can see that the 1% lows and 0.1% lows do get a little bit of an improvement. So, you're not going to see this improvement on every single game. It's going to be very not limited per se, but you are going to see improvements across the board. And of course, it also depends on the GPU that you have, like the architecture of the GPU. Some people get a lot more FPS in other games than other people who have different Nvidia GPUs. So, in something like Helldivers 2, we can see that it does improve those 1% and 0.1% lows, which is good. All around, we're seeing improvements with every single game. And my favorite game that I play with when it comes to FPS, The Finals, this saw a really nice improvement when I posted something about this on the YouTube community post, I was really happy with The Finals improvements with the descriptor heap because it just was able to do around like a hundred average FPS on the graphic settings that I use that I usually use on my other GPU that I that I use as my main GPU, and I was really just I was able to play it. There was no problems. Very smooth frame timing. And as you can see here on the left, there is improvements in the 1% lows, the 0.1% lows, and the average FPS, a 5.1% improvement. On the left on the right here without the descriptor heap, a minus 4.9% 15% on the 0.1% lows, which kind of makes sense because when I was playing it, it's just the frame timing and just like the dips of the FPS wasn't so huge. So, the game just felt really consistent when I was playing it, and that's what's really important I would say when it comes to an FPS game is that the FPS shouldn't be jumping around the place because that would feel not so great. It needs to be rather consistent with how it goes through the FPS so that you have a nice low latency, high FPS experience. And as we can see here with Cyberpunk, there is also improvements with the descriptor heap enabled versus it not disabled. It's a little bit faster on the left here, and it's a little on the right when it's disabled, it's got a better 0.1% low.
So, again, when I was playing it, when I wasn't recording, it actually played extremely well on like the medium settings that I had it on, and I was using no ray tracing or anything because, you know, RTX 2060 that cannot handle ray tracing that well. It was a really good experience. I got a lot of FPS that it was like, you know, it was around like 80 to 90 FPS on like medium settings. And I remember when I was playing on my RTX 2060 on Windows when the game first came out, it was absolutely garbage. Now, that was because most mostly because of the the game itself wasn't that great when it first came out. But playing it on that GPU today with the descriptor heap enabled, it's a really good experience.
And the same goes with Outriders. It also had a improvement when you enable the descriptor heap. It's not that big of an improvement per se, but again, the biggest thing to note here is the 0.1% lows. Again, we're seeing a 20% improvement with it enabled versus when you got it disabled, a 16.7% decrease. So, again, really good like consistent FPS that we're seeing and a improvement with average FPS as well.
And then we can see the last one, Black Myth: Wukong, the benchmark tool that you can get for free. It isn't really improving that much when I was doing the testing, but again, when I do disable the MangoHUD FPS, it does get improved and the frame timing is a lot better when it comes to just having it enabled, which is really good to see in something like a game like this where, you know, the RTX 2060, again, is starting to become a a pretty old GPU. And I forgot to say this, the graphic settings for all the games was Wukong was on low settings, DLSS, no ray tracing. Outriders was medium settings, DLSS, DLAA, DLAA, CNN static ray tracing. Cyberpunk was medium settings, DLSS, DLAA transformer model, no ray tracing. The Finals was low settings, DLSS DLAA, CNN static ray tracing.
Helldivers 2 was medium settings, scaling was native. So, you can see, even though we're running on like low medium settings, when I'm not doing the tracking on MangoHUD, you can up those graphic settings a little bit, and you still get really good performance on the RTX 2060 with the descriptor heap enabled. So, what I think with this conclusion is that the descriptor heap improves games with DirectX 12, of course. It improves it in all types of different areas, and depending on the game that you're playing, you might see a five to 10 to maybe even 20 FPS improvements. Of course, in my games, it's a good improvement, but it's nothing like major or anything. But as I said, when I wasn't using MangoHUD, the FPS did improve a little bit, and the frame timing improved a lot, which made the experience just really good. And what I also appreciate, even though, you know, I don't really like Nvidia that much, is that they continue to release driver releases for Linux, and it actually has big improvements for their driver. With not just the descriptor heap that came out, but also things like HDR actually work now properly with an Nvidia GPU. So, you can enable HDR, and you can have the same experience as someone who has an AMD GPU on Linux, which is really good. Plus, of course, just the change log in general. Improving things that, you know, people have plenty of crashes being fixed, more games being improved, like GPU hangs with Black Myth: Wukong, that being resolved.
Many, many other things that we can see here that just improve the experience for a Nvidia user. Even though I hate the proprietary driver, I'm all all in when it comes to like the NVK driver, and I don't like Nvidia when it comes to like the CEO and all that AI garbage that they're doing right now and DLSS 5 or whatever with AI slop stuff.
Don't really like that, but their Linux team are improving things when it comes to Wayland, when it comes to game support, when it comes to descriptor heap.
They're doing a lot of things that make the experience better. And of course, if you do have a problem with the proprietary driver, you can go to the Nvidia developer forum website and post a problem or look through to see if the problem is already there so that you can know if Nvidia is going to resolve it or not. And not just that, Nvidia is also looking to hire more Linux driver engineers to help with Vulcan, but it's to do with also helping Proton performance. So, we're going to see in the future, Nvidia is just going to continue to improve their drivers, and they're going to get more developers that can help with improving and focusing on that Linux gaming experience so that it's better for everyone. And like I said, back to the descriptor heap, this is also coming to AMD and Intel on the Mesa GitLab merge request. We can see there is a VK_EXT_descriptor_heap Vulcan extension for the RADV, which is the Vulcan AMD driver in Mesa.
This is being worked on. I've gotten emailed so many goddamn times in the past like week of commits and commits and commits that they are doing and discussing and improving the code so that, you know, it's ready. And then, of course, Intel as well having their draft for the descriptor heap for the ANV, which is the Vulcan driver for Intel GPUs. So, this is being worked on, and we'll of course we've got an amazing screenshot of Outriders here, but looks amazing.
You know, just working on it, fixing problems so that when it's ready, it's ready. And not just VKD3D, but also DXVK is also going to implement the descriptor heap Vulcan extension. So, everyone is going to benefit from this Vulcan extension so that we can get better performance across the board. And also, NVK is getting the descriptor heap at some point. So, if you are into the open source Nvidia drivers in Mesa, that that's also going to get supported at some point. So, the conclusion is that, well, you know, Linux gaming is continuing to improve. Once the extension is basically fully rolled out, and VKD3D has implemented the Vulcan extension and it's enabled in Proton by default, and then DXVK has also enabled the descriptor heap, we all get to benefit from this so that we have a better Linux gaming experience on our Linux desktops or Linux handhelds or whatever Linux device you may be running. So, I'd like to know your thoughts about the descriptor heap.
Have you tried it when it comes to Nvidia drivers as well? Do you enjoy seeing the newest Nvidia driver release?
All those types of things. I'd really love to know. So, if you guys did enjoy this video, definitely give it a like.
Definitely subscribe to the channel, and thank you to my supporters.
I really freaking appreciate every single one of you who give you money every single damn month. It really does mean a lot. And I'll see you guys in the next video.
Peace.
Related Videos
VALORANT's Latest 'Exclusive' Tier Bundle is Rough...
KangaValorant
17K views•2026-05-28
Flight Attendant Mocks Poor Looking Black Woman — Mid Air Announcement Exposes Her Real Power
SkyboundStories-b4r
184 views•2026-05-28
I FIXED My Friend’s Blown Turbo RX-8… Then Sold It
Cameron-RX8
134 views•2026-05-28
NewsWatch 12 at 5: Top Stories
NewsWatch12
1K views•2026-05-28
Simon Jordan & Danny Murphy deliver PREDICTIONS for Arsenal's Champions League FINAL with PSG
talkSPORTArsenal
6K views•2026-05-28
Botting is OUT OF CONTROL in Classic WoW (Again)...
SolheimGaming
108 views•2026-05-28
The "AI Job Apocalypse" is CANCELLED!
WesRoth
9K views•2026-05-28
STREET FIGHTER 6 - INGRID Story Walkthrough @ 4K 60ᶠᵖˢ ✔
RajmanGamingHD
12K views•2026-05-28











