Hardware raytracing

From ArchWiki

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: This article needs feedback from users with compatible Intel & AMD hardware to expand its scope and accuracy (Discuss in Talk:Hardware raytracing)

This page will serve as a guide to the current state of Hardware raytracing support on Linux as well as provide information on how to set everything up.

In all cases it is assumed you will be running the game through Proton, VKD3D is required, DXVK will not work.

Note: Using raytracing requires that you set some environment variables, these can be set globally or per user.

AMD

AMD RDNA2 GPUs offer hardware raytracing support through onboard compute units, current performance is mixed.

Usage

Use the following environment variables:

VKD3D_CONFIG=dxr11,dxr
RADV_PERFTEST_RT=1
Warning: Raytracing support with AMD GPUs is not yet fully implemented into Mesa and will only work with a small amount of games. Full support is expected to be included in Mesa 23.

Intel

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: We should remove the requirement for the kernel version, since linux-lts is 6.1. We should explain why the headers are needed, and reword the requirements that way. (Discuss in Talk:Hardware raytracing)

Intel ARC GPUs offer hardware raytracying support through onboard TSUs, current performance is mixed.

Usage

Use the following environment variables:

VKD3D_CONFIG=dxr11,dxr

NVIDIA

NVIDIA's raytracing implementation for Linux is pretty much on par with Windows, that is to say, with supported hardware and the correct drivers RTX works well on Linux.

  • GPU - Any card with the RTX moniker (RTX 2060+, RTX 3050+, RTX 4050+)
  • Driver - nvidia 510.60.02 or newer with nvidia-utils and nvidia-settings (with their lib32 variants)

Usage

Use the following environment variables:

VKD3D_CONFIG=dxr11,dxr
PROTON_ENABLE_NVAPI=1
PROTON_ENABLE_NGX_UPDATER=1

Additionally, the following optional variable can be set:

PROTON_HIDE_NVIDIA_GPU=0
Note:
  • This configuration will enable support for both Deep Learning Super Sampling and RTX.
  • PROTON_HIDE_NVIDIA_GPU used to be required to fix a bug where proton would always report an AMD GPU. This bug has been fixed so the variable should no longer be needed but should be tried if you have issues enabling either DLSS or RTX.

Testing

Install the package raytracinginvulkan-gitAUR then from a terminal run:

$ /opt/raytracinginvulkan/bin/RayTracer