There's a few mountains that Steam Play Proton still needs to climb over the next few years, to enable more Windows games and more features in those games to work under Linux. One big one is at least in progress.
Ray Tracing being one of the big things in gaming tech now, thanks to both AMD and NVIDIA having Ray Tracing cards out in the wild. With that, we can expect more games to begin using it.
Thankfully, VKD3D-Proton, which is the Valve-funded fork of vkd3d to work with Direct3D 12 has a Pull Request open with the start of the work towards supporting Ray Tracing. Keep in mind though, while exciting for Steam Play Proton users, this is far from complete and not enabled directly for games as of yet as stated in the PR "Don't expose any features to app yet, but allow overriding FL to 12.2 for local testing while bringing up DXR.".
Since The Khronos Group formally released the cross-vendor Vulkan Ray Tracing specification back in November it makes it all possible. Hooking up Ray Tracing for VKD3D-Proton, it will be using those new extensions.
Having DirectX Raytracing working on Linux for Windows games in Proton sure does sound pretty big. Some of the titles using it include: Amid Evil, Battlefield 5, Bright Memory, Call of Duty: Modern Warfare, Control, Deliver Us the Moon, Fortnite, MechWarrior 5: Mercenaries, Metro Exodus, Minecraft, Shadow of the Tomb Raider, Stay in the Light, Cyberpunk 2077 and more.
If you wish to stay up to date with Proton and Steam Play, follow along on our dedicated page.
I was under the impression that games implementing nvidia's own RTX raytracing will not work in this way, but only games that support the platform independent standard.
no?
Ok people, educate me.The only game that uses Nvidia-specific ray tracing is Wolfenstein Youngblood, which already works on Linux on Nvidia hardware.
I was under the impression that games implementing nvidia's own RTX raytracing will not work in this way, but only games that support the platform independent standard.
no?
Quake 2 RTX has already switched to the vendor-neutral Vulkan extension, so works on AMD (and future Intel) hardware that supports it.
This work is to translate the vendor-neutral DirectX ray tracing into the vendor-neutral Vulkan ray tracing.
I was under the impression that games implementing nvidia's own RTX raytracing will not work in this way, but only games that support the platform independent standard.
The platform-independant standard is in Vulkan. It was designed by Khronos.org with Nvidia's and AMD's active participation to be as easily compatible as possible with Nvidia's own proprietary RTX raytracing and with DX12 raytracing too.
Once Vulkan specification included a stable form of this for everyone, both Nvidia and AMD got hard at work to finish including it in their drivers and polishing it up for performance, etc.
And now that this is done and software devs can use it, the Wine + DXVK + Proton dev crowd is going crazy wiring it up. Pretty soon we'll know for sure if the effort in Khronos.org was successful making translations from Nvidia RTX and DXR to Vulkan trivial, and what performance we get from this on Linux.
PS: why devs insist in using DX12 instead of Vulkan is beyond me... even for windows-exclusive games. AFAIK the only platform where DX12 is available and Vulkan isn't is the XBOX One, so maybe it's time for a Vulkan >> DX12 translation lib to get this done with... it's one field where Microsoft isn't moving even one inch closer to "loving linux", but hey... hell can't freeze over in a single day, right?
Quake 2 RTX has already switched to the vendor-neutral Vulkan extension, so works on AMD (and future Intel) hardware that supports it.Do you have a proof of Quake 2 RTX running natively on AMD GPU?
I use Radeon RX 6800 with Kernel 5.10.6 + Mesa 20.3.3, but the game won't launch. And I see this log:
FATAL: No ray tracing capable GPU found.
I use Radeon RX 6800 with Kernel 5.10.6 + Mesa 20.3.3, but the game won't launch. And I see this log:
FATAL: No ray tracing capable GPU found.
RADV doesn't have an implementation for VK_KHR_ray_tracing yet. I'm not sure if the Windows driver for that GPU has it or if that is only DXR.
Do you have a proof of Quake 2 RTX running natively on AMD GPU?
https://store.steampowered.com/news/app/1089130/view/2903097291402265206
Added support for final Vulkan Ray Tracing API. The game can now run on any GPU supporting `VK_KHR_ray_tracing_pipeline` extension
I've read reports of people running it on AMD hardware in Windows, although apparently the driver's a bit crashy, but I don't keep up with the state of Mesa/AMDGPU/AMDGPU-Pro enough to know which versions will provide support for that extension.
They should call it VKD3D-Proton-Photon.
My impression is, that there is nearly no more original code left from vkd3d, so I would go for D12VK-Photon :)
(I know, technically DXVK and VKD3D-Proton are not related to each other)
Good that they are working on this. However the useability of raytracing will fall short on linux as long as DLSS isn't supported as well. Most games use both technologies at the same time to mitigate the huge drop in performance that occurs when raytracing is active. You can take a look at the raytracing Windows benchmarks for AMD's new RX 6000 series to see what happens if DLSS cannot be used alongside raytracing.I've heard DLSS come up a few times before. What is it exactly, and where does it fall in the continuum between "Basic technology" and "clever gimmick"?
There's a relatively concise description without too much marketing hype on Wikipedia.Good that they are working on this. However the useability of raytracing will fall short on linux as long as DLSS isn't supported as well. Most games use both technologies at the same time to mitigate the huge drop in performance that occurs when raytracing is active. You can take a look at the raytracing Windows benchmarks for AMD's new RX 6000 series to see what happens if DLSS cannot be used alongside raytracing.I've heard DLSS come up a few times before. What is it exactly, and where does it fall in the continuum between "Basic technology" and "clever gimmick"?
Basically it's a clever way to run your game at a lower resolution without losing too much image quality. Often used as a sort of crutch to compensate for the performance impact of stuff like ray tracing, but it does the job, and does look a lot better than more generic methods of upscaling.
There's a relatively concise description without too much marketing hype on Wikipedia.Good that they are working on this. However the useability of raytracing will fall short on linux as long as DLSS isn't supported as well. Most games use both technologies at the same time to mitigate the huge drop in performance that occurs when raytracing is active. You can take a look at the raytracing Windows benchmarks for AMD's new RX 6000 series to see what happens if DLSS cannot be used alongside raytracing.I've heard DLSS come up a few times before. What is it exactly, and where does it fall in the continuum between "Basic technology" and "clever gimmick"?
Basically it's a clever way to run your game at a lower resolution without losing too much image quality. Often used as a sort of crutch to compensate for the performance impact of stuff like ray tracing, but it does the job, and does look a lot better than more generic methods of upscaling.
DLSS is more than pure upscaling. It is also very good as a replacement for postprocessing stuff like antialiasing. Nvidia RTX GPU's are processing DLSS with their Tensor Computingcores wich are only present in the RTX GPU'S.
The offloading to the Tensorcores enables the performanceuplift. If used alongside with raytracing and with disabled Antialiasing it mitigates the performanceloss otherwise introduced by raytracing.
Last edited by ripper81358 on 28 January 2021 at 10:21 am UTC
PS: why devs insist in using DX12 instead of Vulkan is beyond me...
Microsoft gives them money.
so maybe it's time for a Vulkan >> DX12 translation lib to get this done with...
very unlikely, xbox is more profitable than linux, if an game performs bad on xbox they lose an sale, if an game performs bad on linux, we will have to buy an better hardware because they wont care about us
Good that they are working on this. However the useability of raytracing will fall short on linux as long as DLSS isn't supported as well. Most games use both technologies at the same time to mitigate the huge drop in performance that occurs when raytracing is active. You can take a look at the raytracing Windows benchmarks for AMD's new RX 6000 series to see what happens if DLSS cannot be used alongside raytracing.I've heard DLSS come up a few times before. What is it exactly, and where does it fall in the continuum between "Basic technology" and "clever gimmick"?
It's the future. And it's the future in a MUCH more immediate since than Ray Tracing itself is.
DLSS 1.0 sucked, but DLSS 2.0 is a game-changer.
The worst part is that it will never work in Wine/Proton (unless Nvidia lifts the NDAs). DLSS support is included in the proprietary Nvidia Linux driver, but it will only ever work for native games, which will probably never exist. It's apparently impossible to implement it in Wine/Proton due to the NDAs, this came directly from doitsujin (Creator and head dev of DXVK and a main vkd3d-proton dev). And yeah, he didn't say "it will probably not work until then," he said "it will never work until then."
Quake 2 RTX has already switched to the vendor-neutral Vulkan extension, so works on AMD (and future Intel) hardware that supports it.Do you have a proof of Quake 2 RTX running natively on AMD GPU?
I use Radeon RX 6800 with Kernel 5.10.6 + Mesa 20.3.3, but the game won't launch. And I see this log:
FATAL: No ray tracing capable GPU found.
Yeah AMD has no Ray Tracing capabilities on Linux yet. So that's to be expected. Support has to be added to either RADV, amdvlk or vulkan-amdgpu-pro first, and that hasn't happened yet.
Quake II RTX queries the Vulkan extensions supported by your GPU (well to be more accurate I guess it queries the extensions supported by your GPU and driver combined), and if VK_KHR_ray_tracing_pipeline isn't there, OR if VK_NV_ray_tracing isn't there, it won't launch.
But if you're on Nvidia and you have both, you can actually choose which RT extension to use in the game's menu. Obviously KHR is the recommended one though.
See more from me