AMD's Older Radeon GPUs Get Ray Tracing Support on Linux
Teaching an old dog new tricks
Sometimes new technologies can work on old hardware. Who needs one of the best graphics cards when you can just use older hardware? This week enthusiasts working on Mesa, an open source implementation of OpenGL and Vulkan APIs for Linux, created a merge request for the RADV ray tracing driver for AMD's RDNA 2 GPUs, enabling it to work with previous-generation graphics cards. The question is, how well will they work?
"This PR implements ray-tracing for older generations (Navi, Vega, Polaris, etc.)," wrote Joshua Ashton, a developer of DXVK and other Direct3D-on-Vulkan works for Valve, reports Phoronix. "It does this by emulating the AMD bvh intersection instructions in software. Right now this passes CTS the same as on RDNA 2 cards."
In recent times software and hardware ray tracing support has been the focus of many industrial discussion as the technology has to be implemented properly to bring significant quality improvements. But that also causes massive performance hits even on modern hardware that supports hardware acceleration for ray tracing, such as AMD's Radeon RX 6000-series GPUs based on the RDNA 2 architecture.
Ubisoft's decision not to implement ray tracing into Far Cry 6 for the latest game consoles greatly illustrates this controversy. But apparently Linux enthusiasts want to enable ray tracing support in Vulkan even on outdated architectures like the original RDNA from 2019 as well as GCN 4/5 from 2016/2017.
There are six levels of hardware ray tracing support by GPUs, according to Jon Peddie, the head of Jon Peddie Research. RDNA 2 GPUs are believed to be at Level 3 as they support Bounding Volume Hierarchy (BVH) processing in hardware. Meanwhile, GPUs based on AMD's architectures introduced in 2016–2019 do not support any hardware acceleration for ray tracing, but they can emulate BVH processing in software using ray-box and ray-triangle testers via standard shader instructions.
While such emulation is legit and can produce similar results to Level 3 RT hardware, it also requires a huge investment of compute horsepower for real-time gaming, something that outdated GPUs simply do not have. AMD has stated that its ray accelerators are about ten times faster than doing the same work via shaders, for example. Of course, ray tracing can be used to create beautiful images not in real time, but those who need this capability usually can afford proper hardware. Nonetheless, the idea of adding ray tracing support to previous-generation hardware poses some theoretical interest.
Nvidia for example supports DirectX Raytracing (DXR) on its GTX 10- and 16-series GPUs (with 6GB or more VRAM) via drivers that emulate the ray tracing calculations via software. Even the fastest of such GPUs — the GTX 1080 Ti — tends to perform at less than half the non-DXR rate, and that was in 'lighter' first-gen DXR games like Battlefield V, Shadow of the Tomb Raider and Metro Exodus. We would expect doing RT calculations in software on AMD hardware to show a similar performance hit.
Stay On the Cutting Edge: Get the Tom's Hardware Newsletter
Get Tom's Hardware's best news and in-depth reviews, straight to your inbox.
Anton Shilov is a contributing writer at Tom’s Hardware. Over the past couple of decades, he has covered everything from CPUs and GPUs to supercomputers and from modern process technologies and latest fab tools to high-tech industry trends.
-
ezst036 I love open source drivers so much. I feel bad for my fellow Windows users that you have so many limitations placed on you by Microsoft and placed on you by the outmoded closed source driver model that we just don't have here on the Linux side.(Unless you have Nvidia, but we know what Linus said about that.)Reply
And Valve deserves huge amounts of praise for their work in open source as well. There isn't enough to be said for what they have done to make Linux into a first-class gaming platform. -
I feel bad for my fellow Linux user, who didn't know that Windows has had the exact same kind of driver for Nvidia GTX cards since 2019, and felt like blaming Microsoft for AMDs lack of driver support.ezst036 said:I feel bad for my fellow Windows users that you have so many limitations placed on you by Microsoft and placed on you by the outmoded closed source driver model that we just don't have here on the Linux side.
I also feel bad for that same user, who decided to ignore one of the biggest GPU manufacturers in the world, just so they could avoid having to feel bad for themselves. -
hotaru.hino
How is it Microsoft's fault for a company that basically gave the cold shoulder even though they promised that it would support ray tracing on all of its DX12 compatible GPUs?ezst036 said:I love open source drivers so much. I feel bad for my fellow Windows users that you have so many limitations placed on you by Microsoft and placed on you by the outmoded closed source driver model that we just don't have here on the Linux side.(Unless you have Nvidia, but we know what Linus said about that.) -
renz496 ezst036 said:I love open source drivers so much. I feel bad for my fellow Windows users that you have so many limitations placed on you by Microsoft and placed on you by the outmoded closed source driver model that we just don't have here on the Linux side.(Unless you have Nvidia, but we know what Linus said about that.)
And Valve deserves huge amounts of praise for their work in open source as well. There isn't enough to be said for what they have done to make Linux into a first-class gaming platform.
Lol this kind of elitist attitude that makes linux unable to dominate desktop market. Also while people often highlight those middle finger moment for nvidia by linus most often they choose to forget a year later linus also giving his thumbs up about nvidia open source driver effort on tegra. -
VforV 1st FSR for all GPUs, now RT for all GPUs, GJ AMD.Reply
I don't expect RT to run well on old hardware, but the thought is nice, the intention is good.
Hey nvidia do you still "care about gamers"?
Ah, so much love from nvidia for all gamers and all their generations of customers... -
hotaru.hino
You do realize AMD didn't actually make these driver changes right?VforV said:1st FSR for all GPUs, now RT for all GPUs, GJ AMD.
I don't expect RT to run well on old hardware, but the thought is nice, the intention is good.
Hey nvidia do you still "care about gamers"?
Ah, so much love from nvidia for all gamers and all their generations of customers...
Also NVIDIA likely contributed mostly to the standardization of the ray tracing extensions to Vulkan, since they had something on it first. Especially considering that the person in charge of the ray tracing parts is an NVIDIA employee.
On that note, look at how many NVIDIA employees are there. -
renz496 VforV said:1st FSR for all GPUs, now RT for all GPUs, GJ AMD.
I don't expect RT to run well on old hardware, but the thought is nice, the intention is good.
Hey nvidia do you still "care about gamers"?
Ah, so much love from nvidia for all gamers and all their generations of customers...
This is done by open source driver community not AMD. This project aims to make RT works down to polaris based GPU on linux. if you ask AMD they probably have no interest at all to make VulkanRT work on those old GPU. I'm not sure about nvidia but on windows side of thing they already support DXR down to pascal. -
snowthingy renz496 said:Lol this kind of elitist attitude that makes linux unable to dominate desktop market. Also while people often highlight those middle finger moment for nvidia by linus most often they choose to forget a year later linus also giving his thumbs up about nvidia open source driver effort on tegra.
Some Linux users seem to be upset with nVidia.
I think one of the reasons is that they want an open source driver from nVidia and probably the reason for this is by design, the Linux kernel needs drivers to be compiled into the kernel.
Without the source code, it probably makes programming the kernel, making changes to the kernel difficult.
I think the proper approach is to do what Microsoft has done. Define an API, create a DDK.
The kernel should expect a certain feature set from a printer driver, a scanner driver, a sound card, a video card, etc. The companies write their drivers as DLL files or whatever extension you want to give them.
Thus, Microsoft doesn’t need access to anyone else’s driver source code.
I assume that a lot of companies don’t want to follow the philosophy of Linux and so, they never will write drivers for Linux. Linux programmers have to reverse engineer and figure out how thousands of devices work.
if I am right, it makes the lives of Linux kernel developers very difficult.
I have become a Linux user recently, but I find the insistence of everything being open sourced unrealistic in a capitalistic market.
Don’t get me wrong. I love Linux. I have been using Kubuntu for 2 years. I ported my mini apps to Linux and they are open source.
But you can’t force everyone to open source their products.