dxvk-nvapi icon indicating copy to clipboard operation
dxvk-nvapi copied to clipboard

Ghost Recon: Advanced Warfighter 1 & 2 - Missing Physx support

Open gabriele2000 opened this issue 3 years ago • 11 comments

Title

gabriele2000 avatar Mar 06 '22 21:03 gabriele2000

Try this: https://github.com/jp7677/dxvk-nvapi/wiki/Tips-and-tricks-for-usage-with-DXVK-NVAPI#physx

Edit: I don't have those titles, so I don't know if they play nicely with DXVK-NVAPI, Based on your exhaustive description it's also difficult to say what might be missing.

jp7677 avatar Mar 06 '22 21:03 jp7677

Try this: https://github.com/jp7677/dxvk-nvapi/wiki/Tips-and-tricks-for-usage-with-DXVK-NVAPI#physx

Edit: I don't have those titles, so I don't know if they play nicely with DXVK-NVAPI, Based on your exhaustive description it's also difficult to say what might be missing.

Sorry for the "exaustive description" ahah! Anyway, I'm using wine-staging-tgk 7.3, latest dxvk (master) and latest release of dxvk-nvapi Physx is installed and through some benchmarks everything is working.

The problem could be related on "dxgi.nvapihack" because d3d9 variables are "d3d9.something"

Also I don't know if I should generate an apitrace or something...

gabriele2000 avatar Mar 06 '22 21:03 gabriele2000

Fair point, I really should add an issue template :)

Could you please post your dxvk-nvapi logs and additionally wine logs with loadll and err channels enabled. This should already give a good indication what those games try to do. The nvapiHack is indeed for dxgi which isn’t usually used by d3d9, so this shouldn’t have any effect here.

jp7677 avatar Mar 06 '22 22:03 jp7677

Fair point, I really should add an issue template :)

Could you please post your dxvk-nvapi logs and additionally wine logs with loadll and err channels enabled. This should already give a good indication what those games try to do. The nvapiHack is indeed for dxgi which isn’t usually used by d3d9, so this shouldn’t have any effect here.

The problem it's not the lack of an issue template, the problem is that every game has different kinds of detections such as: reg keys, dll inside the windows folder, other stuff that I can't even remember right now.

I even had a game not detecting DXVK because... things... even if DXVK was installed, registered and a wizard was called 5 seconds ago Oh, by the way, you confirmed that d3d9 games do not use nvapi-hack, why is that? I still don't understand some basic things about DXVK and WINE in particular so any new information is good to fulfill my curiosity, since google is quite, let's say, messy, sometimes...

Advanced Warfighter 2 - DXGI-only logs: graw2_d3d9.log graw2_dxgi.log

Logs with loaddll channel: loaddll.log

Logs with err channel: err.txt

Additional dxvk-nvapi log: dxvk_nvapi.log

gabriele2000 avatar Mar 06 '22 22:03 gabriele2000

Ah, sorry, I did a typo, the channel name is of course +loaddll, thus two times a d. Could you please do a re-run with the proper name. Could you also obtain the DXVK-NVAPI logs? See https://github.com/jp7677/dxvk-nvapi#tweaks-debugging-and-troubleshooting

The nvapiHack affects only dxgi.dll, thus titles that use dxgi to fire thing up, this applies to all D3D10 and higher titles as far as I know, but can also be used by programmers for D3D9. Since you have dxgi.log file, this might be such a title thus please keep the nvapiHack disabled. See https://docs.microsoft.com/en-us/windows/win32/direct3darticles/dxgi-best-practices?redirectedfrom=MSDN for an overview why it has been introduced.

jp7677 avatar Mar 07 '22 16:03 jp7677

Ah, sorry, I did a typo, the channel name is of course +loaddll, thus two times a d. Could you please do a re-run with the proper name. Could you also obtain the DXVK-NVAPI logs? See https://github.com/jp7677/dxvk-nvapi#tweaks-debugging-and-troubleshooting

The nvapiHack affects only dxgi.dll, thus titles that use dxgi to fire thing up, this applies to all D3D10 and higher titles as far as I know, but can also be used by programmers for D3D9. Since you have dxgi.log file, this might be such a title thus please keep the nvapiHack disabled. See https://docs.microsoft.com/en-us/windows/win32/direct3darticles/dxgi-best-practices?redirectedfrom=MSDN for an overview why it has been introduced.

I edited my previous commment with everything fixed and added

gabriele2000 avatar Mar 07 '22 21:03 gabriele2000

Thanks, looking at the logs, nothing obvious sticks out. I guess the game itself works fine but PhysX is just unavailable? You might wanna play with DXVK_NVAPI_DRIVER_VERSION (https://github.com/jp7677/dxvk-nvapi#tweaks-debugging-and-troubleshooting) to set a driver version from the time the game was released since according to the logs it checks the driver version. But this is just a shot in the dark. Did you updated the PhysX runtime for that prefix?

Edit: Additionally. do you have 32bits CUDA libraries from the NVIDIA driver installed? Or asked differently, did any of the working PhysX titles on your setup were 32bits titles?

Edit2: There is a wine channel called debugstr, sometimes it yields log statements by titles itself, may be worth a shot as well to see if an error message shows up. Similar, wine channel nvcuda might reveal something missing in wine-nvcuda.

jp7677 avatar Mar 07 '22 21:03 jp7677

Thanks, looking at the logs, nothing obvious sticks out. I guess the game itself works fine but PhysX is just unavailable? You might wanna play with DXVK_NVAPI_DRIVER_VERSION (https://github.com/jp7677/dxvk-nvapi#tweaks-debugging-and-troubleshooting) to set a driver version from the time the game was released since according to the logs it checks the driver version. But this is just a shot in the dark. Did you updated the PhysX runtime for that prefix?

PhysX is updated

Edit: Additionally. do you have 32bits CUDA libraries from the NVIDIA driver installed? Or asked differently, did any of the working PhysX titles on your setup were 32bits titles?

That's the only game I can test with, no other games in my PC has PhysX support

Edit2: There is a wine channel called debugstr, sometimes it yields log statements by titles itself, may be worth a shot as well to see if an error message shows up. Similar, wine channel nvcuda might reveal something missing in wine-nvcuda.

nvcuda.log

debugstr.log Aaah, "fixme" only

gabriele2000 avatar Mar 08 '22 20:03 gabriele2000

Thanks for the extra info. To be honest, everything looks good, all NVAPI methods are good, PhysX is loaded and nvcuda logs are also confirming that CUDA has been loaded and initialized. So yeah, at this point no idea what the game is missing.

The only log line that might be relevant is 00d0:err:xrandr:xrandr14_get_adapters Failed to get adapters. But this might be a false trail. From the DXVK logs it looked like you have a prime setup. If its possible, you could try to deactivate your Intel GPU in your BIOS and just run on your discrete GPU for a test. That said, I don't have such a setup so I can't really comment on that.

jp7677 avatar Mar 08 '22 20:03 jp7677

The only log line that might be relevant is 00d0:err:xrandr:xrandr14_get_adapters Failed to get adapters. But this might be a false trail. From the DXVK logs it looked like you have a prime setup. If its possible, you could try to deactivate your Intel GPU in your BIOS and just run on your discrete GPU for a test. That said, I don't have such a setup so I can't really commend on that.

Oh, it's because I'm using Pop!_os with the hybrid GPU mode, I'll try to use the nvidia-only mode and we'll see...

gabriele2000 avatar Mar 08 '22 23:03 gabriele2000

See this and following comments: https://github.com/ValveSoftware/Proton/issues/421#issuecomment-1093491482 Maybe that helps here too.

jp7677 avatar Apr 09 '22 06:04 jp7677

@gabriele2000 Did you ever solved this mystery?

jp7677 avatar Sep 06 '23 04:09 jp7677

@gabriele2000 Did you ever solved this mystery?

It's a good question. Basically PhysX worked offline, on multiplayer it was a hit-and-miss most of the time. I believe that the issue could be closed, if I ever play that too-hard game again and I find the same issue, I will drop a comment here.

gabriele2000 avatar Sep 13 '23 22:09 gabriele2000