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

[D3D9] Halo Custom Edition: Flickering textures when using Open Sauce #1550

Closed
TheGreatMcPain opened this issue Apr 4, 2020 · 13 comments · Fixed by #1631
Closed

[D3D9] Halo Custom Edition: Flickering textures when using Open Sauce #1550

TheGreatMcPain opened this issue Apr 4, 2020 · 13 comments · Fixed by #1631

Comments

@TheGreatMcPain
Copy link

When using DXVK along side Open Sauce, which is a mod for Halo Custom Edition that is required to play mods like SPV3 and Project Takedown, there is some major texture flicker that noticeably affects Cortana.

Video Example

The cutscenes in the video are from the beginning of "The Piller of Autumn", and the beginning of "Two Betrayals".

Apitraces are from the cutscene in "Two Betrayals".

Software information

Download links:

Halo Custom Edition "Requires a Halo PC CD key."
1.0.10 Patch for Custom Edition
Halo CE Refined "Campaign I used in the video"
Universal UI "Allows me to access all campaign missions at the start"
An Open Sauce installer called AmaiSosu "Requires dotnet461 to run"

Installing:

  1. winetricks -q msxml4 mfc42 dotnet461 d3dcompiler_4{2,3,7} d3dx9
  2. Run setup for Halo Custom Edition
  3. Run 1.0.10 patch
  4. Extract the '.map' files from Halo CE Refined into the 'maps' directory inside Halo Custom Edition.
  5. Replace the 'ui.map' in the 'maps' directory with Universal UI's 'UI.map'.
  6. Install Open Sauce into the Halo Custom Edition directory using AmaiSosu.
  7. Set dinput8 to (native, builtin)
  8. Run haloce.exe with -vidmode height,width,refreshrate

System information

  • GPU: GTX 1050
  • Driver: NVIDIA Vulkan Beta 440.66.07
  • Wine version: wine-staging 5.4
  • DXVK version: 1.6 and v1.6-8-g5750a7d8+

Apitrace file(s)

Log files

@misyltoad
Copy link
Collaborator

Unfortunately, apitrace breaks when recording this trace. There's an option you can enable that fixes it, I'll try and find out what it is tomorrow for you 👍

@TheGreatMcPain
Copy link
Author

I was wondering why halo's apitaces weren't showing the thumbnails properly.

I tried recording them on windows with and without OpenSauce, and they all came out the same way.

@misyltoad
Copy link
Collaborator

The option is in Halo CE I know that much. Something render target option in the per-adapter graphics options.

@TheGreatMcPain
Copy link
Author

I found "DisableAlphaRenderTargets" and "DisableRenderTargets" in config.txt.

I'll try those out tomorrow.

@misyltoad
Copy link
Collaborator

Yeah it's one of those iirc -- I think the latter.

@TheGreatMcPain
Copy link
Author

Okay I set DisableRenderTargets, and got a working apitrace via wined3d. I tried to get one with dxvk enabled, but it ended up broken.

working-wined3d-haloce.trace.tar.xz

@misyltoad
Copy link
Collaborator

That trace seems to render fine on my end, not entirely sure what I am looking for though.

@TheGreatMcPain
Copy link
Author

The flickering shows up if i run d3dretrace.exe in a wine prefix with dxvk enabled, I wonder if it's possible to get a trace with dxvk enabled.

@TheGreatMcPain
Copy link
Author

TheGreatMcPain commented Apr 7, 2020

Okay, I tried to record a trace with dxvk installed on the prefix, and the problem I'm seeing is not showing up in the trace.

Here's the new trace anyway: new-dxvk-haloce.trace.tar.xz

EDIT: Not sure if these are of any help, but I made some validation layer logs.
With OpenSauce disabled: haloce-layers-no-os.log
With OpenSauce enabled: haloce-layers-with-os.log

EDIT 2: I have also made some renderdoc captures just in case. 4 of them have OpenSauce enabled and the other 4 have OpenSauce disabled.
haloce-dxvk-renderdoc.tar.xz
Removed since I found a solution, and I'd like to save space on my GDrive.

@TheGreatMcPain
Copy link
Author

TheGreatMcPain commented Apr 9, 2020

Well, I found the solution, and of course it had to be the most simple solution.
Based on Halo 2's similar graphical glitches I found that
adding "d3d9.invariantPosition = True" to dxvk.conf fixed it.

@TheGreatMcPain
Copy link
Author

@Joshua-Ashton I'm going to go ahead and close this issue since I found a solution.

@misyltoad
Copy link
Collaborator

I'll add this as a default

@TheGreatMcPain
Copy link
Author

I read the 1.7 changelog which mentioned that this issue has been fixed, so I retested with the newest commit without using d3d9.invariantPosition = True inside of dxvk.conf, and found that this issue still persists.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants