DXVK 3.1.1 Drops: Adobe After Effects Restored, Plus Deadlocks and Game Regressions Patched
The patch release rides on the heels of the 3.x rewrite, mopping up Adobe app breakage, deadly D3D9 freezes and a batch of regressions from the ambitious shader overhaul.
The translation layer that keeps Windows games playable on Linux has released DXVK 3.1.1, and this time the news is about making broken things work again, not pushing benchmark numbers. Maintainer Philip "doitsujin" Rebohle tagged v3.1.1 today, roughly two weeks after the 3.1 update landed and just over three months after the 3.x line's biggest rewrite in years.
DXVK converts Direct3D 8, 9, 10 and 11 calls into Vulkan, which is what lets Windows games run on Linux and Steam Deck through Wine and Valve's Proton. It's written in C++, sits under the zlib license, and today quietly underpins far more than gaming: Intel's Arc D3D9 drivers, VirtualBox's DirectX 11 support, and even native "DXVK Native" builds that skip Wine entirely. The project claims roughly 80% of Steam's top games run near flawlessly through it.
That number only holds if the software actually stays broken-free, which is exactly the kind of thing point releases chase.
Adobe gets its way back
The headline fix is Adobe Creative Suite compatibility, and it grew out of a rather brutal bug. As contributor buwryme wrote in PR #5871, After Effects 2024 calls SetBackgroundColor when it sets up its viewport. DXVK didn't implement it, so the method returned E_NOTIMPL and the window came up blank. Not a crash. Just an empty box where your timeline should be.
Nastier still, this had already been filed once before. Issue #5069, for Premiere Pro, was closed under the assumption it was a missing video-decode API. buwryme split it apart with A/B testing between dxvk-only and dxvk plus vkd3d prefixes and traced the real culprit to this one DXGI method instead.
The implementation itself is some clever workarounding. DXVK bypasses the Desktop Window Manager and presents straight through Vulkan, so it can't just hand off the background color like a native build would. Instead the team clears the swap-chain image with the requested color via VkClearColorValue before blitting the back buffer. Rebohle then pushed the contribution further, adding the companion DXGI_SCALING_NONE scaling mode as well, since a plain color clear on its own wouldn't fix the rendering.
Per buwryme the result makes AE 2024 (and even AE 2020) run "wonderfully," and resurrects CEP extension panels, which lean on the Chromium Embedded Framework. The release notes stay conservative, saying the changes "reportedly fix some Adobe software." AE 2025 and newer still won't play nicely under Wine, so don't go deleting your Windows install just yet.
For the record, DXVK began as a Nier: Automata fan project. Rebohle was unhappy with Wine's old D3D11-to-OpenGL path and got burned by an AMD driver bug on Windows, so he ported the game to the brand-new Vulkan API in late 2017. Valve spotted the wider value, hired him, and folded DXVK into Proton. The two projects have been developing in lockstep ever since, which is why the ENB fix below lives one repository down.
The rest of the patch is no slouch. DXVK 3.1.1 closes a shader-compiler crash triggered by certain ENB post-processing shaders, addressed in dxbc-spirv#94. ENB is ubiquitous across older Direct3D titles, so a compiler crash here takes down a whole swath of modifiable games. That fix lives in the companion dxbc-spirv repo, a quiet reminder of how tightly the two codebases now move together.
More damaging than a crash is a deadlock, and this release resolves them in a couple of D3D9 games. Issues #5874 and #5888 track the problem, which hit SpellForce 2: Anniversary Edition — user ranplayer reported it freezing solid when a match starts on an RX 6700 XT with Mesa through Proton — along with The Sims: Medieval. Deadlocks are nasty because they often demand a hard reboot and risk corrupting save data, so this lands as one of the more meaningful fixes in the release.
A scatter of targeted game fixes rounds it out. Call of Duty: Ghosts gets its vertex explosions on player models sorted out. Corpse Party has a regression that darkened part of the screen fixed (PR #5904). Painkiller: Black Edition no longer mis-sizes its window. Rayman 3's flickering graphics stop being a regression. And Skyrim SE works around poor CPU performance when you unlock the framerate on some setups.
The word "regression" shows up for both Corpse Party and Rayman 3, which means the 3.x line itself introduced those problems. That's the whole point of a point release: catch the damage the big update caused and mop it up.
A warning you've heard before, and how to install it
DXVK 3.1.1 also carries a caveat that will feel familiar to anyone following the project: "Unfortunately, some anti-virus software has once again started flagging our 32-bit builds." The DLLs hook graphics APIs and touch memory in ways that look a lot like certain malware's tricks, so heuristic AV engines throw a fit. A warning on d3d9.dll or dxgi.dll is very likely a false positive, but grab builds only from the official GitHub releases and keep a normal head on your shoulders.
If you're doing this by hand, DXVK ships as paired 32- and 64-bit DLLs that you copy into your Wine prefix and register as native overrides for d3d8, d3d9, d3d10core, d3d11 and dxgi. The usual environment variables stay useful here: DXVK_HUD for the framerate and GPU overlay, DXVK_SHADER_CACHE to control the on-disk cache Rebohle added in 3.0, and DXVK_FILTER_DEVICE_NAME to pick a specific GPU.
Most players won't touch the DLLs directly anyway. Steam Play, Lutris, Bottles and the Heroic Launcher all wire up DXVK for you once enabled, and a good number of the bug reports in this release came from users on Proton's DXVK branch.
In the meantime there are still 21 commits ahead on master, so development has already raced past 3.1.1. Keep in mind that these fixes are the response to the 3.0 rewrite's real-world fallout, and this line won't stop moving soon.
Head here to grab the full v3.1.1 release and the pull requests behind the Adobe fix.
