Skip to content

Windows support#6

Open
TellowKrinkle wants to merge 4 commits intodoitsujin:mainfrom
TellowKrinkle:windows
Open

Windows support#6
TellowKrinkle wants to merge 4 commits intodoitsujin:mainfrom
TellowKrinkle:windows

Conversation

@TellowKrinkle
Copy link
Copy Markdown

  • Switches ID3D11DeviceContext hooking to a forwarding class because Windows' ID3D11DeviceContext rewrites its own vtable pointers, breaking the hook
  • Adds VS build files

Note: Current main just failed to change anything (rather than crashing) when built with VS, so you might want to verify that the mingw builds work on Windows

Windows ID3D11DeviceContext likes rewriting its own vtable pointers, so we can't hook it that way
@TellowKrinkle
Copy link
Copy Markdown
Author

Looks like the original fix broke dxvk (and therefore proton) support, I switched the hook method of ID3D11Device over as well and that seems to have fixed that, it now runs on steam deck as well as windows.

@doitsujin
Copy link
Copy Markdown
Owner

I've considered doing this before, but the problem is that wrapping the device will break ID3D11DeviceChild::GetDevice calls from all objects created from the device, so we'd either need to make double-sure that none of the games call this, or wrap all D3D11 objects.

Might be more useful to fix DXVK to not call any (potentially hooked) GetImmediateContext method internally.

For some reason, LOAD_LIBRARY_SEARCH_APPLICATION_DIR won't find a dxvk dll next to the main exe on Windows
@TellowKrinkle
Copy link
Copy Markdown
Author

Ahh yeah, I missed that one

I've removed that commit for now

@ffrasisti
Copy link
Copy Markdown

Hi, @TellowKrinkle Sorry to post here. But Atelier games after Ryza 2 have a tendency to freeze during loading transitions on some machines, especially on linux through proton. Is there any solution to this that you can find? Thanks!
The performance improvement is great but the freezes are really dampening the games

@TellowKrinkle
Copy link
Copy Markdown
Author

Does "after Ryza 2" include Ryza 2? If so, I've played Ryza 2 (with sync fix) a decent amount from a steam deck and had no freezes, so I'm not sure how much I can help. Otherwise, I have yet to play a post-Ryza 2 game, but when I do eventually play one I'll make sure to include some steam deck time to see if I hit anything.

@ffrasisti
Copy link
Copy Markdown

ffrasisti commented Aug 28, 2023 via email

@ffrasisti
Copy link
Copy Markdown

ffrasisti commented Aug 28, 2023 via email

@ffrasisti
Copy link
Copy Markdown

You can see people discuss the freezing here for instance ValveSoftware/Proton#5841

@ffrasisti
Copy link
Copy Markdown

ValveSoftware/Proton#4569 (comment) here is a ryza 2 issue and log

@TellowKrinkle
Copy link
Copy Markdown
Author

If you have any more things to add, please mention me on the relevant issues instead of posting more here

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 this pull request may close these issues.

3 participants