AlpyneDreams / d8vk

Direct3D 8 to Vulkan translation for DXVK! Merged into dxvk: https://github.com/doitsujin/dxvk
zlib License
485 stars 8 forks source link

lord of the rings fellowship of the ring- (crash) #182

Closed Chip-Biscuit closed 4 months ago

Chip-Biscuit commented 1 year ago

On NVidia GPU the game launches into a black screen and will progress no further.

on AMD GPU the game will launch properly to the main menu

using the d8vk (d3d8.dll) and (dxvk.conf) on windows 10

Tried all the settings within the config of D8vk but to no avail if you could look at this it would be greatly appreciated!

It did change the renderer showing from D3D8 to Vulcan with overlay from RTSS but still is stuck on the black screen indefinitely

lotr_fellowship_blackscreen Lord of the Rings - Fellowship of the ring Screenshot 2023 08 23 - 00 52 35 46

WinterSnowfall commented 1 year ago

Thank you for the report, but please fill out the issue template when submitting issues.

Beside the info related to your driver version and which d8vk version you have tried this with, we also need an apitrace and a log output to further look into this.

Chip-Biscuit commented 1 year ago

Thank you for the report, but please fill out the issue template when submitting issues.

Beside the info related to your driver version and which d8vk version you have tried this with, we also need an apitrace and a log output to further look into this.

My apologies for not using the template provided I am quite new to using github to report an issue.

Software information

Lord of the rings the fellowship of the ring PC. Windows 10. 2560 x 1440 - 32bit. Fullscreen

System information

I have attached the apitrace and log files here for you

Fellowship_d3d8.log

https://drive.google.com/file/d/1iZw7Zzd6XxJ3EPpqNbiFyNb9kRMOgCSL/view?usp=sharing

WinterSnowfall commented 1 year ago

My apologies for not using the template provided I am quite new to using github to report an issue.

No worries and thank you for the trace. There's not a lot of calls the game does before it just cycles continuously doing mostly nothing, however the following is of interest:

390 @1 IDirect3DDevice8::CreateTexture(this = 0xa7b5960, Width = 256, Height = 256, Levels = 1, Usage = 0x0, Format = D3DFMT_P8, Pool = D3DPOOL_MANAGED, ppTexture = ?) = D3DERR_INVALIDCALL

We don't currently support D3DFMT_P8 (8-bit palleted textures) in d8vk, which would explain why the game isn't working. It's probably the main blocker in #89 as well.

That being said some native Windows drivers (apparently Nvidia based on your observations) may no longer support them either for d3d8. I'll probably write a test to see the exact behavior here.

In terms of when D3DFMT_P8 will be supported, I can't guarantee anything here since it's beyond my skillset to tackle. I remember Alpyne mentioned it's doable, so certainly something that should get addressed at some point in the future.

WinterSnowfall commented 1 year ago

@chipbiscuit Can you please try and see if the game ends up on the main menu with the below build:

d8vk_test.zip

Note that I don't expect it to render properly (colors should be all over the place), but hopefully it won't hang any more.

Chip-Biscuit commented 1 year ago

@chipbiscuit Can you please try and see if the game ends up on the main menu with the below build:

d8vk_test.zip

Note that I don't expect it to render properly (colors should be all over the place), but hopefully it won't hang any more.

okay with that build it no longer hangs on a black screen and you can get to the main menu although you seem to have to hit escape to get through the opening videos and splash screen which don't seem to show properly but the issue is no longer there where it wont progress to the menu and into the game! I will attach a video here so you can see.

https://github.com/AlpyneDreams/d8vk/assets/79383464/3d73ed8b-4b2a-47b0-bf6d-cdd9a07b9743

also the logs for you there

Fellowship_d3d9.log Fellowship_d3d8.log

WinterSnowfall commented 1 year ago

Thank you for testing. That confirms my theory that the game indeed needs 8-bit palleted texture support - I have replaced it with another format that is guaranteed to be supported in my test build, but obviously that won't work properly since it's not what the game requests.

The good news is that once we add proper support for D3DFMT_P8 the game should work just fine.

Chip-Biscuit commented 1 year ago

Thank you for testing. That confirms my theory that the game indeed needs 8-bit palleted texture support - I have replaced it with another format that is guaranteed to be supported in my test build, but obviously that won't work properly since it's not what the game requests.

The good news is that once we add proper support for D3DFMT_P8 the game should work just fine.

Awesome news thankyou so much for this, I look forward to when you have the support in for D3DFMT_P8!!

WinterSnowfall commented 1 year ago

Edit: Nevermind, apparently AMD does properly support P8 on Windows with some help from the game (the game creates the texture in D3DPOOL_SCRATCH on native, not D3DPOOL_MANAGED, and seems to hit a different path on AMD), while Nvidia has some issues with it.

I can't figure out what the game is doing to decide if to use D3DPOOL_SCRATCH or not, however it doesn't seem to be based on the vendorId, although it only happens on AMD. Guess we'll have to globally cater for P8 anyway on Nvidia & Intel.

WinterSnowfall commented 8 months ago

@Chip-Biscuit I think I might have cracked it, or at least worked around the problem on Nvidia & Intel.

Could you please test with this build?: d8vk-test2.zip

Chip-Biscuit commented 8 months ago

@Chip-Biscuit I think I might have cracked it, or at least worked around the problem on Nvidia & Intel.

Could you please test with this build?: d8vk-test2.zip

oh yeah neat, that seems to work @WinterSnowfall thanks :) nice work!

WinterSnowfall commented 8 months ago

oh yeah neat, that seems to work @WinterSnowfall thanks :) nice work!

That's good to hear :tada:, but please reopen the issue and let's keep it open until my workaround gets merged into d8vk. It's just a pending PR for now, so nothing is officially fixed.

Chip-Biscuit commented 8 months ago

oh yeah, my bad. should be re opened now for you :)