Open 99z opened 4 months ago
It looks like you are missing the DXGI debug layer which you need to enable in order to get logs (see TROUBLESHOOTING.md). Not sure if Win 11 IoT has that though, in that case you can just disable dxgi_debug
in the config. It will make things a bit harder to debug but in my experience DirectX Is almost never the cause of issues with the tool, so that should be fine.
Windows 11 IoT does not include graphics diagnostics tools. Following the steps in TROUBLESHOOTING.md to install and enable them results in the same error and no log file.
Interestingly, the DXGI error occurs when the DXGI debug layer is disabled using dxcpl
and with dxgi_debug
set to false in the config 🤔
Mmm, this might run deeper (veeenu/hudhook
). Chances are some changes in windows-rs
now lead to unconditionally trying to load that function instead of only on demand.
I won't be able to address this for a few days unfortunately, but this is relatively high priority.
I have looked into this. That function gets linked into the DLL so the error most likely shows up regardless of whether it is used or not.
Unfortunately we need to link it for diagnostic purposes, so it's unlikely we can find a workaround for this on the side of code. I assume Windows 11 IoT does not support dxgi1_3
, at least not by its default install, but I can't exclude it could be installed in some way (though I won't be able to help with that unfortunately) and at that point the error might go away.
I am not familiar with Windows 11 IoT Enterprise. What drove the choice for you to use it compared to other Windows editions?
This page has a table summarizing the differences: https://massgrave.dev/windows_ltsc_links
IoT is stripped down in a number of ways so it's certainly plausible it lacks the required headers.
Unfortunately I couldn't find anything definitive related to DXGI. I think it's more of it having an older version (missing dxgi1_3
features) rather than not having DXGI altogether -- otherwise Elden Ring wouldn't work at all. And it's not so much about headers as the code comes already compiled, but just the version of dxgi.dll
that gets shipped. I find this very likely due to the version being LTSC and so favoring older, more stable things over "newer" things that may be untested.
Sadly I don't have a good model of how to deal with this that doesn't entail massive fragile checks and/or releases with separate features (e.g. the dxgi debug disabled) that would also affect hudhook
in a negative way in terms of maintainability and scope creep.
Let's keep this issue open a while, see if we can find a good solution; but atm I don't think there is anything actionable that offers a compromise compatible with the tool's core objectives.
Environment
Unfortunately, following the steps in
CONTRIBUTING.md
, I'm unable to get a log file to be generated. The following is the output from the console on launch:I imagine this is related to https://github.com/veeenu/eldenring-practice-tool/issues/21 . I wouldn't be surprised if it has something to do with Windows IoT LTSC missing some features.
I'm happy to help debug further however I can 👍