forked from wine-mirror/wine
-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
450ce47
commit 1e14844
Showing
10 changed files
with
2 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1e14844
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is no reason to include
d3d9.dll
when it doesn’t work.1e14844
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@IsaacMarovitz How were these DLLs created? They don't seem to be the same as @Gcenx's DXVK-MacOS.
EDIT: Seems like only dxgi.dll differs. However, this install works for my CrossOver build while DXVK-MacOS does not. Could you explain what you changed?
1e14844
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@101arrowz these were provided by me to Isaac via Discord.
While DXVK-macOS provides dxgi dlls there’s no point in using them as DXVK dxgi dlls are mostly useless on macOS.
1e14844
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the info. I would like to know how to modify DXVK-macOS so I could build these DLLs myself, if Isaac is able to share.
1e14844
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@101arrowz again these dxgi dlls are not required outside of WhiskyWine.
Simply instal DXVK-macOS
d3d10core.dll
&d3d11.dll
into place and set them asnative,builtin
, do not install DXVK-macOSdxgi.dll
as its useless on macOS.1e14844
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am actually building CrossOver 24 from source with GPTk patches (i.e. using Wine 9.0). I tried to test out using DXVK instead of GPTk for the Direct3D libraries but found that DXVK-macOS did not work, because Wine's built-in
dxgi.dll
and even the GPTkdxgi.dll
did not work. Only these DLLs worked, which from some basic RE seems to be because they actually pull inwined3d
'sdxgi
sources and conditionally usewined3d
instead ofDXVK
for the initialization. I am trying to find out how specifically this is done so I can reproduce this from scratch.1e14844
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're not really building CrossOver-24 just it's
wine
, theres a number of reasons to not move onto this version at this time as it contains a critical bug.CrossOver-23.5.0 and later use CodeWeavers own hooks for Apples D3DMetal not Apples GTPK patches.
If you simply wanted to use wine-9.0 with D3DMetal that's already possible with the official winehq macOS packages installed via brew.
Apple stub
dxgi.dll
isn't compatible with DXVK, WineD3D nor VKD3D.DXVK actual
dxgi.dll
isn't really compatible with macOS so winesdxgi.dll
is necessary outside of Apple D3DMetal, that's why directly applying D3DMetal onto wine is the wrong way.The provided
dxgi.dll
are simply wine-7.7dxgi.dll
compiled for the mingw target.1e14844
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was hoping to use Steam etc. which don't work without CX patches. I could just use Whisky but I figured this would be more fun, plus I could try out Wine's WOW64 mode.
Yeah, I discovered that the hard way earlier. I did manage to get it to launch some D3D11 titles by setting the CX-hack environment variables properly.
This is surprising, I'm not sure why the dxgi.dll files I compiled aren't working then. I'll investigate this further and report back. (Is there a more convenient place to discuss this?)
Thank you very much for the information by the way!
EDIT: finally figured this out! Apparently you can't have D3DMetal patched in and DXVK installed in the guest OS. I thought I could configure which was enabled via WINEDLLOVERRIDES, but apparently I can only have one of them even visible to CrossOver wine at any given time, probably due to the fact D3DMetal screws with other things.
EDIT 2: I was wrong the first time: you actually can do exactly what I wanted, but you need to make Wine think that its
dxgi.dll
is not native and then put it into the guest OS. I had to replace the "signature" in [0x40, 0x60) within the file for that to work. If Wine sees that a DLL is signed as a Wine DLL, it will try to load it from the builtin file (i.e. D3DMetal'sdxgi.dll
) regardless of the configuration you set with WINEDLLOVERRIDES.