jp7677 / dxvk-nvapi

Alternative NVAPI implementation on top of DXVK.
MIT License
373 stars 34 forks source link

Final Fantasy XIV black screen on launch #196

Closed drakon64 closed 2 months ago

drakon64 commented 2 months ago

Launching Final Fantasy XIV with DXVK_ENABLE_NVAPI=1 causes the game to appear as a black screen that never progresses any further.

OS: NixOS 24.05 GPU: NVIDIA GeForce RTX 3090 Driver version: 555.58.02 proprietary Wine: wine-xiv-staging-9.13.1 Wayland: Enabled DXVK version: 2.4 DXVK-NVAPI version: 0.7.1

DRM kernel driver 'nvidia-drm' in use. NVK requires nouveau.
libEGL warning: egl: failed to create dri2 screen
DRM kernel driver 'nvidia-drm' in use. NVK requires nouveau.
DRM kernel driver 'nvidia-drm' in use. NVK requires nouveau.
Using WINEDLLOVERRIDES="msquic=,mscoree=n,b;d3d11,dxgi=n,b;winmm=n,b;nvapi,nvapi64=n"
gamemodeauto:
fsync: up and running.
[obs-vkcapture] Init Vulkan 1.5.0 (64bit)
DRM kernel driver 'nvidia-drm' in use. NVK requires nouveau.
Using WINEDLLOVERRIDES="msquic=,mscoree=n,b;d3d11,dxgi=n,b;winmm=n,b;nvapi,nvapi64=n"
gamemodeauto:
Using WINEDLLOVERRIDES="msquic=,mscoree=n,b;d3d11,dxgi=n,b;winmm=n,b;nvapi,nvapi64=n"
Using WINEDLLOVERRIDES="msquic=,mscoree=n,b;d3d11,dxgi=n,b;winmm=n,b;nvapi,nvapi64=n"
Using WINEDLLOVERRIDES="msquic=,mscoree=n,b;d3d11,dxgi=n,b;winmm=n,b;nvapi,nvapi64=n"
Using WINEDLLOVERRIDES="msquic=,mscoree=n,b;d3d11,dxgi=n,b;winmm=n,b;nvapi,nvapi64=n"
Using WINEDLLOVERRIDES="msquic=,mscoree=n,b;d3d11,dxgi=n,b;winmm=n,b;nvapi,nvapi64=n"
Using WINEDLLOVERRIDES="msquic=,mscoree=n,b;d3d11,dxgi=n,b;winmm=n,b;nvapi,nvapi64=n"
Using WINEDLLOVERRIDES="msquic=,mscoree=n,b;d3d11,dxgi=n,b;winmm=n,b;nvapi,nvapi64=n"
gamemodeauto:
gamemodeauto:
gamemodeauto:
gamemodeauto:
gamemodeauto:
gamemodeauto:
gamemodeauto:
Using WINEDLLOVERRIDES="msquic=,mscoree=n,b;d3d11,dxgi=n,b;winmm=n,b;nvapi,nvapi64=n"
gamemodeauto:
[17:56:46 INF] --------------------------------------------------------------------------------
[17:56:46 INF] Dalamud.Injector, (c) 2023 XIVLauncher Contributors
info:  Game: ffxiv_dx11.exe
info:  DXVK: v2.4
info:  Found built-in config:
info:    d3d11.cachedDynamicResources = vi
info:  Effective configuration:
info:    d3d11.cachedDynamicResources = vi
info:  Vulkan: Found vkGetInstanceProcAddr in winevulkan.dll @ 0x6ffffcd541b0
info:  Built-in extension providers:
info:    Platform WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
info:  OpenVR: Failed to locate module
[17:56:47 INF] Using start info: {"LoadMethod":1,"WorkingDirectory":"Z:\\home\\adamc\\.xlcore\\dalamud\\Hooks\\10.0.0.13","ConfigurationPath":"Z:\\home\\adamc\\.xlcore\\dalamudConfig.json","LogPath":"Z:\\home\\adamc\\.xlcore\\logs","LogName":"","PluginDirectory":"Z:\\home\\adamc\\.xlcore\\installedPlugins","AssetDirectory":"Z:\\home\\adamc\\.xlcore\\dalamudAssets\\284","Language":1,"GameVersion":"2024.08.02.0000.0000","TroubleshootingPackData":"{\"When\":\"2024-08-12T17:56:45.6557576+01:00\",\"IsAutoLogin\":false,\"IsUidCache\":false,\"DalamudEnabled\":true,\"DalamudLoadMethod\":1,\"DalamudInjectionDelay\":0.0,\"SteamIntegration\":false,\"EncryptArguments\":true,\"LauncherVersion\":\"1.1.0.9\",\"LauncherHash\":\"1.1.0.9\",\"Official\":false,\"DpiAwareness\":1,\"Platform\":2,\"ObservedGameVersion\":\"2024.08.02.0000.0000\",\"ObservedEx1Version\":\"2024.07.23.0000.0000\",\"ObservedEx2Version\":\"2024.07.23.0000.0000\",\"ObservedEx3Version\":\"2024.08.02.0000.0000\",\"ObservedEx4Version\":\"2024.08.02.0000.0000\",\"BckMatch\":true,\"IndexIntegrity\":5}","DelayInitializeMs":0,"NoLoadPlugins":false,"NoLoadThirdPartyPlugins":false,"BootLogPath":"Z:\\home\\adamc\\.xlcore\\logs\\dalamud.boot.log","BootShowConsole":false,"BootDisableFallbackConsole":false,"BootWaitMessageBox":0,"BootWaitDebugger":false,"BootVehEnabled":true,"BootVehFull":false,"BootEnableEtw":false,"BootDotnetOpenProcessHookMode":0,"BootEnabledGameFixes":["prevent_devicechange_crashes","disable_game_openprocess_access_check","redirect_openprocess","backup_userdata_save","prevent_icmphandle_crashes","symbol_load_patches"],"BootUnhookDlls":null,"CrashHandlerShow":false,"UnhandledException":0}
info:  Enabled instance extensions:
info:    VK_EXT_surface_maintenance1
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
[obs-vkcapture] Init Vulkan 1.5.0 (64bit)
DRM kernel driver 'nvidia-drm' in use. NVK requires nouveau.
warn:  Skipping CPU adapter: llvmpipe (LLVM 17.0.6, 256 bits)
info:  NVIDIA GeForce RTX 3090:
info:    Driver : NVIDIA 555.58.2
info:    Memory Heap[0]:
info:      Size: 24576 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:      Memory Type[2]: Property Flags = 0x1
info:      Memory Type[5]: Property Flags = 0x7
info:    Memory Heap[1]:
info:      Size: 24006 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[3]: Property Flags = 0x6
info:      Memory Type[4]: Property Flags = 0xe
err:   readMonitorEdidFromKey: Failed to get EDID reg key size
err:   DXGI: Failed to parse display metadata + colorimetry info, using blank.
info:  Game: ffxiv_dx11.exe
info:  DXVK: v2.4
info:  Found built-in config:
info:    d3d11.cachedDynamicResources = vi
info:  Effective configuration:
info:    d3d11.cachedDynamicResources = vi
info:  Vulkan: Found vkGetInstanceProcAddr in winevulkan.dll @ 0x6ffffcd541b0
info:  Built-in extension providers:
info:    Platform 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_EXT_surface_maintenance1
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
[obs-vkcapture] Init Vulkan 1.5.0 (64bit)
DRM kernel driver 'nvidia-drm' in use. NVK requires nouveau.
warn:  Skipping CPU adapter: llvmpipe (LLVM 17.0.6, 256 bits)
info:  NVIDIA GeForce RTX 3090:
info:    Driver : NVIDIA 555.58.2
info:    Memory Heap[0]:
info:      Size: 24576 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:      Memory Type[2]: Property Flags = 0x1
info:      Memory Type[5]: Property Flags = 0x7
info:    Memory Heap[1]:
info:      Size: 24006 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[3]: Property Flags = 0x6
info:      Memory Type[4]: Property Flags = 0xe
err:   readMonitorEdidFromKey: Failed to get EDID reg key size
err:   DXGI: Failed to parse display metadata + colorimetry info, using blank.
info:  Game: ffxiv_dx11.exe
info:  DXVK: v2.4
info:  Found built-in config:
info:    d3d11.cachedDynamicResources = vi
info:  Effective configuration:
info:    d3d11.cachedDynamicResources = vi
info:  Vulkan: Found vkGetInstanceProcAddr in winevulkan.dll @ 0x6ffffcd541b0
info:  Built-in extension providers:
info:    Platform 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_EXT_surface_maintenance1
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
[obs-vkcapture] Init Vulkan 1.5.0 (64bit)
DRM kernel driver 'nvidia-drm' in use. NVK requires nouveau.
warn:  Skipping CPU adapter: llvmpipe (LLVM 17.0.6, 256 bits)
info:  NVIDIA GeForce RTX 3090:
info:    Driver : NVIDIA 555.58.2
info:    Memory Heap[0]:
info:      Size: 24576 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:      Memory Type[2]: Property Flags = 0x1
info:      Memory Type[5]: Property Flags = 0x7
info:    Memory Heap[1]:
info:      Size: 24006 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[3]: Property Flags = 0x6
info:      Memory Type[4]: Property Flags = 0xe
err:   readMonitorEdidFromKey: Failed to get EDID reg key size
err:   DXGI: Failed to parse display metadata + colorimetry info, using blank.
info:  Game: ffxiv_dx11.exe
info:  DXVK: v2.4
info:  Found built-in config:
info:    d3d11.cachedDynamicResources = vi
info:  Effective configuration:
info:    d3d11.cachedDynamicResources = vi
info:  Vulkan: Found vkGetInstanceProcAddr in winevulkan.dll @ 0x6ffffcd541b0
info:  Built-in extension providers:
info:    Platform 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_EXT_surface_maintenance1
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
[obs-vkcapture] Init Vulkan 1.5.0 (64bit)
DRM kernel driver 'nvidia-drm' in use. NVK requires nouveau.
warn:  Skipping CPU adapter: llvmpipe (LLVM 17.0.6, 256 bits)
info:  NVIDIA GeForce RTX 3090:
info:    Driver : NVIDIA 555.58.2
info:    Memory Heap[0]:
info:      Size: 24576 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:      Memory Type[2]: Property Flags = 0x1
info:      Memory Type[5]: Property Flags = 0x7
info:    Memory Heap[1]:
info:      Size: 24006 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[3]: Property Flags = 0x6
info:      Memory Type[4]: Property Flags = 0xe
err:   readMonitorEdidFromKey: Failed to get EDID reg key size
err:   DXGI: Failed to parse display metadata + colorimetry info, using blank.
info:  Game: ffxiv_dx11.exe
info:  DXVK: v2.4
info:  Found built-in config:
info:    d3d11.cachedDynamicResources = vi
info:  Effective configuration:
info:    d3d11.cachedDynamicResources = vi
info:  Vulkan: Found vkGetInstanceProcAddr in winevulkan.dll @ 0x6ffffcd541b0
info:  Built-in extension providers:
info:    Platform 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_EXT_surface_maintenance1
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
[obs-vkcapture] Init Vulkan 1.5.0 (64bit)
DRM kernel driver 'nvidia-drm' in use. NVK requires nouveau.
warn:  Skipping CPU adapter: llvmpipe (LLVM 17.0.6, 256 bits)
info:  NVIDIA GeForce RTX 3090:
info:    Driver : NVIDIA 555.58.2
info:    Memory Heap[0]:
info:      Size: 24576 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:      Memory Type[2]: Property Flags = 0x1
info:      Memory Type[5]: Property Flags = 0x7
info:    Memory Heap[1]:
info:      Size: 24006 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[3]: Property Flags = 0x6
info:      Memory Type[4]: Property Flags = 0xe
err:   readMonitorEdidFromKey: Failed to get EDID reg key size
err:   DXGI: Failed to parse display metadata + colorimetry info, using blank.
warn:  D3D11DeviceFeatures: External memory features not supported
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 3090
info:    Driver : NVIDIA 555.58.2
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_bias_control
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_swapchain_maintenance1
info:    VK_EXT_transform_feedback
info:    VK_EXT_vertex_attribute_divisor
info:    VK_KHR_maintenance5
info:    VK_KHR_pipeline_library
info:    VK_KHR_present_id
info:    VK_KHR_present_wait
info:    VK_KHR_swapchain
info:    VK_NVX_binary_import
info:    VK_NVX_image_view_handle
info:    VK_NV_descriptor_pool_overallocation
info:    VK_NV_raw_access_chains
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
info:    customBorderColors                     : 1
info:    customBorderColorWithoutFormat         : 1
info:  VK_EXT_depth_clip_enable
info:    depthClipEnable                        : 1
info:  VK_EXT_depth_bias_control
info:    depthBiasControl                       : 1
info:    leastRepresentableValueForceUnormRepresentation : 1
info:    floatRepresentation                    : 0
info:    depthBiasExact                         : 1
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                  : 1
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_KHR_maintenance5
info:    maintenance5                           : 1
info:  VK_KHR_present_id
info:    presentId                              : 1
info:  VK_KHR_present_wait
info:    presentWait                            : 1
info:  VK_NV_descriptor_pool_overallocation
info:    descriptorPoolOverallocation           : 1
info:  VK_NV_raw_access_chains
info:    shaderRawAccessChains                  : 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                    : 0
info:  Queue families:
info:    Graphics : 0
info:    Transfer : 1
info:    Sparse   : 0
info:  Memory type mask for sparse resources: 0x2
info:  DXVK: Read 9 valid state cache entries
info:  DXVK: Graphics pipeline libraries supported
info:  Presenter: Actual swap chain properties:
info:    Format:       VK_FORMAT_R8G8B8A8_UNORM
info:    Color space:  VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
info:    Present mode: VK_PRESENT_MODE_MAILBOX_KHR (dynamic: yes)
info:    Buffer size:  3840x2160
info:    Image count:  3
info:    Exclusive FS: 1
warn:  DXGI: MakeWindowAssociation: Ignoring flags
1400.861:0244:0248:info:dxvk-nvapi:NvAPI_Initialize
1400.861:0244:0248:info:dxvk-nvapi:DXVK-NVAPI v0.7.1 (ffxiv_dx11.exe)
info:  NVIDIA GeForce RTX 3090:
info:    Driver : NVIDIA 555.58.2
info:    Memory Heap[0]:
info:      Size: 24576 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:      Memory Type[2]: Property Flags = 0x1
info:      Memory Type[5]: Property Flags = 0x7
info:    Memory Heap[1]:
info:      Size: 24006 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[3]: Property Flags = 0x6
info:      Memory Type[4]: Property Flags = 0xe
1400.870:0244:0248:info:dxvk-nvapi:Successfully acquired Vulkan vkGetInstanceProcAddr @ 0x6ffffcd541b0
1400.878:0244:0248:info:dxvk-nvapi:NvAPI Device: NVIDIA GeForce RTX 3090 (555.58.2)
err:   readMonitorEdidFromKey: Failed to get EDID reg key size
err:   DXGI: Failed to parse display metadata + colorimetry info, using blank.
1400.880:0244:0248:info:dxvk-nvapi:NvAPI Output: \\.\DISPLAY1
1400.889:0244:0248:info:dxvk-nvapi:<-NvAPI_Initialize: OK
1400.889:0244:0248:info:dxvk-nvapi:NvAPI_QueryInterface (0x33c7358c): Unknown function ID
1400.889:0244:0248:info:dxvk-nvapi:NvAPI_QueryInterface (0x593e8644): Unknown function ID
1400.890:0244:0248:info:dxvk-nvapi:<-NvAPI_SYS_GetDriverAndBranchVersion: OK
DRM kernel driver 'nvidia-drm' in use. NVK requires nouveau.
[17:56:48 INF] Done
{"pid": 580, "handle": 0}
Using WINEDLLOVERRIDES="msquic=,mscoree=n,b;d3d11,dxgi=n,b;winmm=n,b;nvapi,nvapi64=n"
gamemodeauto:
drakon64 commented 2 months ago

Still an issue with Wayland disabled

drakon64 commented 2 months ago

Also of note, DLSS isn't activated in FFXIV until you're logged in with a character

drakon64 commented 2 months ago

Reproducible with the NVIDIA 550.78.0 driver

SveSop commented 2 months ago

Not entirely sure what this means: DRM kernel driver 'nvidia-drm' in use. NVK requires nouveau.

Is that the "opensource" driver? Might be completely harmless tho...

But taken the bug report - it works just fine if you do NOT set DXVK_ENABLE_NVAPI=1? The dxvk-nvapi log lines look perfectly fine to me 😄

drakon64 commented 2 months ago

Is that the "opensource" driver? Might be completely harmless tho...

I'm using the proprietary driver.

But taken the bug report - it works just fine if you do NOT set DXVK_ENABLE_NVAPI=1? The dxvk-nvapi log lines look perfectly fine to me 😄

Works fine, even with me keeping the WINEDLLOVERRIDES in place.

SveSop commented 2 months ago

Somewhat strange to me tho.

I am somewhat suspicious of these lines:

[obs-vkcapture] Init Vulkan 1.5.0 (64bit)
DRM kernel driver 'nvidia-drm' in use. NVK requires nouveau.
warn:  Skipping CPU adapter: llvmpipe (LLVM 17.0.6, 256 bits)

vkcapture should probably be ok.. have no idea. Seemingly the llvmpipe (cpu?) is skipped... But this "DRM kernel driver" is not the same for me for some reason.

I only have this listed:

info:  NVIDIA GeForce RTX 2070:
info:    Driver : NVIDIA 560.28.3
info:    Memory Heap[0]:
info:      Size: 8192 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:      Memory Type[2]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 18005 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[3]: Property Flags = 0x6
info:      Memory Type[4]: Property Flags = 0xe
info:    Memory Heap[2]:
info:      Size: 246 MiB
info:      Flags: 0x1
info:      Memory Type[5]: Property Flags = 0x7

So.. perhaps something strange going on there. Could you maybe try to run vulkaninfo |grep -i nvidia and check what it sais after "devicename"?

Eg.

GPU id : 0 (NVIDIA GeForce RTX 2070):
        deviceName        = NVIDIA GeForce RTX 2070
        driverID                                             = DRIVER_ID_NVIDIA_PROPRIETARY
        driverName                                           = NVIDIA

If it looks something like this with "Proprietary" and deviceName, you could try to run the game with DXVK_FILTER_DEVICE_NAME="NVIDIA GeForce RTX 2070" (ofc replacing NVIDIA GeForce RTX 2070 with what you have).

Just in case something strange happens when DXVK is selecting adapter when nvapi is being used perhaps

jp7677 commented 2 months ago

@drakon64 could you please validate that you have both _nvngx.dll and nvngx.dll from your NVIDIA driver available in your prefix? See https://github.com/jp7677/dxvk-nvapi/wiki/Tips-and-tricks-for-usage-with-DXVK-NVAPI#dlss-2x

drakon64 commented 2 months ago

No, it isn't there 😞.

I'm guessing this is going to be a fun NixOS-ism, since there is no /usr/lib64 directory and https://github.com/NixOS/nixpkgs/issues/177533 is still open (turns out a PR was merged to resolve the issue but the issue wasn't closed).

drakon64 commented 2 months ago

I copied _nvngx.dll and nvngx.dll to system32 in the Wine prefix. This has had no effect.

drakon64 commented 2 months ago

I got this working by copying _nvngx.dll and nvngx.dll to ~/.xlcore/ffxiv/game and adding nvngx,_nvngx=n,b to WINEDLLOVERRIDES.

Not sure why that works, but I'll take it. DLSS finally works with Wayland Wine.

Thanks for the help!

drakon64 commented 2 months ago

If any other NixOS users ever come across this issue, you can get Home Manager to automatically symlink the DLL's from the NVIDIA driver to the FFXIV game directory:

https://github.com/drakon64/nixos-config/blob/15438a2498ac888d50c2bacd921feb54148bd853/desktop/home.nix