Closed Gcenx closed 6 months ago
excellent work!
Thank you so much!
now you'll have Apples D3DMetal for 64Bit DirectX 11 & DirectX 12 titles.
so 32bit DX11 games won't work?
so 32bit DX11 games won't work?
They’ll continue to work.
On macOS WineD3D defaults to Vulkan for DirectX 10 & 11, as we’re not touching the i386-windows
or x86_64on64-unix
files this won’t be affected.
I tried to get God of war ( going on MacOS 13.4, but it didn't load. I assume the issue is I need to upgrade to 14. I tried both -dx11 and -dx12 options. I can get it working with wineskin/DXVK with DX11 ok. The only error messages I see which looks interesting are:
01d0:err:virtual:try_map_free_area mmap() error Cannot allocate memory, range 0x7ffffe440000-0x7ffffee40000, unix_prot 0.
01d0:err:virtual:try_map_free_area mmap() error Cannot allocate memory, range 0x7ffeffdf0000-0x7fffffff0000, unix_prot 0.
I guess I will need considering upgrading/side installing MacOS 14beta
I’ve not done any testing of D3DMetal on macOS Ventura as the official requirements per Apple is macOS Sonoma, only mentioned macOS Ventura 13.3+ as we know that Diablo4 runs might be the only thing they does….
I wouldn’t recommend upgrading your main rig to macOS Sonoma Beta as who know what will happen, I wasn’t planning to even support this yet but other projects forced my hand.
I’m hopeful that WineCX22.1.1-4 resolved most of the annoyances encountered with wine-gpt.
WineCX22.1.1-4 was built using the wrong builder causing it to no longer find D3DMetal.framework this should now be resolved in WineCX22.1.1-5
Note I found I had to login to Apple with my ID then go to https://developer.apple.com/download/all/?q=game%20porting%20toolkit. After that I could click https://download.developer.apple.com/Developer_Tools/Game_porting_toolkit_beta/Game_porting_toolkit_beta.dmg
Tried WineCX22.1.1-5, still no luck on MacOS 13.3. Oh well I guess I need to wait until 14 is released.
Tried WineCX22.1.1-5, still no luck on MacOS 13.3. Oh well I guess I need to wait until 14 is released.
This rebuild was only to resolve
Assertion failed: (GFXTHandle && "Failed to dlopen D3DMetal")
macOS Ventura 13.3+ will have limited success playing anything using D3DMetel.
Update: I got it to work using Whisky with ESync turned on in the config. It didn't work without ESync.
I followed the instructions above on MacOS 13.4.1 and tried to get Diablo II: Resurrected to play.
I was able to launch the game from the Battle.net app (which I wasn't able to do before because it used to say I don't have graphics that support it)
So the game launches, but it only gives me a black screen (no graphics, no music).
Let me know if any of ya'll are able to get it to run on 13.4.1. Maybe there needs to be some winetricks installed? Currently I am just using the vanilla WineCX22.1.1-5.
Try to run Street Fighter 6 Demo on macOS 13.4.1 with Engine 22.1.1-5 and Apples D3DMetal. After game launched, it shows a dialog "Fatal D3D error (3)" and log message as below
01f8:trace:loaddll:build_module Loaded L"Z:\\Users\\pilisir\\Applications\\Wineskin\\Steam-wine.app\\Contents\\SharedSupport\\wine\\share\\wine\\mono\\wine-mono-7.4.0\\lib\\mono\\gac\\I18N\\4.0.0.0__0738eb9f132ed756\\I18N.dll" at 0000000005B90000: native
01f8:trace:loaddll:build_module Loaded L"Z:\\Users\\pilisir\\Applications\\Wineskin\\Steam-wine.app\\Contents\\SharedSupport\\wine\\share\\wine\\mono\\wine-mono-7.4.0\\lib\\mono\\gac\\I18N.CJK\\4.0.0.0__0738eb9f132ed756\\I18N.CJK.dll" at 0000000005BB0000: native
Unhandled Exception:
System.TypeLoadException: Could not load type of field 'InstallerMessage.Form1+<CodecCheck>d__11:<codecQuary>5__2' (3) due to: Could not load file or assembly 'Windows.Foundation.UniversalApiContract, Version=14.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
at InstallerMessage.Form1..ctor () [0x00063] in <c4e9caff0ed649cba927482e19f8df97>:0
at (wrapper remoting-invoke-with-check) InstallerMessage.Form1..ctor()
at InstallerMessage.Program.Main () [0x0000b] in <c4e9caff0ed649cba927482e19f8df97>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: Could not load type of field 'InstallerMessage.Form1+<CodecCheck>d__11:<codecQuary>5__2' (3) due to: Could not load file or assembly 'Windows.Foundation.UniversalApiContract, Version=14.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
at InstallerMessage.Form1..ctor () [0x00063] in <c4e9caff0ed649cba927482e19f8df97>:0
at (wrapper remoting-invoke-with-check) InstallerMessage.Form1..ctor()
03e8:trace:loaddll:build_module Loaded L"C:\\Program Files (x86)\\Steam\\steamapps\\common\\Steamworks Shared\\_CommonRedist\\DirectX\\Jun2010\\DXSETUP.exe" at 0000000001000000: native
03e8:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\wow64.dll" at 000000006F000000: builtin
03e8:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\wow64cpu.dll" at 000000006F100000: builtin
03e8:trace:loaddll:build_module Loaded L"C:\\Program Files (x86)\\Steam\\steamapps\\common\\Steamworks Shared\\_CommonRedist\\DirectX\\Jun2010\\DXSETUP.exe" at 01000000: native
@pilisir that game seems to be using wine-mono & wants an unsupported feature Windows.Foundation.UniversalApiContract
I’m not sure if upstream wine supports that or not.
WineCX22.x is based on crossover-sources-22.x sources that’s based on wine-7.7
WineCX22.1.1-6 includes all of the GPTK-10.0.2 changes so it’s possible this introduced regressions in some launchers, this isn’t build against gstreamer as Wineskin doesn’t ship gstreamer for legal reasons.
I’ll be investigating using the official gstreamer packages.
WineCX22.1.1-6 doesn't need download GPTK manually and ditto likes WineCX22.1.1-5 required, right? Just change Engine Used and rebuild, then done? 👀
WineCX22.1.1-6 doesn't need download GPTK manually and ditto likes WineCX22.1.1-5 required, right? Just change Engine Used and rebuild, then done? 👀
Your still required to manually download/ditto in D3DMetal that requirement hasn’t changed, I’m just recommending WineCX22.1.1-6 for D3DMetal-1.0.2
I’ll be investigating using the official gstreamer packages.
That would be really great. What are the current legal issues?
That would be really great. What are the current legal issues?
The problem has always been FFmpeg there a nightmare, to legally ship it I’d require a license to protect myself.
As this is free software I’m not doing that, instead you’ll be required to install a gstreamer pkg package.
Ah cool understood. Having instructions to install the package is a good solution.
Ah cool understood. Having instructions to install the package is a good solution.
I’ll update #426 once it’s ready
That’s if the build I’m currently running completes without issue, it will simply require the installation of the latest gstreamer pkg from the official site
Game porting toolkit beta 1.02.dmg is now out. @Gcenx is WineCX22.1.1-7 tested with that?
Game porting toolkit beta 1.02.dmg is now out. @Gcenx is WineCX22.1.1-7 tested with that?
@palmerj see the first post of updated to reflect D3DMetal-1.0.2 this was working with WineCX22.1.1-6 and also works with WineCX22.1.1-7.
Thanks, sorry I didn't see that post update - cheers!
Hi, if I want to keep D3DMetal supported, should I do Rebuild Wrapper every time after Change Engine Used to new one?
Hi, if I want to keep D3DMetal supported, should I do Rebuild Wrapper every time after Change Engine Used to new one?
You could goto the Engines directory and unpack say WineCX22.1.1-7 add in D3DMetal and recompress to tar.xz and rename to tar.7x to keep Winery/Wineskin happy then swap your current wrapper to this engine.
Due to the restrictive license of D3DMetal I can’t provide an Engine with this builtin sadly.
Thank you a lot!
Is it possible to show the performance overlay/hud while using D3DMetal?
@sofakng add the following to the unix field
export MTL_HUD_ENABLED=1
Anyone able to run The Elder Scrolls V: Skyrim? The installer crashes.
how do I know D3DMetal install success or not ?
Anyone able to run The Elder Scrolls V: Skyrim? The installer crashes.
@smjxpro standard Skyrim is 32Bit so wouldn’t be affected are you possibly referring to Special edition?
how do I know D3DMetal install success or not ?
@xellosiris see https://github.com/Gcenx/WineskinServer/issues/420#issuecomment-1646942797
Anyone able to run The Elder Scrolls V: Skyrim? The installer crashes.
@smjxpro standard Skyrim is 32Bit so wouldn’t be affected are you possibly referring to Special edition?
how do I know D3DMetal install success or not ?
@xellosiris see #420 (comment)
Special Edition. Able to run and play from Steam on my M1Pro by following this
Thanks.
Anyone able to run The Elder Scrolls V: Skyrim? The installer crashes.
@smjxpro standard Skyrim is 32Bit so wouldn’t be affected are you possibly referring to Special edition?
how do I know D3DMetal install success or not ?
@xellosiris see #420 (comment)
Special Edition. Able to run and play from Steam on my M1Pro by following this
Thanks.
However the wine OS version is Windows 7 on the wrapper and Steam complains I will not be able to run Steam on Windows 7 in 1xx days. And if I change the OS version from winecfg, everything stops working.
The currently provided Engines on wrapper creation default to Windows 10, if your wrapper is displaying as Windows 7 that means on winetricks verb isn't setting back the default of Windows 10. If your able to figure out what verb is causing this I can rectify this issue.
The currently provided Engines on wrapper creation default to Windows 10, if your wrapper is displaying as Windows 7 that means on winetricks verb isn't setting back the default of Windows 10. If your able to figure out what verb is causing this I can rectify this issue.
It's the dotnet48 trick.
It's the dotnet48 trick.
It might not specifically be dotnet48
but one of the other .Net verbs not restoring the default windows version correctly.
I’ll take a look at this during my days off.
@Gcenx , do you have any informations about the problem?
@waldemar-giss-argonauten I don’t see any question from you so can’t answer any question.
This thread previously was how to add D3DMetal into supported Engines, as the license was made clearer I’ve now started to bundle it directly into supported Engines making this thread mostly null and void.
@smjxpro I’ve modified the affected dotnet verbs to now revert back to the users selected windows version.
Minimum Requirements
-D3DMetal
License & restrictions
Due to the very restrictive License D3DMetal can’t be used in commercial products.
Older details
## for D3DMetal-1.0 - An Apple Silicon Mac with 16GB of ram - macOS Sonoma beta (or macOS Ventura 13.3) - WineCX22.1.1-5 - `Game_porting_toolkit_beta.dmg` - Login into https://developer.apple.com/download/ - Now click https://download.developer.apple.com/Developer_Tools/Game_porting_toolkit_beta/Game_porting_toolkit_beta.dmg - Remove the quarantine flag from the download. - Mount `Game_porting_toolkit_beta.dmg` - Now create a new blank wrapper using the default nameNow install D3DMetal into place by using the below command in Terminal ``` ditto /Volumes/Game\ Porting\ Toolkit-1.0/lib/ ~/Applications/Wineskin/MyCoolWrapper.app/Contents/SharedSupport/wine/lib ``` ### Requirements for D3DMetal-1.0.2 - WineCX22.1.1-6
Launch Wineskin.app and select "Rebuild Wrapper", after that's done congratulations now you'll have Apples D3DMetal for 64Bit DirectX 11 & DirectX 12 titles.
## Can I make my own D3DMetal engine? Yes, once you’ve done the above steps modify the engines `version` file adding `- D3DMetal` and saving. Now rename `wine` to `wswine.bundle` then compress as a tar.7z (or tar.xz and rename after your done) following the usual Engine naming for example ``` WS11WineCX64Bit22.1.1-5-D3DMetal.tar.7z ``` Place this newly packaged Engine into `~/Library/Application Support/Wineskin/Engines` from now on you can directly generate D3DMetal wrappers.
## Can I still use DXVK? Technically yes though as D3DMetal is considered `builtin` by wine you'd simply be using the `native` dlls provided by DXVK
# License & restrictions Due to the very restrictive [License](https://github.com/Gcenx/WineskinServer/files/11780432/License.pdf) I can't provide D3DMetal directly within a Wineskin Engine nor can these be shared to other users.