While Ray Tracing has worked on Linux for a long time with NVIDIA, the situation with Mesa+AMD is still being worked out but the good news is that it's all finally coming together.
Developer Bas Nieuwenhuizen wrote in a new blog post about the current situation noting that after over 9 months of work, that they're now seeing games working. Control was one title shown off that worked "on first try" once the required bits were hooked up in the radv Mesa driver.
Nieuwenhuizen mentioned these games tested:
- Quake 2 RTX (Vulkan): works. This was working already on my previous update.
- Control (D3D): works. Pretty much just works. Runs at maybe 30-50% of RT performance on Windows.
- Metro Exodus (Vulkan): works. Needs one workaround and is very finicky in WSI but otherwise works fine. Runs at 20-25% of RT performance on Windows.
- Ghostrunner (D3D): Does not work. This really needs per shadergroup compilation instead of just mashing all the shaders together as I get shaders now with 1 million NIR instructions, which is a pain to debug.
- Doom Eternal (Vulkan): Does not work. The raytracing option in the menu stays grayed out and at this point I’m at a loss what is required to make the game allow enabling RT.
Not quite there yet with more work to be done. Nieuwenhuizen still needs to upstream the code to the official Mesa repositories, work is needed to improve "the pipeline compilation model to hopefully make ghostrunner work", work on performance with improved "BVH building", improve traversal and then also move onto bits needed for DXR 1.1 including VK_KHR_ray_query.
So it's all getting there. Hopefully by the end of the year we might see properly working AMD Ray Tracing on Linux.