Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Global Operations (2002) d8vk transparency bug #181

Open
AnthraxBass opened this issue Aug 9, 2023 · 14 comments
Open

Global Operations (2002) d8vk transparency bug #181

AnthraxBass opened this issue Aug 9, 2023 · 14 comments
Labels
bug Something isn't working

Comments

@AnthraxBass
Copy link

Software information

Same settings, as in dgVoodoo video, I have just replaced dg DLL with yours. Also Lutris log attached.

System information

Linux Mint 21.2 x86_64, Kernel: 5.15.0-78-generic, Lutris 0.5.13, NVIDIA drivers 535.86.05 for x86_64, NVIDIA GeForce GTX 960, lutris-GE-Proton8-13-x86_64

Log files

lutris -d

Video, for comparison purposes:

I have tested 3 versions of render: stock GE Proton (which comes with Lutris), stock GE Proton with dgVoodoo2 and d8vk here. So, dgVoodoo is the best in terms of rendering the game correctly (although at cost of some recording issues, like screen tear, and mouse lag), stock GE Proton is the best in terms of performance, but it cannot render fog at Chechnya map, and d8vk has the most rendering issues (maybe it's just one issue, I'm not sure). I hope you can fix it, I respect the effort to support DirectX8 games.

1. stock GE Proton gameplay

2. stock GE Proton + dgVoodoo gameplay

3. stock GE Proton + d8vk gameplay

@WinterSnowfall
Copy link

Thank you for your report. We'd need an apitrace of the game (capturing the issue) to look further into this.

For instructions on how to use apitrace, see: https://github.com/doitsujin/dxvk/wiki/Using-Apitrace . You'll need to use apitrace's d3d8.dll for the capture, which you can then compress and link to here.

Please also attach the log file (as file drag-and-drops) here. I can not access the pastebin link you've shared - it doesn't appear to be public.

@WinterSnowfall
Copy link

One thing to try here as well, I guess, is to create a blank file called dxvk.conf next to the game's executable and add the following line to it:

d3d8.managedBufferPlacement = False

Then retry playing it with d8vk. If that fixes the above clipping issues, do let me know.

@AnthraxBass
Copy link
Author

One thing to try here as well, I guess, is to create a blank file called dxvk.conf next to the game's executable and add the following line to it:

d3d8.managedBufferPlacement = False

Then retry playing it with d8vk. If that fixes the above clipping issues, do let me know.

managedBufferPlacement didn't help. I also got a question regarding apitrace, the guide says: "Before the next step, make sure you disable or get rid of DXVK files first, as it's preferred that you use WineD3D to make an apitrace."

If I delete d8vk (d3d8.dll) this test will be pointless... how do i combine apitrace wrapers with d3vk ?

@WinterSnowfall
Copy link

managedBufferPlacement didn't help.

Alright, thank you for trying it out anyway.

If I delete d8vk (d3d8.dll) this test will be pointless... how do i combine apitrace wrapers with d3vk ?

It will not be pointless. Please play through the same areas where you saw the issue manifest with d8vk and record a trace. The issue should then reproduce on trace playback with d8vk.

Think of the trace as a VCR tape (it records d3d calls) and WineD3D/d8vk as different VCR players.

@AnthraxBass
Copy link
Author

@WinterSnowfall ok, please follow the link for
complete trace, passw: 2002

@WinterSnowfall
Copy link

Thank you for the trace. The good news is that it's nicely captured and definitely what we'd normally need.

The bad news is that I don't see any clipping on playback with d8vk. This means the problem may not be inherent to how d8vk handles rendering, but rather other factors may be at play.

We've had this apitrace situation with other games, it's not entirely unexpected - only rather unfortunate, since it will be hard to debug.

Out of curiosity, if you play it back on your system (using wine apitrace.exe replay <path_to_trace_file>), do you see any clipping issues?

@AnthraxBass
Copy link
Author

@WinterSnowfall I'm only playing the game via Lutris, this is where I have all the configuration etc. I'm not sure that this command as-is (wine apitrace.exe replay <path_to_trace_file>) will trigger the right ehmm... "sandbox" should i say ? Or is this command sufficient for sure?

@WinterSnowfall
Copy link

WinterSnowfall commented Aug 9, 2023

Or is this command sufficient for sure?

Not a Lutris user myself, but as long as the Wine prefix you are using is properly set up, the above command should be sufficient if run from the same path as the apitrace executable.

P.S.: Having the trace in the same path also saves you a lot of headache, since you can use the filename directly.

@AnthraxBass
Copy link
Author

@WinterSnowfall good news that I've managed to run apitrace with the exact configuration that I use to play, bad news - I couldn't reproduce it :(

Video of apitrace replay...

@WinterSnowfall
Copy link

bad news - I couldn't reproduce it :(

Bad news in general, yes, but good news in the sense that there's nothing wrong with your GPU or system configuration in particular. The playback of the trace looks the same on my end.

No worries, we'll get to the bottom of it some other way eventually.

@WinterSnowfall
Copy link

@Blisto91 was kind enough to thrift for a retail copy of the game, however the installer seems to unceremoniously fail both in Wine and on Windows actually.

image

@AnthraxBass Are there any workarounds that need to be applied to get it going, do you know?

@AnthraxBass
Copy link
Author

@WinterSnowfall hi, I'm only using Lutris for gaming purpose, I'm not good enough with vanilla Wine. I can record a Lutris tutorial on how to install GOps in there. Let me know if you'd like to see such a guide.

@WinterSnowfall
Copy link

WinterSnowfall commented Aug 20, 2023

@AnthraxBass No need. Luckily it seems to work if you install it on Win10 and them move it over to Wine.

I've had a look and reproduced the issue. I've also captured two similar traces, one with WineD3D and one with d8vk: globalops.tar.xz

Some additional observations:

  • the clipping doesn't occur during the preparation stage of a game (first 10 seconds), but kicks in immediately once a match starts
  • the problem is definitely d8vk specific, since it doesn't happen with d3d8to9 + dxvk (so d9vk is fine, if you will)
  • WineD3D also renders things correctly, although it seems to have issues with setting the swapchain size properly in latest Wine
  • the issues seem to be "embedded" in the trace, because the trace captured with d8vk shows the clipping problem even when played back with WineD3D
  • the issue isn't a regression. I've checked back up to d8vk 0.1 and things still behave exactly the same.

@AlpyneDreams AlpyneDreams added the bug Something isn't working label Jan 17, 2024
@WinterSnowfall
Copy link

@AnthraxBass I've moved this issue over to dxvk, since we're now upstream: doitsujin#4138 . Please close this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants