bottlesdevs / Bottles

Run Windows software and games on Linux
https://usebottles.com
GNU General Public License v3.0
6.51k stars 277 forks source link

[Bug]: X Error of failed request: BadMatch (invalid parameter attributes) when using proton 8.0 and above. #3078

Open joelmathewthomas opened 1 year ago

joelmathewthomas commented 1 year ago

Describe the bug

So, I have an Dual GPU Gaming Laptop, Intel iGPU and NVIDIA RTX 3050 Ti Discrete GPU. The laptop display is being run by iGPU and Games rendered on NVIDIA GPU is offloaded to the iGPU. I also use prime-run for other GPU intensive applications. So the issue is that, for proton version 8.0 and above , when launching a game with the Discrete Graphics Option turned on, within a bottle settings, it gives me an error and game fails to launch. The error is

X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  156 (NV-GLX)
  Minor opcode of failed request:  43 ()
  Serial number of failed request:  428
  Current serial number in output stream:  429

Now if i turn off the Discrete GPU Option , the game launches fine. But obviously , it is being rendered on the Intel iGPU now, which isn't what I want due to low performance. Now coincidentally, this issue is also present with Lutris , when the NVIDIA Prime Render Offload option is turned on. But on Lutris, it can be solved by turning off NVIDIA Prime Render Offload and then in the VULKAN ICD LOADER settings choosing NVIDIA RTX 3050 Ti Laptop GPU. And now the game launches fine on Lutris, and also using the NVIDIA discrete GPU, which is exactly what i want. But there is no way to do this in Bottles. Please fix this bug when using proton 8 and above.

To Reproduce

  1. Create a Bottle.
  2. Inside Bottles , select runner as proton 8 or proton based runners like wine-ge , lutris-wine, GE-proton of version 8 and above.
  3. Turn on Discrete Graphics Option.
  4. Launch the Game.
  5. Game crashes with X Error of failed request: BadMatch (invalid parameter attributes) error.

Package

Flatpak from Flathub

Distribution

Arch Linux 6.4.12-arch1-1

Debugging Information

Official Package: true
Version: '51.9'
DE/WM: plasma
Display:
    X.org: true
    X.org (port): :0
    Wayland: false
Graphics:
    vendors:
        nvidia: &id002
            vendor: nvidia
            envs:
                __NV_PRIME_RENDER_OFFLOAD: '1'
                __GLX_VENDOR_LIBRARY_NAME: nvidia
                __VK_LAYER_NV_optimus: NVIDIA_only
            icd: /usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/nvidia_icd.json:/usr/lib/i386-linux-gnu/GL/vulkan/icd.d/nvidia_icd.json
            nvngx_path: /usr/lib/x86_64-linux-gnu/GL/nvidia-535-104-05/extra/nvidia/wine
        intel: &id001
            vendor: intel
            envs:
                DRI_PRIME: '1'
            icd: /usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/intel_hasvk_icd.x86_64.json:/usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/intel_icd.x86_64.json:/usr/lib/i386-linux-gnu/GL/vulkan/icd.d/intel_icd.i686.json:/usr/lib/i386-linux-gnu/GL/vulkan/icd.d/intel_hasvk_icd.i686.json
    prime:
        integrated: *id001
        discrete: *id002
Kernel:
    Type: Linux
    Version: 6.4.12-arch1-1
Disk:
    Total: 8269770752
    Free: 8269598720
RAM:
    MemTotal: 15.4GiB
    MemAvailable: 9.5GiB
Bottles_envs: null

Troubleshooting Logs

user, [8 Sep 2023 01:35:48]
01:34:21 (INFO) Bottles Started! 
01:34:23 (INFO) Performing Bottles checks… 
01:34:23 (INFO) Dxvks found:
         - dxvk-2.3

01:34:23 (INFO) Vkd3ds found:
         - vkd3d-proton-2.9

01:34:23 (INFO) Nvapis found:
         - dxvk-nvapi-v0.6.3

01:34:23 (INFO) Latencyflexs found:
         - latencyflex-v0.1.1

01:34:23 (INFO) Runners found:
         - soda-7.0-9
         - lutris-GE-Proton8-14-x86_64
         - sys-wine-8.0.2

01:34:23 (INFO) Bottles found:
         - Hollow Knight
         - Dark Souls

01:34:24 (INFO) Catalog dependencies loaded 
01:34:24 (INFO) Catalog components loaded 
01:34:25 (INFO) Setting Key sync=esync for bottle Hollow Knight… 
01:34:25 (INFO) There is no running wineserver. 
01:34:29 (INFO) Catalog installers loaded 
01:34:38 (INFO) Launching an executable… 
01:34:39 (INFO) Using EasyAntiCheat runtime 
01:34:39 (INFO) Using BattlEye runtime 
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
esync: up and running.
wine: RLIMIT_NICE is <= 20, unable to use setpriority safely
gamemodeauto: 
002c:err:wineboot:process_run_key Error running cmd L"C:\\windows\\system32\\winemenubuilder.exe -r" (2).
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
006c:err:ntoskrnl:ZwLoadDriver failed to create driver L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\wineusb": c0000142
gamemodeauto: 
gamemodeauto: 
009c:err:hid:udev_bus_init UDEV monitor creation failed
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
00fc:err:xrandr:xrandr14_get_adapters Failed to get adapters
00fc:err:xrandr:xrandr14_get_adapters Failed to get adapters
00fc:err:xrandr:xrandr14_get_adapters Failed to get adapters
00fc:err:xrandr:xrandr14_get_adapters Failed to get adapters
00fc:err:xrandr:xrandr14_get_adapters Failed to get adapters
00fc:err:xrandr:xrandr14_get_adapters Failed to get adapters
gamemodeauto: 
gamemodeauto: 
0138:err:xrandr:xrandr14_get_adapters Failed to get adapters
0138:err:xrandr:xrandr14_get_adapters Failed to get adapters
00ec:err:xrandr:xrandr14_get_adapters Failed to get adapters
00ec:err:xrandr:xrandr14_get_adapters Failed to get adapters
warn:  CreateDXGIFactory2: Ignoring flags
info:  Game: hollow_knight.exe
info:  DXVK: v2.3
info:  Vulkan: Found vkGetInstanceProcAddr in winevulkan.dll @ 0x2d4ad4020
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:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  NVIDIA GeForce RTX 3050 Ti Laptop GPU:
info:    Driver : NVIDIA 535.104.5
info:    Memory Heap[0]: 
info:      Size: 4096 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:      Memory Type[4]: Property Flags = 0x7
info:    Memory Heap[1]: 
info:      Size: 11830 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:  NVIDIA GeForce RTX 3050 Ti Laptop GPU:
info:    Driver : NVIDIA 535.104.5
info:    Memory Heap[0]: 
info:      Size: 4096 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:      Memory Type[4]: Property Flags = 0x7
info:    Memory Heap[1]: 
info:      Size: 11830 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
warn:  DXGI: Found monitors not associated with any adapter, using fallback
info:  DXGI: Hiding actual GPU, reporting vendor ID 0x1002, device ID 73df
info:  D3D11InternalCreateDevice: Maximum supported feature level: D3D_FEATURE_LEVEL_12_1
info:  D3D11InternalCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_1
info:  Device properties:
info:    Device : NVIDIA GeForce RTX 3050 Ti Laptop GPU
info:    Driver : NVIDIA 535.104.5
info:  Enabled device extensions:
info:    VK_EXT_attachment_feedback_loop_layout

user, [8 Sep 2023 01:35:48]

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_memory_priority
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_external_memory_win32
info:    VK_KHR_external_semaphore_win32
info:    VK_KHR_pipeline_library
info:    VK_KHR_present_id
info:    VK_KHR_present_wait
info:    VK_KHR_swapchain
info:    VK_KHR_win32_keyed_mutex
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:    wideLines                              : 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
user, [8 Sep 2023 01:35:48]

info:    customBorderColors                     : 1
info:    customBorderColorWithoutFormat         : 1
info:  VK_EXT_depth_clip_enable
info:    depthClipEnable                        : 1
info:  VK_EXT_depth_bias_control
info:    depthBiasControl                       : 0
info:    leastRepresentableValueForceUnormRepresentation : 0
info:    floatRepresentation                    : 0
info:    depthBiasExact                         : 0
info:  VK_EXT_extended_dynamic_state3
info:    extDynamicState3AlphaToCoverageEnable  : 1
info:    extDynamicState3DepthClipEnable        : 1
info:    extDynamicState3RasterizationSamples   : 1
info:    extDynamicState3SampleMask             : 1
info:    extDynamicState3LineRasterizationMode  : 1
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_line_rasterization
info:    rectangularLines                       : 1
info:    smoothLines                            : 1
info:  VK_EXT_memory_budget
info:    extension supported                    : 1
info:  VK_EXT_memory_priority
info:    memoryPriority                         : 1
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_swapchain_maintenance1
info:    swapchainMaintenance1                  : 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                    : 1
info:  VK_KHR_external_semaphore_win32
info:    extension supported                    : 1
info:  VK_KHR_maintenance5
info:    maintenance5                           : 0
info:  VK_KHR_present_id
info:    presentId                              : 1
info:  VK_KHR_present_wait
info:    presentWait                            : 1
info:  VK_NVX_binary_import
info:    extension supported                    : 1
info:  VK_NVX_image_view_handle
info:    extension supported                    : 1
info:  VK_KHR_win32_keyed_mutex
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: Hiding actual GPU, reporting vendor ID 0x1002, device ID 73df
info:  NVIDIA GeForce RTX 3050 Ti Laptop GPU:
info:    Driver : NVIDIA 535.104.5
info:    Memory Heap[0]: 
info:      Size: 4096 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:      Memory Type[4]: Property Flags = 0x7
info:    Memory Heap[1]: 
info:      Size: 11830 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:  NVIDIA GeForce RTX 3050 Ti Laptop GPU:
info:    Driver : NVIDIA 535.104.5
info:    Memory Heap[0]: 
info:      Size: 4096 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:      Memory Type[4]: Property Flags = 0x7
info:    Memory Heap[1]: 
info:      Size: 11830 MiB

user, [8 Sep 2023 01:35:48]

info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: Found monitors not associated with any adapter, using fallback
info:  DXGI: Hiding actual GPU, reporting vendor ID 0x1002, device ID 73df
info:  NVIDIA GeForce RTX 3050 Ti Laptop GPU:
info:    Driver : NVIDIA 535.104.5
info:    Memory Heap[0]: 
info:      Size: 4096 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:      Memory Type[4]: Property Flags = 0x7
info:    Memory Heap[1]: 
info:      Size: 11830 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:  NVIDIA GeForce RTX 3050 Ti Laptop GPU:
info:    Driver : NVIDIA 535.104.5
info:    Memory Heap[0]: 
info:      Size: 4096 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:      Memory Type[4]: Property Flags = 0x7
info:    Memory Heap[1]: 
info:      Size: 11830 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
warn:  DXGI: Found monitors not associated with any adapter, using fallback
info:  DXGI: Hiding actual GPU, reporting vendor ID 0x1002, device ID 73df
info:  D3D11InternalCreateDevice: Maximum supported feature level: D3D_FEATURE_LEVEL_12_1
info:  D3D11InternalCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
info:  Device properties:
info:    Device : NVIDIA GeForce RTX 3050 Ti Laptop GPU
info:    Driver : NVIDIA 535.104.5
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_memory_priority
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_external_memory_win32
info:    VK_KHR_external_semaphore_win32
info:    VK_KHR_pipeline_library
info:    VK_KHR_present_id
info:    VK_KHR_present_wait
info:    VK_KHR_swapchain
info:    VK_KHR_win32_keyed_mutex
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:    wideLines                              : 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

user, [8 Sep 2023 01:35:48]

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_depth_bias_control
info:    depthBiasControl                       : 0
info:    leastRepresentableValueForceUnormRepresentation : 0
info:    floatRepresentation                    : 0
info:    depthBiasExact                         : 0
info:  VK_EXT_extended_dynamic_state3
info:    extDynamicState3AlphaToCoverageEnable  : 1
info:    extDynamicState3DepthClipEnable        : 1
info:    extDynamicState3RasterizationSamples   : 1
info:    extDynamicState3SampleMask             : 1
info:    extDynamicState3LineRasterizationMode  : 1
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_line_rasterization
info:    rectangularLines                       : 1
info:    smoothLines                            : 1
info:  VK_EXT_memory_budget
info:    extension supported                    : 1
info:  VK_EXT_memory_priority
info:    memoryPriority                         : 1
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_swapchain_maintenance1
info:    swapchainMaintenance1                  : 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

user, [8 Sep 2023 01:35:48]

info:    vertexAttributeInstanceRateZeroDivisor : 1
info:  VK_KHR_external_memory_win32
info:    extension supported                    : 1
info:  VK_KHR_external_semaphore_win32
info:    extension supported                    : 1
info:  VK_KHR_maintenance5
info:    maintenance5                           : 0
info:  VK_KHR_present_id
info:    presentId                              : 1
info:  VK_KHR_present_wait
info:    presentWait                            : 1
info:  VK_NVX_binary_import
info:    extension supported                    : 1
info:  VK_NVX_image_view_handle
info:    extension supported                    : 1
info:  VK_KHR_win32_keyed_mutex
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:  NVIDIA GeForce RTX 3050 Ti Laptop GPU:
info:    Driver : NVIDIA 535.104.5
info:    Memory Heap[0]: 
info:      Size: 4096 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:      Memory Type[4]: Property Flags = 0x7
info:    Memory Heap[1]: 
info:      Size: 11830 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:  NVIDIA GeForce RTX 3050 Ti Laptop GPU:
info:    Driver : NVIDIA 535.104.5
info:    Memory Heap[0]: 
info:      Size: 4096 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:      Memory Type[4]: Property Flags = 0x7
info:    Memory Heap[1]: 
info:      Size: 11830 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
warn:  DXGI: Found monitors not associated with any adapter, using fallback
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  156 (NV-GLX)
  Minor opcode of failed request:  43 ()
  Serial number of failed request:  445
  Current serial number in output stream:  446
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
gamemodeauto: 
gamemodeauto:

Additional context

No response

K4R7IK commented 1 year ago

Hey @joelmathewthomas, currently I'm also facing same problem. Did you find any solution to this?

joelmathewthomas commented 1 year ago

Unfortunately, no. The developers haven't even replied back. But , i think it's better to use Lutris or Heroic Games Launcher

joelmathewthomas commented 1 year ago

Hey @joelmathewthomas, currently I'm also facing same problem. Did you find any solution to this?

Lutris and Heroic game launchers have more features, and is better in my opinion. If you are using a hybrid graphics laptop, just disable Enable NVIDIA Prime Render Offload in the settings and select the NVIDIA Graphics card in the VULKAN ICD LOADER. Image Preview

K4R7IK commented 1 year ago

@joelmathewthomas , I was facing this problem with the heroic launcher when using proton 8+ versions. From my research I can say that Xorg isn't working great with proton/wine 8+ versions. Also when switching to Wayland everything worked fine.

joelmathewthomas commented 1 year ago

@joelmathewthomas , I was facing this problem with the heroic launcher when using proton 8+ versions. From my research I can say that Xorg isn't working great with proton/wine 8+ versions. Also when switching to Wayland everything worked fine.

Just disable discrete graphics and proton should automatically select the nvidia gpu. Lutris does it better by allowing us to choose the vulkan icd loader.

K4R7IK commented 1 year ago

@joelmathewthomas , I was facing this problem with the heroic launcher when using proton 8+ versions. From my research I can say that Xorg isn't working great with proton/wine 8+ versions. Also when switching to Wayland everything worked fine.

Just disable discrete graphics and proton should automatically select the nvidia gpu. Lutris does it better by allowing us to choose the vulkan icd loader.

I'll try it.

K4R7IK commented 1 year ago

@joelmathewthomas Yes, disabling the discrete graphic option in heroic does seem to work. But how do I confirm that my discrete graphics is in use. Because nvtop show same output in both the cases.

joelmathewthomas commented 1 year ago

@joelmathewthomas Yes, disabling the discrete graphic option in heroic does seem to work. But how do I confirm that my discrete graphics is in use. Because nvtop show same output in both the cases.

Just run nvidia-smi in the terminal and check under running processes , if your game or process related to it is mentioned. Or maybe you could say the difference from the fps.

averagenative commented 1 year ago

I have this same problem. Any bottles where I set the runner to Proton 8.x the games either failure to load or some other failure. I get this in journalctl output

X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  156 (NV-GLX)
  Minor opcode of failed request:  43 ()

If I try disabling discrete graphics the iGPU gets used. And nothing in nvidia-smi.

I have a dual gpu setup on this laptop. If I'm using lutris it has the option to manually set the Vulkan ICD loader and I can select my card and boom it works on proton 8+ runners.

I can manually set __GLX_VENDOR_LIBRARY_NAME: nvidia __NV_PRIME_RENDER_OFFLOAD: '1' and use Wine to launch whatever and it utilizes the GPU I expect.

An easy workaround/solution would be to add the ability to manually specify which card the Vulkan ICD loader uses.

Is there a feature request area?

joelmathewthomas commented 1 year ago

I have this same problem. Any bottles where I set the runner to Proton 8.x the games either failure to load or some other failure. I get this in journalctl output

X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  156 (NV-GLX)
  Minor opcode of failed request:  43 ()

If I try disabling discrete graphics the iGPU gets used. And nothing in nvidia-smi.

I have a dual gpu setup on this laptop. If I'm using lutris it has the option to manually set the Vulkan ICD loader and I can select my card and boom it works on proton 8+ runners.

I can manually set __GLX_VENDOR_LIBRARY_NAME: nvidia __NV_PRIME_RENDER_OFFLOAD: '1' and use Wine to launch whatever and it utilizes the GPU I expect.

An easy workaround/solution would be to add the ability to manually specify which card the Vulkan ICD loader uses.

Is there a feature request area?

Exactly, this needs to be implemented as a feature.

averagenative commented 1 year ago

@joelmathewthomas don't know if you found #3178 but I've subscribed there. Hopefully they're able to implement it as a manual switch, would definitely make me happy, generally don't like using Lutris

vertigo-red commented 11 months ago

I've managed to fix this with variables __GLX_VENDOR_LIBRARY_NAME=nvidia VK_ICD_FILENAMES=/etc/vulkan/icd.d/nvidia_icd.json and disabled in GUI any obvious uses of NVIDIA dGPU. Where /etc/vulkan/icd.d/nvidia_icd.json is path to your nvidia_icd.json. I don't know why it's located on openSUSE TW with 545.29.06 in /etc/vulkan/icd.d/ and not in /usr/share/vulkan/icd.d/ like rest of ICD loaders (NVIDIA packages drivers for openSUSE themselves, big question for them). It was tested by me in OBS rpm Bottles, not flatpak one. For flatpak you might want to seek for nvidia_icd.json inside flatpak container in nvidia runtime (I'm not confident in my knowledge of flatpak tho). Also worth to mention I used x11 session Plasma. Wayland is not affected by this problem it seems, but there is no 100% certainty and the solution I proposed can be tried too. I support the proposal to add a Vulkan ICD Loader switcher like in Lutris. image image

Specs from KDE - Operating System: openSUSE Tumbleweed 20240103 - KDE Plasma Version: 5.27.10 - KDE Frameworks Version: 5.113.0 - Qt Version: 5.15.11 - Kernel Version: 6.6.7-1-default (64-bit) - Graphics Platform: X11 - Processors: 8 × Intel® Core™ i5-8265U CPU @ 1.60GHz - Memory: 11.5 ГиБ of RAM - Graphics Processor: Mesa Intel® UHD Graphics 620 - Manufacturer: ASUSTeK COMPUTER INC. - Product Name: VivoBook_ASUSLaptop X509FL_R521FL - System Version: 1.0
health-check - Official Package: false - Version: '51.10' - DE/WM: default - Display: - X.org: true - X.org (port): :0 - Wayland: false - Graphics: - vendors: - nvidia: &id002 - vendor: nvidia - envs: - __NV_PRIME_RENDER_OFFLOAD: '1' - __GLX_VENDOR_LIBRARY_NAME: nvidia - __VK_LAYER_NV_optimus: NVIDIA_only - icd: /etc/vulkan/icd.d/nvidia_icd.json - nvngx_path: /usr/lib64/nvidia/wine - intel: &id001 - vendor: intel - envs: - DRI_PRIME: '1' - icd: /usr/share/vulkan/icd.d/intel_hasvk_icd.x86_64.json:/usr/share/vulkan/icd.d/intel_icd.x86_64.json:/usr/share/vulkan/icd.d/intel_hasvk_icd.i686.json:/usr/share/vulkan/icd.d/intel_icd.i686.json - prime: - integrated: *id001 - discrete: *id002 - Kernel: - Type: Linux - Version: 6.6.7-1-default - Disk: - Total: 999666946048 - Free: 963041406976 - RAM: - MemTotal: 11.5GiB - MemAvailable: 8.3GiB - Bottles_envs: null - Tools and Libraries: - cabextract: true - p7zip: true - patool: true - glibc_min: '2.38' - icoextract: true - pefile: true - orjson: true - markdown: true - ImageMagick: true - FVS: true - xdpyinfo: true
joelmathewthomas commented 11 months ago

I've also managed to get it to work using launch arguments. But what i used instead was VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json VK_LAYER_PATH=/usr/share/vulkan/explicit_layer.d

nicolas-oliveira commented 11 months ago

Same issue to me, Bottles can't open some application, when I set Ubuntu to open bottles app with discrete GPU (Nvidia) the application freeze and no window opens

joelmathewthomas commented 11 months ago

Same issue to me, Bottles can't open some application, when I set Ubuntu to open bottles app with discrete GPU (Nvidia) the application freeze and no window opens

Disable discrete gpu in settings and use the launch arguments VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json VK_LAYER_PATH=/usr/share/vulkan/explicit_layer.d. That should fix it.

migueldeoleiros commented 10 months ago

@joelmathewthomas Are you running the flatpak version? And does this make it so that any program you run use the nvidia card? Adding this environment variables doesn't seem to change anything for me, the programs just run on the integrated card

joelmathewthomas commented 10 months ago

@joelmathewthomas Are you running the flatpak version? And does this make it so that any program you run use the nvidia card? Adding this environment variables doesn't seem to change anything for me, the programs just run on the integrated card

Make sure to disable discrete graphics option in the settings. Also , no I'm not running the flatpak version

vertigo-red commented 10 months ago

@joelmathewthomas Are you running the flatpak version? And does this make it so that any program you run use the nvidia card? Adding this environment variables doesn't seem to change anything for me, the programs just run on the integrated card

Honestly, result varies by distribution due to how drivers packaged. 545 is a big mess. Only thing I'm sure openSUSE Tumbleweed KDE Wayland works out of the box with bottles (rpm) discrete toggle (nvidia packager). And Fedora 39 KDE doesn't (rpmfusion packager). Also you may try using lower than 8 wine or fork version.

crestcere commented 10 months ago

Same issue to me, Bottles can't open some application, when I set Ubuntu to open bottles app with discrete GPU (Nvidia) the application freeze and no window opens

Disable discrete gpu in settings and use the launch arguments VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json VK_LAYER_PATH=/usr/share/vulkan/explicit_layer.d. That should fix it.

Thank you finally I can use proton runners on nvidia optimus laptop. Btw, is there any way to run this under flatpak? It would be great.

Edit: I manage to run under flatpak with using this argument WOHOO!: VK_ICD_FILENAMES=/usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/nvidia_icd.json VK_LAYER_PATH=/usr/lib/x86_64-linux-gnu/GL/vulkan/explicit_layer.d %command%

vertigo-red commented 10 months ago

Yeah. Tried right now to make flatpak version work just for fun. Since there is flatpak runtime for nvidia had to search needed files inside flatpak container. I used VK_ICD_FILENAMES=/usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/nvidia_icd.json VK_LAYER_PATH=/usr/lib/x86_64-linux-gnu/GL/vulkan/explicit_layer.d and can confirm it works as intended. I think it's time to strain nvidia and make a bug report.

BrunodaSilvaBelo commented 9 months ago

X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 156 (NV-GLX) Minor opcode of failed request: 43 () Serial number of failed request: 428 Current serial number in output stream: 429

In arch wiki shows that wine has a problem with dxvk, i fixed this problem using xorg with only the dedicated gpu, removing the ability to offload.

The easiest and automatic way to configure xorg with a nvidia gpu to use only the dedicated gpu is using optimus-manager, but you can manually configure xorg if you know how.

With this configurated, you no longer need use a Prime render, you can run the application normally 'cause using only dedicated gpu, and run a game with prime-run for example, the error will still occur

vertigo-red commented 9 months ago

Arch wiki doesn't provide any detailed information on this issue. Use of dGPU only might affect general performance in 3D wine apps. Also some people can't afford it due to smaller VRAM or weaker GPU. Still working offload workaround is to set path to nvidia_icd.json. Can update problem status. Confirm workaround works with flatpak in x11 fedora 39 kde session. Wayland session seems work with GUI discrete toggle as intended without additional variable. openSUSE Tumbleweed wayland kde works out of the box as intended. x11 session requires nvidia_icd.json (but there might arise other problem with complete PC freeze, could be distro specific). I also report findings on nvidia forum but developers not really being responsive.