protonscr

Unity game not parsing display metadata

dxvkclosed
doitsujin/dxvk#3382 · opened 2023-04-28 by Kallinteris-Andreas · updated 2026-07-21 · 5 comments · github
1 matching comments, n / p to jump
KKallinteris-Andreas 2023-04-28 github
prime-run %command% -screen-fullscreen 0 -screen-width 800 -screen-height 600 -monitor 0
prime-run wine ./VRising.exe -screen-fullscreen 0 -screen-width 800 -screen-height 600 -monitor 0

both generate same issue

Switching to resolution 800x600 failed
Screen: DX11 could not switch resolution (800x600 fs=0 hz=0)

the game is trying to run at 0hz from what i can tell

image

This issue happens on other UNITY games based on web searches i have done, but no solution was provided.

prime-run vkcube works fine on my system. (which confirms that vulkan works fine on my system)

On microsoft windows disabling an option called "full sreen optimaization" appers to solve the issue for most of the users, that has this problem, maybe there is a linux/xorg equivilent

Thanks!

Software information

V-Rising (it is a 64-bit unity game)

System information

  • GPU: 1650ti (laptop)
  • Driver: NVIDIA-SMI 530.41.03
  • Wine version: $ wine --version wine-8.6 (Staging)
  • DXVK version: 2.1

Apitrace file(s)

I have used setup_dxvk (not sure if this is I was supposed to say in this here)

Log files

Initialize engine version: 2020.3.31f1 (6b54b7616050)
GfxDevice: creating device client; threaded=1
warn:  CreateDXGIFactory2: Ignoring flags
info:  Game: VRising.exe
info:  DXVK: v2.1
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
info:  OpenVR: Failed to locate module
info:  Vulkan: Found vkGetInstanceProcAddr in winevulkan.dll @ 0x2d4ad3f50
info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  NVIDIA GeForce GTX 1650 Ti:
info:    Driver: 530.41.3
info:    Vulkan: 1.3.236
info:    Memory Heap[0]: 
info:      Size: 4096 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:    Memory Heap[1]: 
info:      Size: 23591 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
info:    Memory Heap[2]: 
info:      Size: 246 MiB
info:      Flags: 0x1
info:      Memory Type[4]: Property Flags = 0x7
info:  DXGI: NvAPI workaround enabled, reporting AMD GPU
info:  Adapter LUID 0: 0:3f7
warn:  D3D11DeviceFeatures: External memory features not supported
info:  D3D11CoreCreateDevice: Maximum supported feature level: D3D_FEATURE_LEVEL_12_1
info:  D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_1
info:  Device properties:
info:    Device name:     : NVIDIA GeForce GTX 1650 Ti
info:    Driver version   : 530.41.3
info:  Enabled device extensions:
info:    VK_EXT_attachment_feedback_loop_layout
info:    VK_EXT_conservative_rasterization
info:    VK_EXT_custom_border_color
info:    VK_EXT_depth_clip_enable
info:    VK_EXT_extended_dynamic_state3
info:    VK_EXT_fragment_shader_interlock
info:    VK_EXT_graphics_pipeline_library
info:    VK_EXT_non_seamless_cube_map
info:    VK_EXT_robustness2
info:    VK_EXT_shader_module_identifier
info:    VK_EXT_transform_feedback
info:    VK_EXT_vertex_attribute_divisor
info:    VK_KHR_pipeline_library
info:    VK_KHR_swapchain
info:    VK_NVX_binary_import
info:    VK_NVX_image_view_handle
info:  Device features:
info:    robustBufferAccess                     : 1
info:    fullDrawIndexUint32                    : 1
info:    imageCubeArray                         : 1
info:    independentBlend                       : 1
info:    geometryShader                         : 1
info:    tessellationShader                     : 1
info:    sampleRateShading                      : 1
info:    dualSrcBlend                           : 1
info:    logicOp                                : 1
info:    multiDrawIndirect                      : 1
info:    drawIndirectFirstInstance              : 1
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               : 1
info:    shaderImageGatherExtended              : 1
info:    shaderClipDistance                     : 1
info:    shaderCullDistance                     : 1
info:    shaderFloat64                          : 1
info:    shaderInt64                            : 1
info:    variableMultisampleRate                : 1
info:    shaderResourceResidency                : 1
info:    shaderResourceMinLod                   : 1
info:    sparseBinding                          : 1
info:    sparseResidencyBuffer                  : 1
info:    sparseResidencyImage2D                 : 1
info:    sparseResidencyImage3D                 : 1
info:    sparseResidency2Samples                : 1
info:    sparseResidency4Samples                : 1
info:    sparseResidency8Samples                : 1
info:    sparseResidency16Samples               : 1
info:    sparseResidencyAliased                 : 1
info:  Vulkan 1.1
info:    shaderDrawParameters                   : 1
info:  Vulkan 1.2
info:    samplerMirrorClampToEdge               : 1
info:    drawIndirectCount                      : 1
info:    samplerFilterMinmax                    : 1
info:    hostQueryReset                         : 1
info:    timelineSemaphore                      : 1
info:    bufferDeviceAddress                    : 1
info:    shaderOutputViewportIndex              : 1
info:    shaderOutputLayer                      : 1
info:    vulkanMemoryModel                      : 1
info:  Vulkan 1.3
info:    robustImageAccess                      : 0
info:    pipelineCreationCacheControl           : 1
info:    shaderDemoteToHelperInvocation         : 1
info:    shaderZeroInitializeWorkgroupMemory    : 0
info:    synchronization2                       : 1
info:    dynamicRendering                       : 1
info:  VK_AMD_shader_fragment_mask
info:    extension supported                    : 0
info:  VK_EXT_attachment_feedback_loop_layout
info:    attachmentFeedbackLoopLayout           : 0
info:  VK_EXT_conservative_rasterization
info:    extension supported                    : 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_state3
info:    extDynamicState3AlphaToCoverageEnable  : 0
info:    extDynamicState3DepthClipEnable        : 1
info:    extDynamicState3RasterizationSamples   : 0
info:    extDynamicState3SampleMask             : 0
info:  VK_EXT_fragment_shader_interlock
info:    fragmentShaderSampleInterlock          : 1
info:    fragmentShaderPixelInterlock           : 1
info:  VK_EXT_full_screen_exclusive
info:    extension supported                    : 0
info:  VK_EXT_graphics_pipeline_library
info:    graphicsPipelineLibrary                : 1
info:  VK_EXT_memory_budget
info:    extension supported                    : 1
info:  VK_EXT_memory_priority
info:    memoryPriority                         : 0
info:  VK_EXT_non_seamless_cube_map
info:    nonSeamlessCubeMap                     : 0
info:  VK_EXT_robustness2
info:    robustBufferAccess2                    : 1
info:    robustImageAccess2                     : 1
info:    nullDescriptor                         : 1
info:  VK_EXT_shader_module_identifier
info:    shaderModuleIdentifier                 : 1
info:  VK_EXT_shader_stencil_export
info:    extension supported                    : 0
info:  VK_EXT_swapchain_colorspace
info:    extension supported                    : 0
info:  VK_EXT_hdr_metadata
info:    extension supported                    : 0
info:  VK_EXT_transform_feedback
info:    transformFeedback                      : 1
info:    geometryStreams                        : 1
info:  VK_EXT_vertex_attribute_divisor
info:    vertexAttributeInstanceRateDivisor     : 1
info:    vertexAttributeInstanceRateZeroDivisor : 1
info:  VK_KHR_external_memory_win32
info:    extension supported                    : 0
info:  VK_KHR_external_semaphore_win32
info:    extension supported                    : 0
info:  VK_NVX_binary_import
info:    extension supported                    : 1
info:  VK_NVX_image_view_handle
info:    extension supported                    : 1
info:  Queue families:
info:    Graphics : 0
info:    Transfer : 1
info:    Sparse   : 0
info:  Memory type mask for sparse resources: 0x2
warn:  DXVK: No state cache file found
info:  DXVK: Graphics pipeline libraries supported
info:  DXGI: NvAPI workaround enabled, reporting AMD GPU
info:  NVIDIA GeForce GTX 1650 Ti:
info:    Driver: 530.41.3
info:    Vulkan: 1.3.236
info:    Memory Heap[0]: 
info:      Size: 4096 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:    Memory Heap[1]: 
info:      Size: 23591 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
info:    Memory Heap[2]: 
info:      Size: 246 MiB
info:      Flags: 0x1
info:      Memory Type[4]: Property Flags = 0x7
info:  DXGI: NvAPI workaround enabled, reporting AMD GPU
info:  NVIDIA GeForce GTX 1650 Ti:
info:    Driver: 530.41.3
info:    Vulkan: 1.3.236
info:    Memory Heap[0]: 
info:      Size: 4096 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:    Memory Heap[1]: 
info:      Size: 23591 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
info:    Memory Heap[2]: 
info:      Size: 246 MiB
info:      Flags: 0x1
info:      Memory Type[4]: Property Flags = 0x7
info:  DXGI: NvAPI workaround enabled, reporting AMD GPU
Direct3D:
    Version:  Direct3D 11.0 [level 11.1]
    Renderer: NVIDIA GeForce GTX 1650 Ti (ID=0x67df)
    Vendor:   
    VRAM:     4342 MB
    Driver:   30.0.14023.3004
info:  D3D11CoreCreateDevice: Maximum supported feature level: D3D_FEATURE_LEVEL_12_1
info:  D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
info:  Device properties:
info:    Device name:     : NVIDIA GeForce GTX 1650 Ti
info:    Driver version   : 530.41.3
info:  Enabled device extensions:
info:    VK_EXT_attachment_feedback_loop_layout
info:    VK_EXT_conservative_rasterization
info:    VK_EXT_custom_border_color
info:    VK_EXT_depth_clip_enable
info:    VK_EXT_extended_dynamic_state3
info:    VK_EXT_fragment_shader_interlock
info:    VK_EXT_graphics_pipeline_library
info:    VK_EXT_non_seamless_cube_map
info:    VK_EXT_robustness2
info:    VK_EXT_shader_module_identifier
info:    VK_EXT_transform_feedback
info:    VK_EXT_vertex_attribute_divisor
info:    VK_KHR_pipeline_library
info:    VK_KHR_swapchain
info:    VK_NVX_binary_import
info:    VK_NVX_image_view_handle
info:  Device features:
info:    robustBufferAccess                     : 1
info:    fullDrawIndexUint32                    : 1
info:    imageCubeArray                         : 1
info:    independentBlend                       : 1
info:    geometryShader                         : 1
info:    tessellationShader                     : 1
info:    sampleRateShading                      : 1
info:    dualSrcBlend                           : 1
info:    logicOp                                : 1
info:    multiDrawIndirect                      : 1
info:    drawIndirectFirstInstance              : 1
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               : 1
info:    shaderImageGatherExtended              : 1
info:    shaderClipDistance                     : 1
info:    shaderCullDistance                     : 1
info:    shaderFloat64                          : 1
info:    shaderInt64                            : 1
info:    variableMultisampleRate                : 1
info:    shaderResourceResidency                : 1
info:    shaderResourceMinLod                   : 1
info:    sparseBinding                          : 1
info:    sparseResidencyBuffer                  : 1
info:    sparseResidencyImage2D                 : 1
info:    sparseResidencyImage3D                 : 1
info:    sparseResidency2Samples                : 1
info:    sparseResidency4Samples                : 1
info:    sparseResidency8Samples                : 1
info:    sparseResidency16Samples               : 1
info:    sparseResidencyAliased                 : 1
info:  Vulkan 1.1
info:    shaderDrawParameters                   : 1
info:  Vulkan 1.2
info:    samplerMirrorClampToEdge               : 1
info:    drawIndirectCount                      : 1
info:    samplerFilterMinmax                    : 1
info:    hostQueryReset                         : 1
info:    timelineSemaphore                      : 1
info:    bufferDeviceAddress                    : 1
info:    shaderOutputViewportIndex              : 1
info:    shaderOutputLayer                      : 1
info:    vulkanMemoryModel                      : 1
info:  Vulkan 1.3
info:    robustImageAccess                      : 0
info:    pipelineCreationCacheControl           : 1
info:    shaderDemoteToHelperInvocation         : 1
info:    shaderZeroInitializeWorkgroupMemory    : 0
info:    synchronization2                       : 1
info:    dynamicRendering                       : 1
info:  VK_AMD_shader_fragment_mask
info:    extension supported                    : 0
info:  VK_EXT_attachment_feedback_loop_layout
info:    attachmentFeedbackLoopLayout           : 0
info:  VK_EXT_conservative_rasterization
info:    extension supported                    : 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_state3
info:    extDynamicState3AlphaToCoverageEnable  : 0
info:    extDynamicState3DepthClipEnable        : 1
info:    extDynamicState3RasterizationSamples   : 0
info:    extDynamicState3SampleMask             : 0
info:  VK_EXT_fragment_shader_interlock
info:    fragmentShaderSampleInterlock          : 1
info:    fragmentShaderPixelInterlock           : 1
info:  VK_EXT_full_screen_exclusive
info:    extension supported                    : 0
info:  VK_EXT_graphics_pipeline_library
info:    graphicsPipelineLibrary                : 1
info:  VK_EXT_memory_budget
info:    extension supported                    : 1
info:  VK_EXT_memory_priority
info:    memoryPriority                         : 0
info:  VK_EXT_non_seamless_cube_map
info:    nonSeamlessCubeMap                     : 0
info:  VK_EXT_robustness2
info:    robustBufferAccess2                    : 1
info:    robustImageAccess2                     : 1
info:    nullDescriptor                         : 1
info:  VK_EXT_shader_module_identifier
info:    shaderModuleIdentifier                 : 1
info:  VK_EXT_shader_stencil_export
info:    extension supported                    : 0
info:  VK_EXT_swapchain_colorspace
info:    extension supported                    : 0
info:  VK_EXT_hdr_metadata
info:    extension supported                    : 0
info:  VK_EXT_transform_feedback
info:    transformFeedback                      : 1
info:    geometryStreams                        : 1
info:  VK_EXT_vertex_attribute_divisor
info:    vertexAttributeInstanceRateDivisor     : 1
info:    vertexAttributeInstanceRateZeroDivisor : 1
info:  VK_KHR_external_memory_win32
info:    extension supported                    : 0
info:  VK_KHR_external_semaphore_win32
info:    extension supported                    : 0
info:  VK_NVX_binary_import
info:    extension supported                    : 1
info:  VK_NVX_image_view_handle
info:    extension supported                    : 1
info:  Queue families:
info:    Graphics : 0
info:    Transfer : 1
info:    Sparse   : 0
info:  Memory type mask for sparse resources: 0x2
warn:  DXVK: No state cache file found
info:  DXVK: Graphics pipeline libraries supported
info:  DXGI: NvAPI workaround enabled, reporting AMD GPU
- err:   Failed to create shared resource: VK_KHR_EXTERNAL_MEMORY_WIN32 not supported
warn:  D3D11: Failed to write shared resource info for a texture
<RI> Initializing input.
<RI> Input initialized.
info:  NVIDIA GeForce GTX 1650 Ti:
info:    Driver: 530.41.3
info:    Vulkan: 1.3.236
info:    Memory Heap[0]: 
info:      Size: 4096 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:    Memory Heap[1]: 
info:      Size: 23591 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
info:    Memory Heap[2]: 
info:      Size: 246 MiB
info:      Flags: 0x1
info:      Memory Type[4]: Property Flags = 0x7
- err:   readMonitorEdidFromKey: Failed to get EDID reg key size
- err:   DXGI: Failed to parse display metadata + colorimetry info, using blank.
- err:   readMonitorEdidFromKey: Failed to get EDID reg key size
- err:   DXGI: Failed to parse display metadata + colorimetry info, using blank.
- err:   D3D11SwapChain: Failed to recreate swap chain: -13
- err:   DXGI: CreateSwapChainForHwnd: Failed to create swap chain, hr -2147467259
- err:   D3D11SwapChain: Failed to recreate swap chain: -13
- err:   DXGI: CreateSwapChainForHwnd: Failed to create swap chain, hr -2147467259
Switching to resolution 800x600 failed
Screen: DX11 could not switch resolution (800x600 fs=0 hz=0)
KKron4ek 2023-04-28 github

You can try to enable a virtual desktop in winecfg.

Ddoitsujin maintainer 2023-04-28 github

Not sure what the game is doing to change monitor resolutions, but unless your display exposes an acual 800x600 mode and you're also running Xorg (rather than a Wayland session), this isn't going to work.

Honestly I'd just recommend gamescope for any sort of weird resolution shenanigans, DXVK will never be able to perfectly emulate what DXGI does in this regard.

KKallinteris-Andreas 2023-04-29 github

I have re-installed my OS, and i no longer have this issue (same driver + wine + dxvk versions)

SSynaxis 2023-07-19 github

Its crazy because if i install a new wine version it works.. it's something related to cache / storage.
Screenshot from 2023-07-19 00-14-09

RReyMoss 2026-07-21 github

Confirming the gamescope recommendation from this thread with a concrete case and the exact reason it works, for anyone landing here on the "readMonitorEdidFromKey: Failed" / "DXGI: Failed to parse display metadata, using blank" crash.

A bare virtual X server (Xephyr, Xvfb) advertises its output as 0mm x 0mm with no EDID, so DXVK has no metadata to read and a Unity app that derives DPI from physical size divides by zero at swapchain creation. This killed a Unity 2022.3.62 game (Steam "Typing Farmer", Proton 10) instantly.

Running it under gamescope fixes it precisely because gamescope synthesizes a valid EDID for its nested output, so DXVK reads proper metadata — no divide-by-zero:

gamescope --backend wayland -w 720 -h 406 -- %command%

Caveat for interactive apps: gamescope --backend headless also renders fine (valid EDID) but exposes no virtual-pointer/keyboard protocol, so it can't forward input — use the wayland backend (a real nested window), not headless.

crash log — Proton 10, DXVK
info:  readMonitorEdidFromKey: Failed to get EDID reg key size
warn:  DXGI: Failed to parse display metadata + colorimetry info, using blank
wine: Unhandled division by zero

Out of DXVK's scope, but for anyone hitting the same game: its "type in any app" feature separately needs a native /dev/input (evdev) reader on Linux, since the Windows global keyboard hook sees nothing outside the game window under Proton.

Launch lines

DLLs