Pages

Showing posts with label proton. Show all posts
Showing posts with label proton. Show all posts

Wednesday, August 23, 2023

5 years ago Valve released Proton forever changing Linux gaming

Has it really been that long? Apparently so. Valve originally announced their rebranding of Steam Play with Proton back on August 21st, 2018. Seems like a good time for a quick reflection being halfway to a decade old now.

The problem: before, during and just after the original Steam Machine push developers just weren't porting many games to Linux, and on the whole really when you look back Linux gaming was in a period of mostly stagnation. Nothing much was happening. A lot of the early porting work that came along was slowly dying off since the Steam Machines didn't provide the boost Valve and Linux gamers were hoping for. 


Originally, “Steam Play” simply meant you could buy a game on Steam and get access to all versions of it. So if you purchased a game on Windows, you could play it on Linux if it had a Native Linux version (same again for macOS). Clearly though, that wasn't enough for what Valve had planned. So if Valve wanted to make Linux a better platform for people to actually use it, they needed something more.

Popular games needed to be able to run on Linux if more people were to use it, because what good is a platform for gaming if tons of the most played games weren’t compatible? As Valve saw with the Steam Machines (not the only reason of course) it doesn’t end well.

I remember being sat in my office at the time, going over my TODO list of various articles and games to cover, planning the week ahead. Ready to then probably go to bed and then BAM — out of nowhere this announcement comes along from Valve that basically said “you're going to be hella busy, better get a lot of coffee”. Valve had partnered up with CodeWeavers and Proton was the answer. 

Proton being the name Valve gave to their fork of Wine with a bunch of added extras, and it has changed Linux gaming forever. Steam Play is more than just Proton though, be sure to read my full Steam Play Proton guide. Side-note: John Carmack (id Software / Oculus VR / Keen Technologies) even thought Wine was the solution back in 2013.

Of course Proton wouldn't have been possible without all the many years of work that went into the Wine project in the first place, and everyone who contributed to Wine should be applauded for their effort. Valve has funded a lot of extra work though to get things like DXVK and VKD3D-Proton for the translation from Direct3D to Vulkan into a state where performance can be really great! Valve also funds work on Linux graphics drivers, Linux kernel work and the list goes on.

Just how much has Proton changed things though? Well, we certainly wouldn't have the Steam Deck if it wasn't for Proton. There's no way Valve would have released their handheld without as many games as possible, clearly learning their lesson on the failure of the Steam Machines. But as we all know, the Steam Machines burned so Proton and the Steam Deck could rise from the ashes.

Proton just makes a lot of sense. It didn't take long for Valve to expand Proton to go initially from a few select Valve-approved titles, to being able to run anything we choose to try with it. From there, Linux gaming just seemingly exploded. And then eventually we saw why Valve made Proton with the Steam Deck announcement coming less than three years later in July 2021.

When you look at the crowd-sourced reports on ProtonDB over 11,000 titles are reported to work by multiple people. It's a small fraction of Steam's overall game count but ProtonDB relies on people actually going and writing a report.

Valve's own Deck Verified rating system just for the Steam Deck hit plenty of milestones since the Steam Deck's release too, now having over 10,000 titles rated to be Playable or Verified. Although both ProtonDB and Deck Verified include a mixture of Native Linux releases and Windows games run with Proton. The point is - being on Linux now for a gamer means quite often a huge amount of your games do actually "just work". It's almost magical.

The real number of games playable on Linux will never be truly known though, because on Steam there's many tens of thousands of games and a lot of them will likely "just work" with Proton if they don’t have a Native Linux build available…and many more are releasing every week. This is a truly incredible place to be in. When you think about Linux and Steam Deck together having just less than a 2% user share on Steam overall — these are some insane numbers for game compatibility for a niche platform.

Thanks to Proton, I've been able to discover a ton of new favorite games, some I would never have played before. Games like Deep Rock Galactic, God of War, Death Stranding, Baldur’s Gate 3, Brotato, Beat Saber and so on. You get the idea, there’s a truly ridiculous selection of games available and at times it’s a little paralysing scrolling through my Steam Library deciding what to play — a delightfully annoying problem to have huh?

Full Article

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today. 

Wednesday, August 2, 2023

Proton 8.0-3 has been released

 Valve has just published Proton 8.0-3 as the newest version of this Wine-based software that powers Steam Play for running Windows games on Linux. 


  • Previously playable only with Proton Experimental:
    • Propnight
    • Combat Mission: Battle for Normandy
    • Bloodrayne Terminal Cut 1/2
    • Breakout 13
    • Murasaki Tsurugi
    • PooShooter: Toilet Invaders
    • Purgo Box
    • Olympia Rising
    • Summoners War: Chronicles
    • Tom Clancy's Ghost Recon Breakpoint
    • Minecraft Legends
    • Company of Heroes: Battle of Crete
    • STRANGER OF PARADISE FINAL FANTASY ORIGIN
    • Gunfire: Reborn
    • Super Bomberman R
  • Newly playable: StreetStep: 21st Century Basketball.
  • Fixed Battle.net not starting.
  • Fixed EA launcher crashing.
  • Fixed Ubisoft Connect intermittently having an invisible window.
  • Fixed scroll bar in Final Fantasy XIV Online launcher.
  • Fixed EOS error message with Returnal and other EOS games.
  • Fixed a few Proton 8.0 regressions:
    • DJMAX RESPECT V is playable again.
    • Halo: The Master Chief Collection menus no longer are broken.
    • BeamNG.drive no longer crashes when a steering wheel is connected.
    • Cafe Stella no longer crashes with 2 elements on the flowchart.
    • Marvel’s Spider-Man Remastered no longer ignores controller input.
    • Indiana Jones and The Emperor no longer crashes on the splash screen.
    • Grand Theft Auto V no longer freezes on keyboard input.
    • TRAHA Global no longer crashes at end of second cutscene
    • Logging in online in Gears 5 works again.
    • Doom Eternal no longer crashes with ray-tracing enabled on AMDVLK / NVIDIA.
  • Fixed Creativerse hanging while exiting from a local game.
  • Fixed Call of Duty 2 hanging when loading maps.
  • Fixed New World not starting after a recent game update.
  • Fixed game stutter in Lara Croft and the Temple of Osiris.
  • Fixed Last Labyrinth displaying only a black screen on the Steam Deck.
  • Fixed Creativerse not being able to connect to a local game with a VPN connection active.
  • Fixed The Incredible Adventures of Van Helsing not rendering text in Polish correctly.
  • Fixed game looking dark and improved performance with Nosferatu: The Wrath of Malachi.
  • Fixed DXVK HUD not showing the correct git revision used.
  • Improved video playback in Roboquest.
  • Fixed various memory leaks during video playback that were affecting Street Fighter 6.
  • Enabled nvapi for many more games: Chernobylite Enhanced Edition, Dead Space (Remake), Forspoken, Forza Horizon 5, Hi-Fi Rush, Marvel's Avengers, Monster Hunter Rise, Need For Speed Unbound, Nioh 2, Propnight, Redfall, Returnal, Sackboy: A Big Adventure, SCP: 5K, Scum, The Last Of Us Part I, Watch Dogs Legion.
  • Fixed Tales of Berseria suffering from screen tearing with vsync turned on while in fullscreen / borderless.
  • Improved Final Fantasy XIII loading times.
  • Fixed Red Dead Redemption 2 taking long time to exit with Alt+F4.
  • Fixed multiple Unity titles flickering on the Steam Deck when switching display window options.
  • Fixed The Elder Scrolls Online wrongly claiming not enough space.
  • Fixed The Elder Scrolls Online launcher showing blank window.
  • Fixed Madballs in Babo: Invasion claiming the game wasn't purchased.
  • Fixed PlanetSide 2 launcher.
  • Fixed various Wo Long: Fallen Dynasty issues around video playback.
  • Fixed video playback in Nioh: Complete Edition.
  • Fixed Pentiment not being playable on desktop.
  • Fixed Grounded not being playable on desktop.
  • Improved cutscene desync in Immortals Fenyx Rising.
  • Fixed Witcher 3 launcher rendering issues.
  • Fixed Call of Duty: Black Ops III graphical glitches when loading Hex Tower.
  • Fixed video playback speed issues in METAL GEAR SOLID V: THE PHANTOM PAIN.
  • Fixed Deus Ex: Human Revolution Director's Cut hanging on exit.
  • Fixed connection error at the end of Chapter 2 in Life is Strange Remastered.
  • Fixed rendering issues in Uru: Complete Chronicles on Steam Deck.
  • Fixed Richman: Classic not starting in OpenGL mode.
  • Updated dxvk to v2.2-34-g4d254b13.
  • Updated dxvk-nvapi to v0.6.3-4-g2483eac.
  • Updated vkd3d-proton to v2.9-21-gf52e6482.

Link to source code

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

Wednesday, June 7, 2023

Lutris 0.5.13 has been released

With this release, we're adding back the ability to run games with Proton. While this can be an useful thing for testing compatibility, it is still recommended to stick with the builds provided by Lutris. We are now using @GloriousEggroll's Proton based builds by default, which makes using Steam's proton an even narrower edge case.


For players with very large libraries, Lutris will be a lot more responsive thanks to the performance improvements by @danieljohnson2, along with loads of other UI improvements!

Starting from this release, it is now possible to reference ModDB links in Lutris installers. If your distribution doesn't provide the moddb Python package, you'll have to install it with: pip install moddb.
We also have an integration with Itch.io, thanks to @GoGoOtaku (note that we don't have a way to search for or install free games from Itch.io with this integration).

Changelog:

  • Add support for Proton
  • Add drag and drop on the main window. Dropped files will be matched
    No-Intro, Redump and TOSEC checksums.
  • Add support for ModDB links in installers (moddb python module required)
  • Added "Missing" sidebar option for games whose directory is missing
  • Re-style the configuration, preferences, installer and add-games windows
  • Group configuration options into sections
  • Added checkbox to stop asking for the launch config for a game
  • Added checkbox to sort installed games first
  • Support for launch-configs in shortcuts and the command line
  • Show platform badges on banners and cover-art
  • Installing games from setup files can now use different presets (Win98, 3DFX, ...)
  • Add filter field to runner list
  • Show game count in search bar
  • Workaround Humble Bundle authentication issues by allowing importing
    cookies from Firefox
  • Add Itch.io integration
  • Add Battle.net integration (protobuf dependency required)
  • Improve detection of DOSBox games on GOG
  • Added "Unspecified" Vulkan ICD option
  • Removed ResidualVM (now merged into ScummVM)
  • Detect obsolete Vulkan drivers and default to DXVK 1.x for them
  • Improved High-DPI support for custom media
  • Performance improvements

 Download this version of Lutris from here.

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today. 

Friday, May 5, 2023

Proton 8.0-2 has been released

 Valve has just published Proton 8.0-2 as the newest version of this Wine-based software that powers Steam Play for running Windows games on Linux. 


Note: Proton 8.0 requires a GPU that supports Vulkan 1.3.

  • Fixed Baldur's Gate 3 getting stuck on a black screen in Vulkan mode.
  • Fixed Divinity: Original Sin: Enhanced Edition and Divinity Original Sin II: Definitive Edition crashing on launch.
  • Fixed Path of Exile crashing.
  • Fixed memory leak in Trackmania and Ubisoft Connect overlay.
  • Improved Elden Ring compatibility compared to Proton 8.0-1. It can still be finicky.
  • Fixed Red Dead Redemption 2 and other games not starting after switching from Proton Experimental to stable.
  • Added a temporary workaround for EA Launcher crashing. Steam Deck's on-screen keyboard may not pop up automatically while using it.

Link to source code

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

Thursday, April 20, 2023

Proton 8.0-1 released brings more games to Linux

Valve's Proton, which allows Windows games to run on Linux, has been now updated to version 8.0, bringing even more games to Linux OS and Valve's Steam Deck. The latest update is probably one of the biggest yet and much awaited re-base, bringing an extensive list of fixes, as well as a list of new games that are now playable. 


Note: Proton 8.0 requires a GPU that supports Vulkan 1.3.

  • Now playable:
    • Forspoken
    • Samurai Maiden
    • Dead Space (2023)
    • Creativerse
    • Nioh 2 - The Complete Edition
    • One Piece: Pirate Warriors 4
    • Atelier Meruru
    • Atelier Lydie & Suelle ~The Alchemists and the Mysterious Paintings~
    • Atelier Sophie: The Alchemist of the Mysterious Book DX
    • Blue Reflection
    • Atelier Rorona ~The Alchemist of Arland~ DX
    • Disney Dreamlight Valley
    • ROMANCE OF THE THREE KINGDOMS XIV
    • ToGather:Island
    • WARRIORS OROCHI 3 Ultimate Definitive Edition
    • Exceed - Gun Bullet Children
    • Gungrave G.O.R.E.
    • Chex Quest HD
  • Fixed 2K launcher failure caused by launcher update.
  • Fixed Arabic fonts in FIFA 21 and 22.
  • Improved CJK font support in many games including NOBUNAGA'S AMBITION: Souzou with Power Up Kit, Stardom 3 and Sword and Fairy 3.
  • Improved sleep/resume functionality on Steam Deck for Tiny Tina's Wonderland.
  • Improved multi-touch support.
  • Fixed native scrollbar being always visible in Final Fantasy XIV Online launcher.
  • Fixed A Plague Tale: Innocence and A Plague Tale: Requiem showing on-screen keyboard when starting the game on the Steam Deck.
  • Fixed rendering issues during cutscenes in Tom Clancy's Splinter Cell.
  • Fixed Japanese keyboard input in Final Fantasy XIV Online.
  • Fixed Football manager 2023 crashing when trying to return from a player profile.
  • Fixed experimental regression: Fall in Labyrinth started crashing on some setups.
  • Improved CJK characters rendering in many games including NOBUNAGA'S AMBITION: Souzou with Power Up Kit.
  • Fixed Life is Strange Remastered crashing at the end of chapter 2.
  • Fixed Alt+Tab not working on Gnome 43.
  • Improved force feedback compatibility for BeamNG and Forza Horizon 5.
  • Fixed regression with Mortal Kombat X performance.
  • Fixed OpenGL launch option for Youropa.
  • Fixed raytracing in Crysis Remastered.
  • Improved multiplayer support in Company of Heroes III.
  • Improved fullscreen support for The Last Blade 2.
  • Fixed regression: Minecraft Dungeons was hanging when disconnecting from multiplayer game.
  • Fixed Immortals Fenyx Rising missing/out-of-order audio lines in cutscenes.
  • Fixed The Witcher 3: Wild Hunt launcher flickering on Wayland.
  • Fixed Story Mode not working in Dead or Alive 6.
  • Enabled nvapi for many games.
  • Updated wine to 8.0.
  • Updated dxvk to v2.1-4-gcaf31033.
  • Updated vkd3d-proton to v2.8-84-g08909d98.
  • Updated dxvk-nvapi to v0.6.2.
  • Updated wine-mono to 7.4.1.

Link to source code

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

Saturday, February 4, 2023

Proton 7.0-6 released

Valve has just published Proton 7.0-6 as the newest version of this Wine-based software that powers Steam Play for running Windows games on Linux. Proton 7.0-6 had been available in testing and release candidate form since the end of last year while now has been promoted to stable. 



With Proton 7.0-6 comes more Windows games that are playable under Linux. The newly-supported titles include Gotham Knights, UNCHARTED: Legacy of Thieves Collection, Heroes of the Dark, Super Arcade Racing, Crazy Machines 3, King under the Mountain, NinNinDays2, and Mahjong Ladies.

Proton 7.0-6 also fixes an Ubisoft Connect launcher failure, fixing a texture issue on the menu areas on Quake III Arena, several Microsoft Flight Simulator fixes, and a range of other game fixes. Proton 7.0-6 also ships with Wine Mono 7.4 and DXVK-NVAPI 0.6.

  • Now playable:
    • Gotham Knights
    • UNCHARTED: Legacy of Thieves Collection
    • Heroes of the Dark
    • Super Arcade Racing
    • Crazy Machines 3
    • King under the Mountain
    • NinNinDays2
    • 雀姬 (Mahjong ladies)
  • Fix Ubisoft Connect launcher failure caused by launcher update.
  • Fix Septerra Core hanging on redistributables installation.
  • Fix Persona 5 Royal crashing when creating game save data.
  • Fix Vampire Survivors intermittent error message.
  • Fix Super House of Dead Ninjas, Enemy Mind, and Out There Somewhere frame hitching every few seconds.
  • Fix Zeepkist freezing when using controller.
  • Fix Overcooked! All You Can Eat being unable to add a second controller-using player.
  • Fix Quake III: Arena and Quake III: Team Arena displaying weird texture over the menu.
  • Fix the new EA launcher displaying a blank window.
  • Fix Marvel Snap not being able connect to online services.
  • Fix Microsoft Flight Simulator crashing during longer flights.
  • Fix Microsoft Flight Simulator not displaying live traffic.
  • Fix Microsoft Flight Simulator not starting after a recent game update.
  • Fix Microsoft Flight Simulator crashing when starting next to big cities.
  • Fix Sackboy: A Big Adventure failing to start the first time it's launched.
  • Fix Spyro Reignited Trilogy playing intro video in a wrong language.
  • Fix Jurassic World Evolution 2 bad performance with recent Proton versions.
  • Fix multiple monitor support in Project Cars 2 and Project Cars 3.
  • Fix Korean not being rendered correctly in Romance of the Three Kingdoms XIII launcher.
  • Fix multiple languages not rendering correctly in Sins of a Solar Empire: Rebellion.
  • Fix Lost Lands: Dark Overlord, Lost Lands: Dark Lord, Lost Lands: Redemption, and Haunted Hotel: Silent Waters Collector's Edition crashing when trying to set a wallpaper.
  • Fix video playback regression with Chronos: Before the Ashes.
  • Improve video playback with OUTRIDERS and ToGather: Island.
  • Update wine-mono to 7.4.0.
  • Update dxvk-nvapi to v0.6.

Link to source code

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

 

Tuesday, December 27, 2022

vkd3d-proton version 2.8 has been released

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 some significant new developments before the holidays.

VK_EXT_descriptor_buffer support

This extension is significant in that it removes a ton of CPU overhead.
We already had most of this in place on RADV and Steam Deck,
but this will allow NVIDIA, Intel, Turnip, and other AMD driver implementations to hit the same optimal code paths.
GPU bound performance increases slightly since we can also remove some shader code that was required to workaround lack of descriptor buffers.

New extension requirements

To support descriptor buffers in the code base, these features are now required instead of optional.
Note that these features are widely supported already and is not expected to cause any problems.
If an implementation could support v2.7, it will support v2.8.

  • VK_KHR_buffer_device_address
  • VK_KHR_push_descriptor

Rewritten support for host accessible images

The entire API feature was rewritten from scratch to support more implementations and edge cases without
a lot of per-application hacks and workarounds.
As the most extreme example of weird API usage, Guardians of the Galaxy should (finally) run well on NVIDIA.

Rewritten swap chain

To most users, this change should be transparent.

  • Allow more precise control on latency and frame pacing with VK_KHR_present_wait.
    • mesa-git supports this along with NVIDIA.
    • VKD3D_SWAPCHAIN_LATENCY_FRAMES=n allows user to force a specific amount of latency.
    • Implementation of DXGI latency fences is now correct.
  • Reduce CPU overhead on the main thread that presents to swap chain.
  • Fixes a spurious hang in Hitman III where game relies on asynchronous present in order to not lock up.
  • Win32 specific DXGI code is handled by DXVK. A DXVK build from Experimental or later is required for this to work.
    This allows a native Linux implementation of vkd3d-proton, including swap chain.
  • When VK_KHR_present_wait is not supported, behavior should be 1:1 with old implementation.

NOTE: The old swapchain implementation is still in the repository, and is expected to be removed in the next release.
For now, VKD3D_CONFIG=swapchain_legacy can be used to triage any potential issues with the new one.

NOTE: A driver crash was observed on NVIDIA 525.x drivers when running in some PRIME configurations.
For now, we disable use of present_wait on these drivers.

Fixes and workarounds

  • Workaround GPU hangs in Spiderman Remastered: Miles Morales (same issue as the original).
  • Fix rendering bug with gun damage in Borderlands 3 on RADV.
  • Refactor how resizable BAR is used. GPUs with 4 GiB and lower will no longer attempt to use resizable BAR,
    which can avoid some out-of-memory situations.
  • Fix GPU hang in Age of Empires IV.
  • Fix some minor issues in mesh shader implementation.
  • Fix some issues preventing RE: Village from booting on Arc.
  • Some last minute frenzied fixes for Witcher 3 next-gen update.
    • All features except RT appears to work on RADV.
    • Hairworks is known to crash GPU on NVIDIA. More investigation is needed to root cause.
    • Some RT effects work on NVIDIA, others don't:
      • GI is reported to work.
      • AO crashes GPU. More investigation is needed to root cause.

Implement minor missing D3D12 features

An obscure feature was stubbed out and forgotten until now.
ID3D12Device1::SetEventOnMultipleFenceCompletion() is now implemented.

Also, implement SetEventOn(Multiple)FenceCompletion for shared D3D12 fences.
Fixes a regression in Gears 5 causing lockup on boot.

Link to source code

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.
 

Friday, December 9, 2022

Proton 7.0-5 released

 Released as Proton Next:


  • The following games are now playable:
    • Rift
    • Unravel 2
    • Airborne Kingdom
    • Nancy Drew: Legend of the Crystal Skull
    • Re-Volt
    • Aspire: Ina's Tale
    • Battle Realms: Zen Edition
    • Deathsmiles II
    • Primal Carnage: Extinction
    • Pico Park Classic Edition
    • Six Ages: Ride Like the Wind
    • Darkstar One
    • Indiana Jones and the Emperor Tomb
    • Bulletstorm: Full Clip Edition
  • Fix Batman: Arkham City GOTY launching in the background on Steam Deck when set to fullscreen.
  • Fix Marvel's Spider-Man Remastered displaying dialog about outdated drivers on AMD systems.
  • Fix Final Fantasy IV (3D Remake) having no audio.
  • Fix Return to Monkey Island not reacting to mouse clicks after a recent game update.
  • Fix upsidedown videos in VRChat and many other games.
  • Fix Call of Duty Black Ops II Zombies and Multiplayer hanging on exit.
  • Fix Bail or Jail crashing when opening the Terms of Serivce.
  • Improve GTA V situation with not loading textures.
  • Fix Red Dead Redemption 2 crashing after a recent game update.
  • Fix Final Fantasy XIV Online launcher functionality after game update.
  • Fix cutscene stutter in Disgaea 5.
  • Fix Thrustmaster HOTAS having non-functional dial in Elite Dangerous.
  • Fix Planet Zoo randomly crashing.
  • Fix SCP: Secret Labratory not being playable after a recent game update (again).
  • Fix Tekken 7 crashing at launch.
  • Fix Armello hanging on exit.
  • Fix Sword Art Online: Hollow Realization freezing after the tutorial.
  • Fix Space Engineers intro video not playing correctly.
  • Fix Dragon's Dogma: Dark Arisen videos not playing correctly.
  • Implement network video support for VRChat.
  • Update dxvk to v1.10.3-28-ge3daa699.

Link to source code

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

 

Thursday, October 27, 2022

vkd3d-proton version 2.7 has been released

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.
  • Improve shader replacement system ease-of-use.

Link to source code


Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

 

 

Wednesday, August 17, 2022

Proton 7.0-4 has been released

 

  • The following games are now playable:
    • Aquarist - My First Job
    • Trove
    • Chuzzle Deluxe
    • Zuma's Revenge!
    • Karmaflow The Rock Opera Videogame - Act I & Act II
    • The Rising of the Shield Hero: Relive The Animation
    • Disgaea 5


  •  Fix Elden Ring getting stuck on a white screen on first launch.
  • Support automatically bringing up on screen keyboard on Steam Deck in the Final Fantasy XIV launcher.
  • Fix Final Fantasy XIV launcher exiting silently when there's not enough space to download the update.
  • Fix Chrono Trigger, Adventure Pals crashing during cutscenes.
  • Fix The Ball displaying error message on the first launch.
  • Fix video playback in: POSTAL: Brain Damaged, Lost Ember.
  • Fix Hardspace: Shipbreaker failing to connect to online services.
  • Fix Azur Lane: Crosswave hanging on a black screen for some users.
  • Fix Dokyusei Bangin' Summer showing only flickering black window on desktop.
  • Fix Bloons TD 6 crashing on touch input.
  • Fix Sid Meier's Civilization IV crashing on world creation.
  • Fix Assassin's Creed Origins hanging during gameplay after recent game update.
  • Fix Call of Duty: Black Ops II - Zombies and Call of Duty: Black Ops II - Multiplayer crashing after connecting online.
  • Fix graphical glitches in Cossacs 3 on desktop.
  • Fix garbled audio in Monster Hunter Rise: Sunbreak.
  • Fix Elite Dangerous and other launchers not working properly when cloned displays are present.
  • Implement Vulkan other process rendering (used by nw.js games).
  • Improve performance of HROT.
  • Improve video playback for many games that previously required targeted hacks.
  • Reduce space used by game prefixes if filesystem supports copy on write.
  • Update dxvk to v1.10.3.
  • Update vkd3d-proton to v2.6-1-gc05900da.

 Link to source code

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

 

Wednesday, June 15, 2022

Proton 7.0-3 has been released

  • The following games are now playable:
    • Age of Chivalry
    • Beneath a Steel Sky
    • Chrono Cross: The Radical Dreamer Edition
    • Cities XXL
    • Cladun X2
    • Cursed Armor
    • Flanarion Tactics
    • Gary Grigsby's War in the East
    • Gary Grigsby's War in the West
    • Iragon: Prologue
    • MechWarrior Online
    • Small Radios Big Televisions
    • Split/Second
    • Star Wars Episode I Racer
    • Stranger of Sword City Revisited
    • Succubus x Saint
    • V Rising
    • Warhammer: End Times - Vermintide
    • We Were Here Forever


  • Add support for Windows.Gaming.Input.
  • 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.
  • Update Wine Mono to 7.3.0.
  • Update dxvk-nvapi to v0.5.4.
  • Update dxvk to v1.10.1-57-g279b4b7e.

 Link to source code

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

 

Friday, April 22, 2022

Proton 7.0-2 has been released

  • Now playable:
    • Atelier Ayesha
    • Devil May Cry HD Collection
    • Dragon Quest Builders 2
    • A Way Out
    • Fall in Labyrinth
    • King of Fighters XIII
    • Montaro
    • ATRI -My Dear Moments-
    • Guilty Gear Isuka
    • INVERSUS Deluxe
    • Metal Slug 2 and 3 and X
    • One Shot and One Shot: Fading Memory
    • Call of Duty Black Ops 3
    • Saint Seiya: Soldiers' Soul
    • Medieval Dynasty
    • Bright Memory: Infinite
    • Double Dragon Trilogy
    • Baseball Stars 2
    • Elden Ring

 


  • Fix The Last Campfire not starting on the Steam Deck.
  • Fix STAR WARS Jedi Knight - Jedi Academy not displaying anything on the Steam Deck.
  • Fix Unity games crashing on launch with certain peripherals connected (e.g. Logitech's Unifying Receiver).
  • Fix Microsoft Flight Simulator crashing after a recent game update.
  • Fix Quake Champions crashing after a recent game update.
  • Fix multiplayer in UNO.
  • Fix some older games including Deus Ex GOTY, Prey 2006, Quake 4 and Chaser having visible banding especially in shadows compared to older Protons.
  • Fix Swords of Legends Online performance regression.
  • Fix video playback in Atelier Meruru, Cook-out, DJMAX RESPECT V, Gloomhaven, Haven, Rust, Rustler, The Complex, TOHU, Monster Train, Hardspace: Shipbreaker, Car Mechanic Simulator 2021, Nine Sols Demo.
  • Fix DiRT Rally 2 and DiRT 4 not being able to connect to the game server.
  • Fix Cyberpunk 2077 crashing with 4.0 audio setups.
  • Fix random hang on exit in Little Nightmares 2.
  • Fix Civilization VI and Chicken Invaders Universe crashing a few minutes into the game.
  • Fix Assassin's Creed Odyssey displaying unsupported driver warning in the overlay.
  • Fix Persona 4 Golden lacking audio in the cutscenes.
  • Fix low Forza Horizon 5 performance with fsync enabled.
  • Fix Uplay / Ubisoft Connect reliably failing to update with fsync enabled.
  • Fix STAR WARS: Squadrons displaying warning about outdated drivers.
  • Fix Devil May Cry 5 and Capcom Arcade Stadium crashing when scrolling through videos too quickly.
  • Fix GTA V randomly crashing on certain window managers.
  • Fix Teardown randomly crashing.
  • Fix Melty Blood: Type Lumina hanging on the intro video.
  • Fix Arma 3 launcher.
  • Fix VR Chat not handling suspend / resume well.
  • Fix Vampyr and The Beast Inside displaying menus a few pixels wide on Steam Decks.
  • Fix Apex Legends sometimes starting minimized on Steam Decks.
  • Fix Quake Live being unable to connect to multiplayer matches.
  • Fix Killing Floor 2 not connecting to the item server.
  • Fix Xbox login window lagging with updating window's content.
  • Fix Horizon Zero Dawn running in slowmotion.
  • Fix Age of Chivalry crashing when starting a match.
  • Fix Ride 3 having horizontally squished main menu on the Steam Deck.
  • Fix Chrono Trigger intro video stutter.
  • Fix Divinity: Original Sin - Enhanced Edition crash on resolution or vsync change.
  • Update dxvk to v1.10.1.
  • Update vkd3d-proton to v2.6.
  • Update dxvk-nvapi to v0.5.3

 Link to source code

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

 

 

Wednesday, February 16, 2022

Proton 7.0-1 has been released

  • The following games are now playable:
    • Anno 1404
    • Call of Juarez
    • DCS World Steam Edition
    • Disgaea 4 Complete+
    • Dungeon Fighter Online
    • Epic Roller Coasters XR
    • Eternal Return
    • Forza Horizon 5
    • Gravity Sketch VR
    • Monster Hunter Rise
    • NecroVisioN
    • Nights of Azure
    • Oceanhorn: Monster of the Uncharted Seas
    • Order of War
    • Persona 4 Golden
    • Resident Evil 0
    • Resident Evil Revelations 2
    • Rocksmith 2014 Edition
    • SCP: Secret Laboratory
    • Wargroove
    • Wartales
    • Yakuza 4 Remastered


  • Added support for EasyAntiCheat if the game has enabled a Linux module.
  • Added support for local decoding of H264 videos.
  • Fix Sea of Thieves' voice chat.
  • Fix Sea of Thieves getting stuck on "locating fresh supplies" when joining multiplayer.
  • Improve Steam Input controller support for games running via Origin.
  • Fix Beacon crashing when getting into daily/weekly challenge.
  • Improve audio support in Skyrim and Fallout 4.
  • Fix flickering in Mount & Blade II: Bannerlord launcher.
  • Fix Age of Empires IV and Marvel's Avengers displaying graphics drivers warnings.
  • Fix audio in Mass Effect 1 from Mass Effect Legendary Edition.
  • Improve Runescape stability.
  • Fix quick save in Castlevania Advance Collection.
  • Improve Paradox Launcher support.
  • Fix Pathfinder: Wrath of the Righteous hang on exit.
  • Fix Far Cry regression - the game is playable again.
  • Fix Doom Eternal's multiplayer.
  • Various performance improvements around input, windowing, and memory allocation that were previously in Experimental.
  • Update Wine to 7.0.
  • Update DXVK to 1.9.4.
  • Update vkd3d-proton to 2.5-146-g33f17cc7.
  • Update wine-mono to 7.1.2.

Link to source code

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

 

Thursday, February 10, 2022

What is Valve Proton

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?

steam deck multiplayer

Hey Valve: This should just work, with Proton support activated by default on the Steam Deck.

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.

steam deck main

Notice that none of the games in this Steam Deck promotional image are massively popular multiplayer titles.

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.

ProtonDB February 2022 top 1000 stats

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.

Thursday, November 25, 2021

Proton 6.3-8 has been released

  • The following games are now playable:
    • Age of Empires 4
    • Assassin's Creed
    • Breath of Death VI
    • Call of Duty: Black Ops II singleplayer (202970)
    • DEATHLOOP
    • FIA European Truck Racing Championship
    • Fly'N
    • Game Dev Tycoon
    • Ghostbusters: The Video Game Remastered
    • GreedFall
    • Mafia II (Classic)
    • Magicka
    • Marvel's Guardians of the Galaxy (AMD GPUs only)
    • Mass Effect Legendary Edition (ME1 does not have working audio, see #4823)
    • Monster Boy and the Cursed Kingdom
    • Monster Energy Supercross - The Official Video Game
    • Monster Energy Supercross - The Official Video Game 2
    • Nickelodeon All-Star Brawl
    • Penny Arcade's On the Rain-Slicked Precipice of Darkness 3
    • RiMS Racing
    • The Riftbreaker
    • Sol Survivor
    • TT Isle of Man Ride on the Edge
    • TT Isle of Man Ride on the Edge 2

 


  • Added support for an initial set of BattlEye games.
  • Improve compatibility with games using Valve's CEG DRM.
  • Support DLSS in DX11 and DX12 games (guarded by PROTON_ENABLE_NVAPI=1 and dxgi.nvapiHack = False).
  • Support latest Steamworks SDK.
  • Fix crashes in Project Wingman, Satisfactory and other Unreal Engine 4 games using the Vulkan renderer.
  • Fix a sporadic crash when starting Baldur's Gate 3.
  • Fix networked multiplayer in RaceRoom Racing Experience.
  • Fix cutscene desync in Assassin's Creed: Odyssey.
  • Fix audio stuttering in Gahkthun Steam Edition.
  • Fix Atomic Shop and random crashes on start in Fallout 76.
  • Fix Paradox Launcher (used by Europa Universalis IV) failing to display anything.
  • Fix video freezing and causing game to hang in Deep Rock Galactic.
  • Fix Industries of Titan not listing any resolutions and monitors.
  • Fix Bloons TD6 not being able to access account settings, see docs/ICMP_ECHO.md.
  • Fix Project CARS 3 ignoring inputs after Alt+Tab.
  • Fix stuck Alt key after Alt+Tabbing out and back for Warhammer: Chaosbane.
  • Support Thai characters in Mirror and other Unity games.
  • Support Korean and Arabic characters in Cyberpunk 2077 launcher.
  • Fix connection issues in Satisfactory on systems with multiple network interfaces.
  • Fix Biomutant videos not playing.
  • Update dxvk to v1.9.2-13-g714ca482.
  • Update vkd3d-proton to v2.5-50-g0251b404.
  • Update wine-mono to 6.4.1.

Link to source code

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

 

Thursday, October 21, 2021

Proton 6.3-7 has been released

  • The following games are now playable:

    • Life is Strange: True Colors
    • Quake Champions (broken after a game update)
    • Divinity Original Sin 2 (broken after a game update)
    • eFootball PES 2021
    • EVERSLAUGHT VR
    • WRC 8, 9 and 10


  • Fix Logitech G920 mapping for F1 2020.

  • Fix Resident Evil Village display settings.

  • Improve Forza Horizon 4 windowing.

  • Update DXVK to v1.9.2.

  • Update vkd3d-proton to include the latest development work.

Link to source code

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

 

Monday, October 18, 2021

vkd3d-proton version 2.5 has been released

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.
  • Fix crashes in Hitman 3.
  • Fix terrain rendering in Anno 1800.
  • Various correctness and crash fixes.

 Link to source code

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

 

Saturday, August 21, 2021

Proton 6.3-6 has been released

  • The following games are now playable:
    • Tokyo Xanadu eX+
    • Sonic Adventure 2
    • Rez Infinite
    • Elite Dangerous
    • Blood of Steel
    • Homeworld Remastered Collection
    • Star Wars Knights of the Old Republic
    • Guardians VR
    • 3D Aim Trainer


  • Improve non-English experience in Cyberpunk 2077 and Rockstar Games launchers.
  • Improve launcher behavior in Swords of Legends Online.
  • Improve video playback in Deep Rock Galactic, The Medium, Nier: Replicant, and Contra: Rogue Corps.
  • Add optional support for Nvidia's NVAPI GPU support library and DLSS. It is disabled by default and can be enabled with PROTON_ENABLE_NVAPI=1.
  • Update wine-mono to 6.3.0.
  • Update DXVK to v1.9.1.
  • Update vkd3d-proton to v2.4.
  • Update FAudio to 20.08.
  • Fix Microsoft Flight Simulator hang while loading.
  • Fix Unreal Engine 4 update installation, which impacted Everspace 2 and KARDS.
  • Fix text input and clipboard pasting in Origin overlay and launcher.
  • Fix some music not playing in Planet Coaster.
  • Fix Mafia III: Definitive Edition performance when FPS limiter is enabled.
  • Fix audio playback issues in Fallout: New Vegas, Oblivion, Borderlands 3, and Deep Rock Galactic.
  • Improve cursor capture behavior for fullscreen windows.
  • Improve input handling after focus loss in some games, including Warhammer: Chaosbane and Far Cry Primal.
  • Correct game save locations to improve Steam cloud sync behavior in:
    • Guilty Gear -Strive-
    • Death Stranding
    • Katamari Damacy Reroll
    • Scarlet Nexus

Link to source code

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

 

Thursday, July 8, 2021

vkd3d-proton version 2.4 has been released

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.

Link to source code

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

 

Saturday, June 26, 2021

Proton 6.3-5 has been released

  • Many improvements to video rendering. Games known to be improved include:
    • Bloodstained
    • Deep Rock Galactic
    • Metal Gear Solid V: The Phantom Pain
    • Resident Evil 2 (2019)
    • Resident Evil 3 (2020)
    • Team Sonic Racing


  • Update DXVK to v1.9.
  • Improve GPU device selection.
  • Update vkd3d-proton to include the latest development work.
  • The following games are now playable:
    • Sid Meier's Civilization VI
    • Crypt Stalker
    • Dark Devotion
    • Dorfromantic
    • Far Cry
    • Hard Reset
    • Hogs of War
    • Might & Magic: Clash of Heroes
    • Pro Cycling Manager 2020
    • Sang Froid - Tales of Werewolves
    • Secret of Mana
    • Trainz Railroad Simulator 2019
  • Improve controller support in Hades and many Unity titles.
  • Fix CyberPunk 2077, Darksburg, and other launchers hanging when external links are clicked.
  • Fix Conan Exiles and other Funcom launchers crashing.
  • Fix missing audio in Project Cars 3.
  • Better support for container-based builds outside of the build VM.

Link to source code

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.