Intel Arc Driver Optimizations Leverage Valve's DXVK Translator

Intel Arc A770 Limited Edition
(Image credit: Tom's Hardware)

Just yesterday, Intel released a massive driver update to its Arc Alchemist GPUs, resulting in a near 2x FPS (frames per second) increase in DX9-based titles. Now, according to a report by GamingOnLinux, we know how Intel was able to accomplish this task in some games. Intel has added another translation layer to its latest graphics driver, featuring Steam’s DXVK translation layer. This is the same translation layer Steam uses in its Proton API to translate Windows games to Linux (like we saw on the Steam Deck), allowing Intel to translate DX9 code to the open-source Vulkan API.

According to Intel’s blog post from yesterday, Intel is apparently only using the DXVK translation layer in some cases; its driver will take a hybrid approach of opportunistically utilizing a combination of API techniques that take advantage of translation layers using one or more modern API implementations. As a result, Intel won’t be using DXVK for the entirety of its DX9 processing, and will only use DXVK when it can provide better performance over Intel’s DX12 emulation technique.

Intel never actually stated it was using DXVK in its official blog post, but thanks to Gaming On Linux, we now know DXVK translation is what Intel is referring to, based on a readme document Intel published on the same topic. Unfortunately, we do not know how effective DXVK actually is with Intel’s implementation, but it must be a very effective solution for Intel to implement the translation layer into its latest driver at all.

Intel’s Arc GPUs - and its associated Xe integrated graphics, no longer feature native DX9 support. Instead Intel has opted to rely solely on translation layers to replicate native rendering. One such example is Intel’s utilization of the Microsoft D3D9On12 mapping layer, which translates DX9 commands to DX12.

Intel’s reliance on translation layers may not be ideal, but it actually gives the company a shortcut in garnering good DX9 GPU performance quickly. Translation layers allow Intel to use DX12 optimizations for both modern DX12 titles and for older DX9 games, which severely cuts down the development time needed to optimize both new and old APIs. This was a necessary move for Intel, because it needed a way to compete with Nvidia and AMD, which have nearly twenty years of experience developing DX9 drivers for discrete GPU hardware.

The awesome part about DXVK is that Intel no longer needs to rely on Microsoft’s DX12 emulation layer to play DX9 games on Arc. With DXVK, Intel can now run DX9 games on other operating systems such as Linux, and gain additional performance benefits that might not be available in Microsoft’s emulator. 

Aaron Klotz
Freelance News Writer

Aaron Klotz is a freelance writer for Tom’s Hardware US, covering news topics related to computer hardware such as CPUs, and graphics cards.

  • Co BIY
    Is this open source code or is Intel licensing from Steam or entered into some cross-licensing deal ?
  • hotaru251
    Co BIY said:
    Is this open source code or is Intel licensing from Steam or entered into some cross-licensing deal ?
    DXVK is entirely Open Source.
  • Giroro
    Co BIY said:
    Is this open source code or is Intel licensing from Steam or entered into some cross-licensing deal ?
    Open source and paying license fees are not mutually exclusive.
    Just because you are allowed to see how some software works doesn't mean a company like Intel can just use/modify/sell it however they want, for free. Sometimes you can, often a company like Intel cannot. It depends on the software.
    Granted, the rules are largely unenforceable.
  • kinney
    Brave to Intel for implementing this. Many of us have been asking Intel to do it in their forums.

    You would think it would be good if they dropped Microsoft's DX9 emulation for DXVK for all DX9 titles, but compatibility isn't as wide. At least not yet. Cherry-picking popular titles that can be validated on DXVK on Windows is the right approach.

    That just leaves DX11, and Intel has a custom driver handling that which they're currently working on making multithreaded. For that to be full performance it needs to be custom built. Good decision making by Intel all around.
  • InvalidError
    Wonder how if this applies to the A380 too.
  • -Fran-
    It's kind of funny they're translating from DX9 to Vulkan... Then again, this works better for any Intel driver for Linux (which have always been rather good, actually; basic, but stable) and SteamOS ports that will help Intel get more ultra portable (handhelds?) wins over AMD. Or so I'd imagine.

    Still, nice to see behemoth money being poured into a great FOSS project. Or so I'll assume, since whatever hey find in terms of bugs will be pushed into the common repo of DXVK.