Press "Enter" to skip to content

Xe HPG: Intel brings open source ray tracing for Linux

The free Vulkan driver from Intel will support ray tracing in the future. This serves the upcoming Xe-HPG card from Intel.

The ray tracing GPUs from Intel will also support the technology under Linux. (Image: JOSEP LAGO / AFP via Getty Images)

The development team of the free Linux graphics driver from Intel has started to implement ray tracing support based on Vulkan in its driver. This emerges from patches that the developer Jason Ekstrand has proposed for inclusion in the Mesa 3D userspace library.

As Ekstrand writes, this is initially about the support of ray tracing for Intel's shader compiler in Mesa. "This is the first of many to add ray tracing support to the Intel Linux Vulkan driver," wrote Ekstrand. However, a comparatively large amount of additional code is still missing in order to actually have a ready-to-use ray tracing driver in the end.

Above all, this includes platform support for actual hardware, which the driver does not yet offer. But it should only be a matter of time. After all, Intel's Xe HPG (High Performance Gaming) alias Gen12 GPU will offer hardware-accelerated ray tracing. For this, driver support is now also being created in Mesa. The cards should be available in the coming year 2021. Whether the Linux drivers will be ready by then cannot be foreseen at the moment, but it is likely.

The work on the Vulkan driver is based on the new ray tracing API of the open graphics interface . This was only presented in the spring of this year and has hardly been used so far. Those games that offer Vulkan ray tracing have mostly used a proprietary Nvidia extension for this. With the standardization of the API and other drivers that support it, this should change in the future. In addition to Intel, AMD is also working on the implementation in its free Radeon driver. Nvidia also implements this in its proprietary driver.

.formatted { position: relative; }
figure#qdczolefuny { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; z-index: 1000; margin: 0 -150px; border-left: 150px solid #fff; border-right: 150px solid #fff; background-color: white; background-image: linear-gradient(#f2f2f2 60%, white 40%); background-size: 10px 28px;
figure#qdczolefuny > figcaption { display: table; margin: 28px auto; width: 400px; padding: 28px 20px; background-color: white;
figure#qdczolefuny > figcaption > ul { list-style: disc; margin: 8px 0 8px 16px;
figure#qdczolefuny > figcaption > ul > li,
figure#qdczolefuny > figcaption { font: normal normal 400 14px/20px ‘Droid Sans’,arial,sans-serif;