proton: Default to DXVK for d3d9.

This commit is contained in:
Andrew Eikum 2020-02-05 08:57:58 -06:00
parent bca0a720cd
commit 5d3d462f59
3 changed files with 4 additions and 12 deletions

View file

@ -267,8 +267,7 @@ the Wine prefix. Removing the option will revert to the previous behavior.
| | <tt>PROTON_LOG</tt> | Convenience method for dumping a useful debug log to `$HOME/steam-$APPID.log`. For more thorough logging, use `user_settings.py`. | | | <tt>PROTON_LOG</tt> | Convenience method for dumping a useful debug log to `$HOME/steam-$APPID.log`. For more thorough logging, use `user_settings.py`. |
| | <tt>PROTON_DUMP_DEBUG_COMMANDS</tt> | When running a game, Proton will write some useful debug scripts for that game into `$PROTON_DEBUG_DIR/proton_$USER/`. | | | <tt>PROTON_DUMP_DEBUG_COMMANDS</tt> | When running a game, Proton will write some useful debug scripts for that game into `$PROTON_DEBUG_DIR/proton_$USER/`. |
| | <tt>PROTON_DEBUG_DIR</tt> | Root directory for the Proton debug scripts, `/tmp` by default. | | | <tt>PROTON_DEBUG_DIR</tt> | Root directory for the Proton debug scripts, `/tmp` by default. |
| <tt>wined3d</tt> | <tt>PROTON_USE_WINED3D</tt> | Use OpenGL-based wined3d instead of Vulkan-based DXVK for d3d11 and d3d10. This used to be called `PROTON_USE_WINED3D11`, which is now an alias for this same option. | | <tt>wined3d</tt> | <tt>PROTON_USE_WINED3D</tt> | Use OpenGL-based wined3d instead of Vulkan-based DXVK for d3d11, d3d10, and d3d9. |
| <tt>d9vk</tt> | <tt>PROTON_USE_D9VK</tt> | Use Vulkan-based d9vk instead of OpenGL-based wined3d for d3d9. |
| <tt>nod3d11</tt> | <tt>PROTON_NO_D3D11</tt> | Disable <tt>d3d11.dll</tt>, for d3d11 games which can fall back to and run better with d3d9. | | <tt>nod3d11</tt> | <tt>PROTON_NO_D3D11</tt> | Disable <tt>d3d11.dll</tt>, for d3d11 games which can fall back to and run better with d3d9. |
| <tt>nod3d10</tt> | <tt>PROTON_NO_D3D10</tt> | Disable <tt>d3d10.dll</tt> and <tt>dxgi.dll</tt>, for d3d10 games which can fall back to and run better with d3d9. | | <tt>nod3d10</tt> | <tt>PROTON_NO_D3D10</tt> | Disable <tt>d3d10.dll</tt> and <tt>dxgi.dll</tt>, for d3d10 games which can fall back to and run better with d3d9. |
| <tt>noesync</tt> | <tt>PROTON_NO_ESYNC</tt> | Do not use eventfd-based in-process synchronization primitives. | | <tt>noesync</tt> | <tt>PROTON_NO_ESYNC</tt> | Do not use eventfd-based in-process synchronization primitives. |
@ -276,5 +275,6 @@ the Wine prefix. Removing the option will revert to the previous behavior.
| <tt>forcelgadd</tt> | <tt>PROTON_FORCE_LARGE_ADDRESS_AWARE</tt> | Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. | | <tt>forcelgadd</tt> | <tt>PROTON_FORCE_LARGE_ADDRESS_AWARE</tt> | Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. |
| <tt>oldglstr</tt> | <tt>PROTON_OLD_GL_STRING</tt> | Set some driver overrides to limit the length of the GL extension string, for old games that crash on very long extension strings. | | <tt>oldglstr</tt> | <tt>PROTON_OLD_GL_STRING</tt> | Set some driver overrides to limit the length of the GL extension string, for old games that crash on very long extension strings. |
| | <tt>WINE_FULLSCREEN_INTEGER_SCALING</tt> | Enable integer scaling mode, to give sharp pixels when upscaling. | | | <tt>WINE_FULLSCREEN_INTEGER_SCALING</tt> | Enable integer scaling mode, to give sharp pixels when upscaling. |
| <tt>d9vk</tt> | <tt>PROTON_USE_D9VK</tt> | **Note: Obsoleted in Proton 5.0.** In older versions, use Vulkan-based DXVK instead of OpenGL-based wined3d for d3d9. |
<!-- Target: GitHub Flavor Markdown. To test locally: pandoc -f markdown_github -t html README.md --> <!-- Target: GitHub Flavor Markdown. To test locally: pandoc -f markdown_github -t html README.md -->

7
proton
View file

@ -343,12 +343,8 @@ class CompatData:
dxvkfiles = ["dxvk_config"] dxvkfiles = ["dxvk_config"]
wined3dfiles = ["d3d11", "d3d10", "d3d10core", "d3d10_1", "d3d9"] wined3dfiles = ["d3d11", "d3d10", "d3d10core", "d3d10_1", "d3d9"]
else: else:
dxvkfiles = ["dxvk_config", "d3d11", "d3d10", "d3d10core", "d3d10_1"] dxvkfiles = ["dxvk_config", "d3d11", "d3d10", "d3d10core", "d3d10_1", "d3d9"]
wined3dfiles = [] wined3dfiles = []
if "d9vk" in g_session.compat_config:
dxvkfiles.append("d3d9")
else:
wined3dfiles.append("d3d9")
#if the user asked for dxvk's dxgi (dxgi=n), then copy it into place #if the user asked for dxvk's dxgi (dxgi=n), then copy it into place
if "WINEDLLOVERRIDES" in os.environ and "dxgi=n" in os.environ["WINEDLLOVERRIDES"]: if "WINEDLLOVERRIDES" in os.environ and "dxgi=n" in os.environ["WINEDLLOVERRIDES"]:
@ -451,7 +447,6 @@ class Session:
if not self.check_environment("PROTON_USE_WINED3D", "wined3d"): if not self.check_environment("PROTON_USE_WINED3D", "wined3d"):
self.check_environment("PROTON_USE_WINED3D11", "wined3d") self.check_environment("PROTON_USE_WINED3D11", "wined3d")
self.check_environment("PROTON_USE_D9VK", "d9vk")
self.check_environment("PROTON_NO_D3D11", "nod3d11") self.check_environment("PROTON_NO_D3D11", "nod3d11")
self.check_environment("PROTON_NO_D3D10", "nod3d10") self.check_environment("PROTON_NO_D3D10", "nod3d10")
self.check_environment("PROTON_NO_ESYNC", "noesync") self.check_environment("PROTON_NO_ESYNC", "noesync")

View file

@ -21,12 +21,9 @@ user_settings = {
#Enable DXVK's HUD #Enable DXVK's HUD
# "DXVK_HUD": "devinfo,fps", # "DXVK_HUD": "devinfo,fps",
#Use OpenGL-based wined3d for d3d11 and d3d10 instead of Vulkan-based DXVK #Use OpenGL-based wined3d for d3d11, d3d10, and d3d9 instead of Vulkan-based DXVK
# "PROTON_USE_WINED3D": "1", # "PROTON_USE_WINED3D": "1",
#Use Vulkan-based D9VK instead of OpenGL-based wined3d for d3d9.
# "PROTON_USE_D9VK": "1",
#Disable d3d11 entirely #Disable d3d11 entirely
# "PROTON_NO_D3D11": "1", # "PROTON_NO_D3D11": "1",