Wine Reviews has release information and reviews of Windows applications and games running on Linux macOS and ChromeOS using Wine from Winehq.org Proton Lutris Q4Wine PlayOnLinux PlayOnMac WineBottler WineSkin WineTricks and Wine-Staging.
The Wine development release 7.0.1 is now available.
What's new in this release:
Various bug fixes
Translation updates
The source is available now.
Binary packages are in the process of being built, and will appear soon at their respective download locations.
Bugs fixed in 7.0.1 (total 32):
- #12732 Nota Bene crashes on install - #44202 undname.c fails to parse symbols with rvalue-reference semantics '&&' - #45916 x64dbg fails to load debuggee, needs ThreadScheduler_ScheduleTask - #50352 Maximum sockets per process is set very low - #50370 Gothic 1 doesn't start correctly when screen resolution of the game matches display resolution - #50433 'MsiBreak' custom action debugging aid should use custom action's name from 'CustomAction' table (currently uses 'Target' field) - #50869 Killing Wine process in Wine 6.5 doesn't terminate the application because of the new use of start.exe - #51163 WinOffice Pro 5.3 stops after splashscreen, needs WMI class SoftwareLicensingProduct - #51619 advapi32:registry fails in Wine because French & German timezone name translations are too long - #51900 regression: REAPER scrollbars flash between themed and non-themed - #52163 postgresql-9.3 installer expects scrrun:filesys_GetTempName to return filename with TMP suffix - #52298 Opening PPT with Freeoffice Presentations crashes on unimplemented function ole32.dll.OleConvertIStorageToOLESTREAMEx - #52426 BCryptSignHash mishandles empty arguments - #52434 Light Blue theme has rendering errors in tree views - #52436 In Light Blue theme, checkable toggle buttons (BS_AUTOCHECKBOX) look unchecked when hovered - #52446 Normal dlls with native subsystem id are no longer processed when importing system dlls with uppercase names - #52476 QuickLOAD (VB5 app) input value is changed by factor 10 - #52494 shell32 progman_dde tests crash if run immediately after prefix creation - #52510 alt:V mod for Grand Theft Auto V fails due to missing concrt140._Byte_reverse_table@details@Concurrency@@3QBEB - #52562 advapi32:registry fails in Wine because some French timezone name translations are too long - #52581 Internet MIDI crashes with Light Blue theme enabled - #52583 ApiSetView does not display export ordinals correctly - #52616 SteelSeries GG installer crashes on unimplemented function setupapi.dll.SetupQueryInfVersionInformationW - #52618 32-bit EXEs do not launch from build dir on macOS 10.14 in WOW64 - #52626 MahjongSoul needs unimplemented function combase.dll.RoSetErrorReportingFlags - #52667 DTS Master Audio Suite can't select save file location when wine's "Light" theme is used - #52679 Anno 1602 / 1602 A.D. graphics too dark / black - #52704 FreeHand 9 demo: invalid handle exception (0xc0000008) when attaching uxtheme.dll - #52787 Invalid function prototype for "RegisterUserApiHook" when compiling for C++ - #52953 GuiPy crashes on unimplemented function xmllite.dll.CreateXmlReaderInputWithEncodingCodePage - #53034 Lazarus: menu text disappears under mouse if light theme is enabled - #53430 urlmon:url fails due to unexpected redirection
Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off CodeWeavers CrossOver+ today.
VKD3D-Proton is a fork of VKD3D, which aims to implement the full Direct3D 12 API on top of Vulkan.
The project serves as the development effort for Direct3D 12 support in Proton.
This release rolls up a massive amount of work since the Steam Deck launch in late February
with mostly features and fixes.
Heightened driver requirements
Newer extensions are now required.
VK_KHR_dynamic_rendering
VK_EXT_extended_dynamic_state
VK_EXT_extended_dynamic_state2 (no optional features required)
VK_KHR_maintenance4
KHR_dynamic_rendering in particular requires Mesa 22.0 or NVIDIA 510 series, which should have
propagated to distributions a long time ago at this point.
NOTE: Proton 7.0 stable series will stick to v2.6 to avoid the hard driver requirement bump.
Proton Experimental and any future stable beyond 7.0 will stick to v2.7 and later.
KHR_dynamic_rendering fixes many previously unsolvable issues, but it required a rewrite,
and it was deemed impractical to support both legacy and modern paths.
Improved pipeline cache
v2.6 introduced support for pipeline libraries, but only for games which made correct use of the D3D12 API.
To improve the situation across the board,
vkd3d-proton now implements an internal "magic" disk cache to enable SPIR-V caching for all games.
It is possible to disable the magic cache and let applications manage the ID3D12PipelineLibrary itself if desired.
To further reduce on-disk footprint of the magic cache, we also make use of VK_EXT_shader_module_identifier
to reduce the vkd3d-proton cache by >95%, since there is no need to store actual SPIR-V data on-disk.
Optimizations
Mostly a lot of minor things this release.
Slightly improve GPU performance for depth render passes.
Improve GPU performance for certain floating-point images where UAV usage was enabled.
Improve GPU performance for certain use cases of WriteBufferImmediate().
Improve GPU performance for certain access patterns of root descriptors.
Improve GPU performance for back-to-back buffer-image copies.
Improve GPU performance when allocating large zero-cleared resources and heaps.
Misc things here and there to reduce overhead.
New D3D12 features
Mesh shaders
VK_EXT_mesh_shader is required for this. Directly compatible with D3D12.
Advanced ExecuteIndirect
Uses VK_NV_device_generated_commands. Supported by both RADV and NVIDIA. Allows Halo Infinite to run.
DXR 1.1
Implement some missing features from DXR 1.1:
AddToStateObject()
ExecuteIndirect trace rays
Various complex RTPSO features
DXIL subobject parsing
Misc query features
With these fixes in place, e.g. Cyberpunk 2077 DXR works. VK_KHR_raytracing_maintenance1 is required for some features.
NOTE: VKD3D_CONFIG=dxr11 is required to enable DXR 1.1 for now.
Shared resources
Basic shared resources and fences are now supported when running on Proton. Allows interop with DXVK.
Special thanks to Derek Lesho (@Guy1524) for implementation.
SV_Barycentrics
SM 6.1 barycentrics are now exposed through VK_KHR_fragment_shader_barycentric.
Preliminary HDR support
vkd3d-proton can take advantage of HDR now, assuming the system itself supports it.
Game fixes and workarounds
Fix random GPU hangs in Hitman 3.
Fix crash in Redout 2.
Fix random GPU hang in F1 2021.
Fix random flicker in Guardians of the Galaxy.
Update some API checks required by latest AgilitySDK runtime features. Fix crash in F1 2022.
Add various workarounds for game bugs in Halo Infinite.
Add workaround for amdgpu kernel issue for certain games using imported host memory and multiple Vulkan devices.
Workaround glitched rendering in F1 2020 due to game bug.
Workaround certain games that violate placed resource API w.r.t. subresource initialization.
Spiderman Remastered and Lost Judgment are affected. More games will likely surface.
DXIL support
Countless bug fixes for games released since last release. Too many to enumerate individually.
Misc
Improve compatibility with Intel ANV driver.
Improve correctness of GetFrameLatencyWaitableObject().
Add BLOB PIX decoding.
Improve stability when minimizing and alt-tabbing in and out of fullscreen in some games.
Preparation for MIT re-license is underway.
Stronger debugging facilities
For developers and power users, a breadcrumbs functionality is added to greatly aid GPU hang debugging.
Requires either VK_AMD_buffer_marker or VK_NV_device_diagnostic_checkpoints.
When capturing with RenderDoc, cached host memory is enabled by default to speed up capture and improve stability.
I’m thrilled to announce CodeWeavers has released CrossOver 22 for macOS, Linux and ChromeOS!
The hallmark of this release is a complete redesign of the CrossOver user interface for macOS, Linux and ChromeOS. These changes were designed with two goals in mind: both to make CrossOver more intuitive to use and to offer a more modern look and feel. We are grateful to our BetterTesters who responded to our survey and participated in our usability studies: your feedback was invaluable!
CrossOver 22 includes an update to Wine 7.7, bringing with it over 10,000 changes that offer improvements to a variety of applications. This release also includes an update to Wine Mono 7.2.0 and vkd3d 1.4.
On the macOS side, we have been continuing to make gaming performance improvements. Between including the wined3d changes available with Wine 7.7, updating to MoltenVK version 1.1.10 and adding a few other tweaks, we’ve made quite a bit of progress. One particularly exciting example is Rocket League: the performance using wined3d is much better than CrossOver 21.2, and the nameplates are visible in-game (unlike using DXVK).
Our initial tests show that CrossOver 22 runs pretty well on the macOS Ventura beta. Please note that we cannot offer official support for Ventura until it is released due to the possibility of changes during beta causing problems for CrossOver support. After Ventura is released, we will post an update on our website, so make sure you are subscribed to our blog to get the latest updates on Ventura compatibility.
CrossOver 22 also offers initial support for DirectX 12 games on Linux. A handful of DirectX 12 games are running well, including Diablo II Resurrected. We also have a few fixes to Office 2016/365 bugs for our Linux and ChromeOS users.
If you use CrossOver to play GTA Online, please see this forum post with information about potential bans from Rockstar Games.
Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off CodeWeavers CrossOver+ today.
Improve FPS in Street Fighter V during online matches.
Improve Sekiro: Shadow Die Twice performance in certain areas.
Fix Elden Ring crashing during prolonged gameplay.
Fix the new Final Fantasy XIV Online launcher.
Fix DEATHLOOP crashing after long system suspend.
Fix The Turing Test crashing when starting Chapter 4.
Fix controller support in Mini Ninja.
Fix Resident Evil Revelations 2 not starting on the Steam Deck.
Fix video playback in: Disintegration, Dread X Collection: The Hunt,
EZ2ON REBOOT : R, El Hijo - A Wild West Tale, Ember Knights, Outward:
Definitive Edition, POSTAL4: No Regerts, Power Rangers: Battle for the
Grid, Solasta: Crown of the Magister, Street Fighter V, The Room 4: Old
Sins. Fix video playback in Ghostwire: Tokyo and other games using VP8
and VP9 codecs.
Fix non-steering-wheel controller support in WRC10.
Fix S&box not finding any games to join.
Fix The Legend of Heroes: Zero no Kiseki Kai failing to start for the first time.
Fix Mortal Kombat Komplete crashing when audio devices with long names are present.
Fix handling of external links in Castle Morihisa.
Improve text rendering in Rockstar Launcher.
Improve steering wheel detection.
Support xinput controller reordering on the Steam Deck.
I’m thrilled to announce that we have released CrossOver 21.2 for macOS, Linux and Chrome OS!
This new release offers both improvements from upstream Wine and important fixes for a variety of issues.
CrossOver 21.2 includes over 300 updates to wined3d from upstream
Wine. We also included dozens of changes from Wine 6.0.1 and 6.0.2 and
updated to Wine Mono 7.0.
Audio now works on both Mac and Linux for Halo: Master Chief
Collection. We also fixed an issue with a recent Steam update that was
causing some connections to take a very long time.
On macOS, we fixed a long-standing issue with mouse control in Unity
games. We also included fixes for the latest Rockstar Games Launcher and
Quicken updates that caused those applications to stop working on M1
machines.
For our Linux and Chrome OS users, we fixed rendering issues on
Office 365. We also made changes so that CrossOver once again seamlessly
installs on Chrome OS, and we added a fix for libldap dependency errors
on certain Linux distros (including Ubuntu 21.10).
Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off CodeWeavers CrossOver+ today.
VKD3D-Proton is a fork of VKD3D, which aims to implement the full Direct3D 12 API on top of Vulkan.
The project serves as the development effort for Direct3D 12 support in Proton.
It has been a long while since 2.5, and this release rolls up a lot of fixes, features and optimizations.
Fixes
Fix black screen rendering bug in Horizon Zero Dawn after latest game updates.
Fix crashes on startup in Final Fantasy VII: Remake and Warframe.
Fix crashes in Guardians of the Galaxy when interacting with certain game objects.
Fix hang on game shutdown in Elden Ring.
Fix broken geometry rendering in Age of Empires: IV.
Optimization
Improve generated shader code for vectorized load-store operations in DXIL.
Greatly reduce CPU overhead for descriptor copy operations,
which is a key contributor to CPU overhead in D3D12.
Features
Pipeline library rewrite
Support D3D12 pipeline libraries better where we can now also cache
generated SPIR-V from DXBC/DXIL.
Massively reduces subsequent load times in Monster Hunter: Rise,
and helps other titles like Guardian of the Galaxy and Elden Ring.
Also lays the groundwork for internal driver caches down the line for games which do not use this API.
Also, deduplicates binary blobs for reduced disk size requirements.
Shader models
Shader model 6.6 is now fully implemented. This includes support for:
ResourceDescriptorHeap[] direct access
64-bit atomics
IsHelperLane()
Compute shader derivatives
WaveSize attribute
Packed math intrinsics
Minor features
Handle API feature MinResourceLODClamp correctly if VK_EXT_image_view_min_lod is supported.
Expose CastFullyTypedFormat feature.
Expose some advanced shader features on Intel related to UAV formats (VK_KHR_format_feature_flags2).
Support COLOR -> STENCIL copies.
Workarounds
Workaround DEATHLOOP not emitting synchronization commands correctly. Fixes menu flicker on RADV.
Workaround quirky API usage in Elden Ring. Removes many kinds of stutter and chug when traversing the scenery.
Workaround certain environments failing to create Vulkan device if some VK_NVX_* extensions are enabled.
Workaround glitched foliage rendering in Horizon Zero Dawn after latest game updates.
Workaround some questionable UE4 shaders causing glitched rendering on RADV.
Note on future Vulkan driver requirements
2.6 is expected to be the last vkd3d-proton release before we require some newer Vulkan extensions. VK_KHR_dynamic_rendering and VK_EXT_extended_dynamic_state
(and likely dynamic_state_2 as well) will be required.
VK_KHR_dynamic_rendering in particular requires up-to-date drivers and the legacy render pass path
will be abandoned in favor of it. Supporting both paths at the same time is not practical.
Moving to VK_KHR_dynamic_rendering allows us to fix some critical flaws with the legacy API
which caused potential shader compilation stutters and extra CPU overhead.
What is Valve Proton? The Steam Deck’s live-or-die Linux software, explained
The Steam Deck's success will hinge on Proton, a Valve technology
that lets Windows games run on Linux. Here's what you need to know.
Looking at the spec sheet alone, the $399 Steam Deck gaming handheld should be a winner—and early Steam Deck reviews
certainly suggest Valve nailed it on the hardware front. The PC-centric
Nintendo Switch rival features a big 7-inch touchscreen, plenty of
control inputs, an all-AMD chip based on the same hardware inside the
Xbox Series S|X and PlayStation 5, and the ability to double as a
full-fledged Linux PC. But forget the hardware. While it’s impressive
indeed, the Steam Deck will sink or swim based on its software, and that
means Valve awesome Proton technology is about to be thrust into the
spotlight.
The Steam Deck
will sprint to a larger software library than most gaming handhelds
because you’ll be able to tap into decades of existing PC games through
your Steam account, rather than having to wait for new releases made
specifically for the fresh hardware. But most of those games were
created for Windows, and the Steam Deck runs on Valve’s Linux-based
SteamOS operating system instead. Proton (via Steam Play) lets Windows
games run on Linux. It works very well much of the time, but
it’s not perfect—and the Steam Deck’s success probably depends on just
how much Valve can polish up Proton before the handheld’s February 25
launch. The best hardware in the world is only as good as the software
that runs on it, after all.
Here’s a high-level look at what you need to know about Proton, the Steam Deck’s secret software sauce.
What is Steam Proton?
At a high level, Proton is a compatibility layer that allows Windows
games to run on Linux-based operating systems (such as the Steam Deck’s
SteamOS). In the past, playing PC games on Linux required you to run
Steam games through software called Wine (an acronym for “Wine is not an
emulator.”). Valve worked with CodeWeavers developers to build Proton
as a fork of Wine, then baked the technology right into Steam itself as
part of Steam Play, the company’s “buy once, play on any PC platform”
endeavor.
Valve created Proton after its living room-focused Steam Machine initiative failed, partly because of their reliance on the much-smaller Linux gaming library. “There was always kind of this classic chicken and egg problem with the Steam Machine,” designer Scott Dalton told IGN. “That led us down this path of Proton, where now there’s all these games that actually run.”
If you’re interested in industry inside baseball, Proton and SteamOS also double as a potential escape hatch from Windows if Valve ever needs it.
How do you set up Steam Proton?
Currently, Steam for Linux does not flip on Proton by
default. You need to manually enable it or stick to games that offer a
native Linux port. Considering how few games offer native Linux
versions, we’re strongly hoping Valve makes Proton/Steam Play enabled by
default on the Steam Deck, or there will be a lot of unhappy customers.
If you’re already using Linux, you can turn on Proton by opening your
Steam settings and clicking on the “Steam Play” option at the bottom of
the navigation pane. (The option won’t be visible on Windows PCs.)
There, you’ll see a box you can check to “Enable Steam Play for
supported titles.” That turns on Proton for games confirmed to work well
with the technology, added to a whitelist by Valve. You’ll also see an
advanced option to “Enable Steam Play for all other titles,” which will
flip on Proton for everything after you restart the client.
Will all my games work on Steam Deck with Proton?
Will all games work? That’s the million dollar question.
Valve has been steadily improving Proton ever since it launched in 2018, and many—most,
even—Windows games run pretty well via Steam Play with little to no
tinkering. Your best resource for determining how a game runs is the
utterly fantastic ProtonDB,
a community-made treasure trove of information that currently tracks
almost 19,000 games, of which over 15,000 work on Linux. The site also
maintains a very helpful troubleshooting FAQ for Proton games. (Be sure to leave reports of your own if you use Proton and Steam Play!)
As those numbers indicate, some games are just plain “borked” on
Linux, to borrow ProtonDB’s term. The most common casualties? Sadly, the
most popular games around—battle royale games and esports titles.
Proton’s compatibility layer tweaks don’t play nice with the anti-cheat
software deployed in widely played online games. Valve made sure to get
its own Counter-Strike: Global Offensive and Team Fortress 2 running on Linux, but heavy hitters like PlayerUnknown’s Battlegrounds, New World, Apex Legends, and Destiny 2 still won’t run.
Screenshot of ProtonDB.com
That’s a massive bummer, and as you can see from the ProtonDB stats
about game compatibility above, it means that many of the most popular
games in the world couldn’t be played on a Steam Deck currently. Epic
recently stated it won’t work to support Fortnite on the Steam
Deck either. (Notice how the percentage of red “borked” games in the top
ten is much, much, much higher than in the top 100 and top 1000—that’s
because those multiplayer games dominate the top-played charts.)
Valve understands what a huge roadblock this could be. While BattlEye
and the Epic-owned Easy Anti-Cheat lacked Proton support whatsoever
when the Steam Deck was announced, but Valve has worked with those
developers to get the technology up and running on SteamOS. At the end
of January 2022, in a Steam Deck Anti-Cheat Update,
Valve declared that “Our team has been working with Epic on Easy
Anti-Cheat + Proton support over the last few months, and we’re happy to
announce that adding Steam Deck support to your existing EAC games is
now a simple process, and doesn’t require updating game binaries, SDK
versions, or integration of EOS. Alongside our BattlEye updates from
last year, this means that the two largest anti-cheat services are now
easily supported on Proton and Steam Deck.”
Developers still need to update their games to support the
technologies on SteamOS, but with BattlEye and Easy Anti-Cheat now
playing nice with Proton, the Steam Deck will launch with its biggest
hurdle already cleared. That doesn’t mean everything is roses and
sunshine though. As you see in the ProtonDB screenshot above, about 20
percent of the top 100 and 1000 games on Steam lack a Gold+
compatibility rating with Proton, and Linus Tech Tips noticed that Forza Horizon 5
suffered from some bizarre physics and lighting effects even when
running at 60 frames per second. The vast majority of games run very
well on Proton already, and that’s a monumental success for Valve and
Linux gaming alike, but every hiccup and pain point could potentially be
a deal-breaker for casual users enticed by the Steam Deck’s juicy $400
selling price.
All the appealing hardware
and just-as-appealing prices won’t matter if PC gamers can’t play their
favorite games on Valve’s handheld. As a general consumer device, the
Steam Deck will live or die on the back on Proton—and whether Steam Play
can indeed coax multiplayer developers into supporting it. Fingers
crossed.
Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off CodeWeavers CrossOver+ today.
VKD3D-Proton is a fork of VKD3D, which aims to implement the full Direct3D 12 API on top of Vulkan.
The project serves as the development effort for Direct3D 12 support in Proton.
This is a release with a little bit of everything!
Features
DXR progress
DXR has seen significant work in the background.
DXR 1.1 is now experimentally exposed. It can be enabled with VKD3D_CONFIG=dxr11.
Note that DXR 1.1 cannot be fully implemented in VK_KHR_ray_tracing's current form, in particular
DispatchRays() indirect is not compatible yet,
although we have not observed a game which requires this API feature.
DXR 1.1 inline raytracing support is fully implemented.
DXR 1.0 support is more or less feature complete.
Some weird edge cases remain, but will likely not be implemented unless required by a game. VKD3D_CONFIG=dxr will eventually be dropped when it matures.
Some new DXR games are starting to come alive, especially with DXR 1.1 enabled,
but there are significant bugs as well that we currently cannot easily debug.
Some experimental results on NVIDIA:
Control - already worked
DEATHLOOP - appears to work correctly
Cyberpunk 2077 - DXR can be enabled, but GPU timeouts
World of Warcraft - according to a user, it works, but we have not confirmed ourselves
Metro Exodus: Enhanced Edition -
gets ingame and appears to work? Not sure if it looks correct.
Heavy CPU stutter for some reason ...
Metro Exodus (original release) - GPU timeouts when enabling DXR
Resident Evil: Village - Appears to work, but the visual difference is subtle.
It's worth experimenting with these and others.
DXR is incredibly complicated, so expect bugs.
From here, DXR support is mostly a case of stamping out issues one by one.
NVIDIA DLSS
NVIDIA contributed integration APIs in vkd3d-proton which enables DLSS support in D3D12 titles in Proton.
See Proton documentation for how to enable NvAPI support.
Shader models
A fair bit of work went into DXIL translation support to catch up with native drivers.
Shader model 6.5 is exposed.
Shader model 6.6 should be straight forward once that becomes relevant.
Shader model 6.4 implementation takes advantage of VK_KHR_shader_integer_dot_product when supported.
Proper fallback for FP16 math on GPUs which do not expose native FP16 support (Polaris, Pascal).
Notably fixes AMD FSR shaders in Resident Evil: Village (and others).
Shader model 6.1 SV_Barycentric support implemented (NVIDIA only for now).
Support shader model 6.2 FP32 denorm control.
Performance
Resizable BAR can improve GPU performance about 10-15% in the best case, depends a lot on the game.
Horizon Zero Dawn and Death Stranding in particular improve massively with this change.
By default, vkd3d-proton will now take advantage of PCI-e BAR memory types through heuristics
as D3D12 does not expose direct support for resizable BAR, and native D3D12 drivers are known to use heuristics as well.
Without resizable BAR enabled in BIOS/vBIOS, we only get 256 MiB which can help performance,
but many games will improve performance even more
when we are allowed to use more than that.
There is an upper limit for how much VRAM is dedicated to this purpose.
We also added VKD3D_CONFIG=no_upload_hvv to disable all uses of PCI-e BAR memory.
Other performance improvements:
Avoid redundant descriptor update work in certain scenarios (NVIDIA contribution).
Minor tweaks here and there to reduce CPU overhead.
Fixes and workarounds
Fix behavior for swap chain presentation latency HANDLE. Fixes spurious deadlocks in some cases.
Fix many issues related to depth-stencil handling, which fixed various issues in DEATHLOOP, F1 2021, WRC 10.
Fix DIRT 5 rendering issues and crashes. Should be fully playable now.
Fix some Diablo II Resurrected rendering issues.
Workaround shader bugs in Psychonauts 2.
Workaround some Unreal Engine 4 shader bugs which multiple titles trigger.
Fix some stability issues when VRAM is exhausted on NVIDIA.
Fix CPU crash in boot-up sequence of Far Cry 6 (game is still kinda buggy though, but gets in-game).
Fix various bugs with host visible images. Fixes DEATHLOOP.
Fix various DXIL conversion bugs.
Add Invariant geometry workarounds for specific games which require it.
Fix how d3d12.dll exports symbols to be more in line with MSVC.
Fix some edge cases in bitfield instructions.
Work around extreme CPU memory bloat on the specific NVIDIA driver versions which had this bug.
Fix regression in Evil Genius 2: World Domination.
VKD3D-Proton is a fork of VKD3D, which aims to implement the full Direct3D 12 API on top of Vulkan.
The project serves as the development effort for Direct3D 12 support in Proton.
This is a release which focuses on performance and bug-fixes.
Performance
Improve swapchain latency and frame pacing by up to one frame.
Optimize lookup of format info.
Avoid potential pipeline compilation stutter in certain scenarios.
Rewrite how we handle image layouts for color and depth-stencil targets.
Allows us to remove a lot of dumb
barriers giving significant GPU-bound performance improvements.
~15%-20% GPU bound uplift in Horizon Zero Dawn,
~10% in Death Stranding,
and 5%-10% improvements in many other titles.
Features
Enable support for sparse 3D textures (tiled resources tier 3).
Bug fixes and workarounds
Various bug fixes in DXIL.
Fix weird bug where sun would pop through walls in RE: Village.
Workaround game bug in Cyberpunk 2077 where certain locales would render a black screen.
Fix various bugs (in benchmark and in vkd3d-proton) allowing GravityMark to run.
Improve robustness against certain app bugs related to NULL descriptors.
Fix bug with constant FP64 vector handling in DXBC.
Fix bug where Cyberpunk 2077 inventory screen could spuriously hang GPU on RADV.
Add workaround for Necromunda: Hired Gun where character models would render random garbage on RADV.
Fix bug in Necromunda: Hired Gun causing random screen flicker.
Fix windowed mode tracking when leaving fullscreen. Fix Alt-Tab handling in Horizon Zero Dawn.
Temporary workaround for SRV ResourceMinLODClamp. Fix black ground rendering in DIRT 5.
The overbright HDR rendering in DIRT 5 sadly persists however :(
Implement fallback maximum swapchain latency correctly.
Development features
Various features which are useful for developers were added to aid debugging.
Descriptor QA can instrument shaders in runtime for GPU-assisted validation.
Performance is good enough (> 40 FPS) that games are actually playable in this mode.
See README for details.
Allow forcing off CONCURRENT queue, and using EXCLUSIVE queue.
Not valid, but can be useful as a speed hack on Polaris when single_queue is not an option
and for testing driver behavior differences.
VKD3D-Proton is a fork of VKD3D, which aims to implement the full Direct3D 12 API on top of Vulkan.
The project serves as the development effort for Direct3D 12 support in Proton.
This is a minor bugfix release to address some issues solved shortly after the last release.
Fixes
Improved support for older Wine and Vulkan Loader versions.
Fix blocky shadows in Horizon Zero Dawn.
Fix the install script failing on Wine installs not built with upstream vkd3d.
VKD3D-Proton is a fork of VKD3D, which aims to implement the full Direct3D 12 API on top of Vulkan.
The project serves as the development effort for Direct3D 12 support in Proton.
This release adds support for more D3D12 features and greatly improves GPU bound performance
in many scenarios.
Features
Early DXR 1.0 support
VK_KHR_raytracing is used to enable cross-vendor ray-tracing support.
The implementation is WIP, but it is good enough to run some real content.
As of writing, only the NVIDIA driver works correctly.
It is expected AMD RDNA2 GPUs will work when working drivers are available
(amdgpu-pro 21.10 is known to not work).
Games which are expected to work include:
Control (appears to be fully working)
Ghostrunner (seems to work, not exhaustively tested)
To enable DXR support, VKD3D_CONFIG=dxr %command% should be used when launching game.
Certain games may be unstable if DXR is enabled by default.
Conservative rasterization
Full support (tier 3) for conservative rasterization was added.
Variable rate shading
Full support (tier 2) for variable rate shading was added.
Command list bundles
Allows Kingdom Hearts remaster to get past the errors, unsure if game fully works yet.
Write Watch and APITrace
Support for D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH has been added.
This means APITraces of titles can now be captured.
Performance
Improve GPU bound performance in RE2 by up to 20% on NVIDIA.
Enable async compute queues. Greatly improves GPU performance and frame pacing in many titles.
Horizon Zero Dawn and Death Stranding see exceptional gains with this fix,
due to how the engines work. GPU utilization should now reach ~100%.
For best results, AMD Navi+ GPUs are recommended, but Polaris and earlier still
see great results. It is possible to disable this path, if for whatever reason
multiple queues are causing issues. See README.
Optimize bindless constant buffer GPU-bound performance on NVIDIA if certain API code paths are used.
Optimize sparse binding CPU overhead.
TRACE logging calls are disabled by default on release builds.
Fixes and workarounds
Fix various DXIL bugs.
Be more robust against broken pipeline creation API calls.
Avoids driver crashes in Forza Horizon 4.
Workaround some buggy shaders in F1 2020.
Fix bugs if depth bounds test is used in certain ways.
Fix a read out-of-bounds in UpdateTileMappings.
Fix SV_ClipDistance and SV_CullDistance in Hull Shaders.