NVIDIAGameWorks / rtx-remix

Combined repo for the RTX-Remix runtime
https://www.nvidia.com/en-us/geforce/rtx-remix/
MIT License
1.37k stars 69 forks source link

Guide for 64-bit applications? #103

Closed atanasa closed 5 months ago

atanasa commented 1 year ago

I am trying to use this with a 64-bit game. For some reason if I unzip the files in the main folder, the d3d9.dll is not loaded. I am observing the loading using Procmon64.exe and the application loads the dll from system. I looked at the d3d9.dll at the root folder and noticed that it is 32-bit. Also in your description, you say that the bridge application is used to use 64-bit code (in the .trex folder) even when the main application is 32-bit.

For that reason I tried to copy the content of the .trex folder to the application root instead. After that I saw that the d3d9.dll (the one from .trex) is being loaded (from Procmon log). Also I saw a log file appear in the application root. I didn't see the welcome message and couldn't open the developer menu using Alt-X.

Is this the expected way to do it for a 64-bit application? Is there some logic in the bridge application that is not included in the renderer?

mralexs5 commented 1 year ago

Make sure the DLLs are in the correct folder, there are some programs that require the DLLs to be in odd places. Which game is it?

SSertel commented 1 year ago

For 64-bit games you don't need the 32 to 64 bit Remix Bridge components, so you did the right thing by placing the .trex files directly next to the game executable. Can you provide log files and the name of the game you are trying to run so we can help troubleshoot further?

atanasa commented 1 year ago

I was trying it out on Guild wars 2, but today they obsoleted the dx9 renderer and the chance to get this working is probably very slim. There is still a way to run the game in dx9 but not sure for how long and the game being too "new" might be a problem anyway. Also it embeds a chromium component that seems to be using dx9 too and might be messing up with the remix renderer.

For references, the logs that I got are:

d9d3 log:

info:  Game: Gw2-64.exe
info:  DXVK_Remix: v1.9.3
info:   positions
info:   indices
info:   texcoords
info:   geometrydescriptor
info:   positions
info:   indices
info:   geometrydescriptor
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_physical_device_properties2
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  Enabled Layer Names:
info:  D3D9: VK_FORMAT_D16_UNORM_S8_UINT -> VK_FORMAT_D24_UNORM_S8_UINT
info:  NVIDIA GeForce RTX 2080 Ti:
info:    Driver: 531.29.0
info:    Vulkan: 1.3.236
info:    Memory Heap[0]: 
info:      Size: 11041 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:    Memory Heap[1]: 
info:      Size: 16334 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: 214 MiB
info:      Flags: 0x1
info:      Memory Type[4]: Property Flags = 0x7
info:  Process set as DPI aware

debug log:

[0419/035612.850:WARNING:spdy_session.cc(3541)] Received HEADERS for invalid stream 7
[0419/035725.980:ERROR:gpu_init.cc(486)] Passthrough is not supported, GL is disabled, ANGLE is 
[0419/035948.194:ERROR:gpu_init.cc(486)] Passthrough is not supported, GL is disabled, ANGLE is 
[0419/041551.360:ERROR:gpu_init.cc(486)] Passthrough is not supported, GL is disabled, ANGLE is 
[0419/042024.681:WARNING:spdy_session.cc(3541)] Received HEADERS for invalid stream 3
NV-LL commented 5 months ago

Thank you for reaching out. We can confirm that Guild Wars 2, and any title, will be incompatible with Remix without the DX9 renderer.