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

RivaTuner overlay conflict #196

Open
SkyLeite opened this issue Jul 21, 2024 · 7 comments
Open

RivaTuner overlay conflict #196

SkyLeite opened this issue Jul 21, 2024 · 7 comments

Comments

@SkyLeite
Copy link

Greetings!

I've been using hudhook for a while now, and it works just fine on all my setups (Linux, Windows, Windows 11, Steam Deck). However, some users report that the UI code simply doesn't show up at all.

I requested a logfile with RUST_LOG=trace, and one thing I noticed is that the IDirect3DDevice9::Present hook (and my view code) is only called once. The program continues to work as expected, but ImGui never shows up.

Here's a logfile for the non-working user:
trace.log.2024-07-21.log

And for comparison, here's a logfile for a working user:
trace.log.2024-07-21.log

Unfortunately I've not been able to reproduce this issue. Any help would be greatly appreciated.

@veeenu
Copy link
Owner

veeenu commented Jul 22, 2024

Hey! 👋

This behavior has happened to me, and in those cases usually the culprit is another software hijacking Present themselves. RivaTuner Statistics Server is usually a big offender in this regard, otoh the Steam overlay is innocuous. I don't have a good enough model of how to prevent this other than telling users not to use other overlay software at the same time, but I wish we could find a workaround.

(haven't been able to check the logs yet atm but will do so later)

@SkyLeite
Copy link
Author

Bingo!

All of the affected users seem to have been running RivaTuner, and disabling it fixed the issue. In my particular use case, I imagine I can fix it by not hooking Present directly, and hooking the game function that calls it instead. Though at that point I'd have to create my own DX9 renderer, which might not be worth the effort just to fix RivaTuner :p

Thanks for the help!

@veeenu
Copy link
Owner

veeenu commented Jul 25, 2024

Glad to help! Actually I'd like to figure out a solution for RTSS since it's pretty pervasive and it's likely that users might have it already, so let's keep this issue open to track that.

@veeenu veeenu changed the title View code is only called once for the duration of the program RivaTuner overlay conflict Jul 25, 2024
@veeenu
Copy link
Owner

veeenu commented Aug 1, 2024

@SkyLeite do you have a means of collecting detailed bug reports? I have just rebooted my Windows machine, installed RTSS and ran my practice tool and they're happily humming along together:

immagine

Of course I imagine there must be something different in users' setup but until I pinpoint what that is I can't even reproduce it myself, let alone debug it :(

Can you try installing RTSS and seeing if your code crashes for you?

@SkyLeite
Copy link
Author

SkyLeite commented Oct 18, 2024

@veeenu Sorry for the delayed response. I didn't have access to a Windows machine until recently, so I couldn't reproduce this issue myself. I'll try it next week and report back. For what it's worth, the game in question is DX9 so the bug may be specific to that backend considering it's not present on Elden Ring.

If you want to try it out, it's Umineko: Golden Fantasia. The code using Hudhook is on the community branch on Steam. I can also (privately) send over a debug build if you'd prefer.

@veeenu
Copy link
Owner

veeenu commented Oct 21, 2024

No worries! Maintenance has been slow lately on my end as well, haven't had a lot of spare cycles to spend on it.

Unfortunately in the meantime I completely got rid of my Windows installation so won't be able to reproduce this on my end :/

@SkyLeite
Copy link
Author

All good (and good for you!) I'll report my findings anyway and see if I can fix it myself.

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

No branches or pull requests

2 participants