protonscr

PROTON_USE_WINED3D only works in steam client "SET LAUNCH OPTIONS"

protonclosed
ValveSoftware/Proton#4459 · opened 2020-12-11 by nottux · updated 2020-12-16 · 1 comments · github
1 matching comments, n / p to jump
Nnottux 2020-12-11 github

Proton 5.13 & 5.0, couldn't tested 4.11 due to time limitation
ubuntu 20.04
steam stable (Dec 7 2020)

Due to https://github.com/ValveSoftware/Proton/issues/66#issuecomment-544262665 (steam client disables gallium nine standalone when game is launched through the steam client, it seems like this issue still persists) I have been using the scripts created by this method to launch my games. But I have realised that PROTON_USE_WINED3D does nothing when used in these scripts or in user_settings.py, while DXVK_HUD works in both cases.

I am reporting this issue because there are tutorials on the internet where DXVK is disabled through the user_settings.py

To test directx9 I have used trackmania nations forever
To test directx11 I have used Maximum action

Example on trackmania (directx9 game);

utku3@pop-os:~$ cat /home/utku3/Programlar/gallium_nine_steam/TrackmaniaU/run
#!/bin/bash
#Run game or given command in environment

cd "/mnt/old_drive/utku/took/happytosharemysteamapps/steamapps/common/TrackMania Nations Forever"
DEF_CMD=("/mnt/old_drive/utku/took/happytosharemysteamapps/steamapps/common/TrackMania Nations Forever/TmForever.exe")
PATH="/mnt/old_drive/utku/took/happytosharemysteamapps/steamapps/common/Proton 5.13/dist/bin/:/mnt/old_drive/utku2/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/bin:/mnt/old_drive/utku2/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/bin:/mnt/old_drive/utku2/.local/share/Steam/ubuntu12_32/steam-runtime/usr/bin:/home/utku3/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/utku3/.dotnet/tools:/home/utku3/.local/bin:/home/utku3/.local/bin" \
        TERM="xterm" \
        WINEDEBUG="-all" \
        WINEDLLPATH="/mnt/old_drive/utku/took/happytosharemysteamapps/steamapps/common/Proton 5.13/dist/lib64//wine:/mnt/old_drive/utku/took/happytosharemysteamapps/steamapps/common/Proton 5.13/dist/lib//wine" \
        LD_LIBRARY_PATH="/mnt/old_drive/utku/took/happytosharemysteamapps/steamapps/common/Proton 5.13/dist/lib64/:/mnt/old_drive/utku/took/happytosharemysteamapps/steamapps/common/Proton 5.13/dist/lib/:/mnt/old_drive/utku2/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32:/mnt/old_drive/utku2/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_64:/usr/lib/x86_64-linux-gnu/libfakeroot:/lib/i386-linux-gnu:/usr/local/lib:/usr/local/lib/libstrangle/lib32:/usr/local/lib/libstrangle/lib64:/lib/x86_64-linux-gnu:/lib32:/libx32:/lib:/lib/i386-linux-gnu/sse2:/lib/i386-linux-gnu/i686:/lib/i386-linux-gnu/i686/sse2:/mnt/old_drive/utku2/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i386-linux-gnu:/mnt/old_drive/utku2/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu:/mnt/old_drive/utku2/.local/share/Steam/ubuntu12_32/steam-runtime/lib/x86_64-linux-gnu:/mnt/old_drive/utku2/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu:/mnt/old_drive/utku2/.local/share/Steam/ubuntu12_32/steam-runtime/lib:/mnt/old_drive/utku2/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib" \
        WINEPREFIX="/mnt/old_drive/utku/took/happytosharemysteamapps/steamapps/compatdata/11020/pfx/" \
        WINEESYNC="1" \
        DXVK_HUD=full \
        PROTON_USE_WINED3D=1 \
        WINEFSYNC="1" \
        SteamGameId="11020" \
        SteamAppId="11020" \
        WINEDLLOVERRIDES="steam.exe=b;dotnetfx35.exe=b;mfplay=n;dxvk_config=n;d3d11=n;d3d10=n;d3d10core=n;d3d10_1=n;d3d9=n" \
        STEAM_COMPAT_CLIENT_INSTALL_PATH="/mnt/old_drive/utku2/.local/share/Steam" \
        WINE_LARGE_ADDRESS_AWARE="1" \
        GST_PLUGIN_SYSTEM_PATH_1_0="/mnt/old_drive/utku/took/happytosharemysteamapps/steamapps/common/Proton 5.13/dist/lib64/gstreamer-1.0:/mnt/old_drive/utku/took/happytosharemysteamapps/steamapps/common/Proton 5.13/dist/lib/gstreamer-1.0" \
        WINE_GST_REGISTRY_DIR="/mnt/old_drive/utku/took/happytosharemysteamapps/steamapps/compatdata/11020/gstreamer-1.0/" \
        "/mnt/old_drive/utku/took/happytosharemysteamapps/steamapps/common/Proton 5.13/dist/bin/wine" steam.exe "${@:-${DEF_CMD[@]}}"
utku3@pop-os:~$ cat "/home/utku3/.steam/steam/steamapps/common/Proton 5.13/user_settings.py"
#To enable these settings, name this file "user_settings.py".

#Settings here will take effect for all games run in this Proton version.

user_settings = {
    #By default, logs are saved to $HOME/steam-<STEAM_GAME_ID>.log, overwriting any previous log with that name.
    #Log directory can be overridden with $PROTON_LOG_DIR.

    #Wine debug logging
    "WINEDEBUG": "+timestamp,+pid,+tid,+seh,+debugstr,+loaddll,+mscoree",

    #DXVK debug logging
    "DXVK_LOG_LEVEL": "info",

    #vkd3d debug logging
    "VKD3D_DEBUG": "warn",

    #wine-mono debug logging (Wine's .NET replacement)
    "WINE_MONO_TRACE": "E:System.NotImplementedException",
    #"MONO_LOG_LEVEL": "info",

    #general purpose media logging
#    "GST_DEBUG": "4",
    #or, verbose converter logging (may impact playback performance):
#    "GST_DEBUG": "4,protonaudioconverter:6,protonaudioconverterbin:6,protonvideoconverter:6",

    #Enable DXVK's HUD
#    "DXVK_HUD": "devinfo,fps",

    #Use OpenGL-based wined3d for d3d11, d3d10, and d3d9 instead of Vulkan-based DXVK
    "PROTON_USE_WINED3D": "1",

    #Disable d3d11 entirely
#    "PROTON_NO_D3D11": "1",

    #Disable eventfd-based in-process synchronization primitives
#    "PROTON_NO_ESYNC": "1",

    #Disable futex-based in-process synchronization primitives
#    "PROTON_NO_FSYNC": "1",
}
utku3@pop-os:~$ /home/utku3/Programlar/gallium_nine_steam/TrackmaniaU/run
fsync: up and running.
Setting breakpad minidump AppID = 11020
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198301669039 [API loaded no]
info:  Game: TmForever.exe
info:  DXVK: v1.7.3-10-gc1f23643
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
Unable to read VR Path Registry from C:\users\steamuser\Local Settings\Application Data\openvr\openvrpaths.vrpath
warn:  OpenVR: Failed to initialize OpenVR
info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
warn:  D3D9: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info:  AMD RADV POLARIS12 (ACO):
info:    Driver: 20.3.0
info:    Vulkan: 1.2.145
info:    Memory Heap[0]: 
info:      Size: 1792 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]: 
info:      Size: 3072 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
info:    Memory Heap[2]: 
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:  Process set as DPI aware
info:  Game: TmForever.exe
info:  DXVK: v1.7.3-10-gc1f23643
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
Unable to read VR Path Registry from C:\users\steamuser\Local Settings\Application Data\openvr\openvrpaths.vrpath
warn:  OpenVR: Failed to initialize OpenVR
info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
warn:  D3D9: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info:  AMD RADV POLARIS12 (ACO):
info:    Driver: 20.3.0
info:    Vulkan: 1.2.145
info:    Memory Heap[0]: 
info:      Size: 1792 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]: 
info:      Size: 3072 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
info:    Memory Heap[2]: 
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:  Process set as DPI aware
info:  Device properties:
info:    Device name:     : AMD RADV POLARIS12 (ACO)
info:    Driver version   : 20.3.0
info:  Enabled device extensions:
info:    VK_AMD_memory_overallocation_behavior
info:    VK_AMD_shader_fragment_mask
info:    VK_EXT_4444_formats
info:    VK_EXT_custom_border_color
info:    VK_EXT_depth_clip_enable
info:    VK_EXT_extended_dynamic_state
info:    VK_EXT_host_query_reset
info:    VK_EXT_memory_priority
info:    VK_EXT_robustness2
info:    VK_EXT_shader_demote_to_helper_invocation
info:    VK_EXT_shader_stencil_export
info:    VK_EXT_shader_viewport_index_layer
info:    VK_EXT_transform_feedback
info:    VK_EXT_vertex_attribute_divisor
info:    VK_KHR_create_renderpass2
info:    VK_KHR_depth_stencil_resolve
info:    VK_KHR_draw_indirect_count
info:    VK_KHR_driver_properties
info:    VK_KHR_image_format_list
info:    VK_KHR_sampler_mirror_clamp_to_edge
info:    VK_KHR_swapchain
info:  Device features:
info:    robustBufferAccess                     : 1
info:    fullDrawIndexUint32                    : 1
info:    imageCubeArray                         : 1
info:    independentBlend                       : 1
info:    geometryShader                         : 1
info:    tessellationShader                     : 0
info:    sampleRateShading                      : 1
info:    dualSrcBlend                           : 0
info:    logicOp                                : 0
info:    multiDrawIndirect                      : 0
info:    drawIndirectFirstInstance              : 0
info:    depthClamp                             : 1
info:    depthBiasClamp                         : 1
info:    fillModeNonSolid                       : 1
info:    depthBounds                            : 1
info:    multiViewport                          : 1
info:    samplerAnisotropy                      : 1
info:    textureCompressionBC                   : 1
info:    occlusionQueryPrecise                  : 1
info:    pipelineStatisticsQuery                : 1
info:    vertexPipelineStoresAndAtomics         : 1
info:    fragmentStoresAndAtomics               : 0
info:    shaderImageGatherExtended              : 0
info:    shaderStorageImageExtendedFormats      : 1
info:    shaderStorageImageReadWithoutFormat    : 0
info:    shaderStorageImageWriteWithoutFormat   : 1
info:    shaderClipDistance                     : 1
info:    shaderCullDistance                     : 1
info:    shaderFloat64                          : 0
info:    shaderInt64                            : 0
info:    variableMultisampleRate                : 0
info:  VK_EXT_4444_formats
info:    formatA4R4G4B4                         : 1
info:    formatA4B4G4R4                         : 1
info:  VK_EXT_custom_border_color
info:    customBorderColors                     : 1
info:    customBorderColorWithoutFormat         : 1
info:  VK_EXT_depth_clip_enable
info:    depthClipEnable                        : 1
info:  VK_EXT_extended_dynamic_state
info:    extendedDynamicState                   : 1
info:  VK_EXT_host_query_reset
info:    hostQueryReset                         : 1
info:  VK_EXT_memory_priority
info:    memoryPriority                         : 1
info:  VK_EXT_robustness2
info:    robustBufferAccess2                    : 0
info:    robustImageAccess2                     : 0
info:    nullDescriptor                         : 1
info:  VK_EXT_shader_demote_to_helper_invocation
info:    shaderDemoteToHelperInvocation         : 1
info:  VK_EXT_transform_feedback
info:    transformFeedback                      : 0
info:    geometryStreams                        : 0
info:  VK_EXT_vertex_attribute_divisor
info:    vertexAttributeInstanceRateDivisor     : 1
info:    vertexAttributeInstanceRateZeroDivisor : 1
info:  Queue families:
info:    Graphics : 0
info:    Transfer : 1
info:  DXVK: Read 185 valid state cache entries
info:  DXVK: Using 2 compiler threads
info:  D3D9DeviceEx: Using extended constant set for software vertex processing.
info:  D3D9DeviceEx::ResetSwapChain:
info:    Requested Presentation Parameters
info:      - Width:              0
info:      - Height:             0
info:      - Format:             D3D9Format::A8R8G8B8
info:      - Auto Depth Stencil: true
info:                  ^ Format: D3D9Format::D24S8
info:      - Windowed:           true
warn:  winevulkan detected, disabling exclusive fullscreen support
info:  Presenter: Actual swap chain properties:
info:    Format:       VK_FORMAT_B8G8R8A8_UNORM
info:    Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR
info:    Buffer size:  640x480
info:    Image count:  3
info:    Exclusive FS: 0
warn:  ConvertFormat: Unknown format encountered: 1397249614
warn:  ConvertFormat: Unknown format encountered: 1397249614
warn:  ConvertFormat: Unknown format encountered: 1397249614
warn:  ConvertFormat: Unknown format encountered: 1397249614
warn:  ConvertFormat: Unknown format encountered: 1397249614
info:  D3D9DeviceEx::ResetSwapChain:
info:    Requested Presentation Parameters
info:      - Width:              1920
info:      - Height:             1080
info:      - Format:             D3D9Format::A8R8G8B8
info:      - Auto Depth Stencil: true
info:                  ^ Format: D3D9Format::D24S8
info:      - Windowed:           false
info:  Setting display mode: 1920x1080@0
warn:  ConvertFormat: Unknown format encountered: 1397249614
warn:  ConvertFormat: Unknown format encountered: 1397249614
warn:  ConvertFormat: Unknown format encountered: 1397249614
warn:  ConvertFormat: Unknown format encountered: 1397249614
warn:  ConvertFormat: Unknown format encountered: 1397249614
info:  Presenter: Actual swap chain properties:
info:    Format:       VK_FORMAT_B8G8R8A8_UNORM
info:    Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR
info:    Buffer size:  1920x1080
info:    Image count:  3
info:    Exclusive FS: 0
info:  D3D9DeviceEx::ResetSwapChain:
info:    Requested Presentation Parameters
info:      - Width:              640
info:      - Height:             480
info:      - Format:             D3D9Format::A8R8G8B8
info:      - Auto Depth Stencil: true
info:                  ^ Format: D3D9Format::D24S8
info:      - Windowed:           true
info:  Restoring display mode: 1920x1080@60
info:  Setting display mode: 1920x1080@60
info:  Presenter: Actual swap chain properties:
info:    Format:       VK_FORMAT_B8G8R8A8_UNORM
info:    Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR
info:    Buffer size:  640x480
info:    Image count:  3
info:    Exclusive FS: 0
utku3@pop-os:~$

However as a workaround removing ;d3d11=n;d3d10=n;d3d10core=n;d3d10_1=n;d3d9=n from the line: WINEDLLOVERRIDES="steam.exe=b;dotnetfx35.exe=b;mfplay=n;dxvk_config=n;d3d11=n;d3d10=n;d3d10core=n;d3d10_1=n;d3d9=n" \ in the script turns off DXVK

(run2 is the modified file)

utku3@pop-os:~$ /home/utku3/Programlar/gallium_nine_steam/TrackmaniaU/run2
fsync: up and running.
Setting breakpad minidump AppID = 11020
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198301669039 [API loaded no]
utku3@pop-os:~$
Aaeikum 2020-12-15 github

The debug scripts dump the environment they have when they are generated. So if you generate the debug scripts while Proton is configured to use DXVK (the default), then the scripts will use DXVK. If you generate the scripts while using wined3d, then the scripts should use wined3d. So I think this is working as intended.