Whisky-App / Whisky

A modern Wine wrapper for macOS built with SwiftUI
https://getwhisky.app
GNU General Public License v3.0
11.93k stars 253 forks source link

[Bug]: 'GPU Driver' Problems - Tracking Issue #124

Closed IsaacMarovitz closed 1 year ago

IsaacMarovitz commented 1 year ago

The GPTK installer isn't working as intended. As a result, Wine is unable to find D3DM DLLs, causing programs that require graphics to fail.

Assertion failed: (GFXTHandle && "Failed to dlopen D3DMetal"), function D3DRMDispatch_Init_block_invoke, file shared.mm, line 694

The error lists a function on libd3dshared.dylib which is part of GPTK. It seems it is not finding the D3DMetal.dylib correctly possibly because the search path is @rpath/D3DMetal.framework/D3DMetal and libd3dshared.dylib doesn’t have any LC_RPATH load commands. Not sure what happens in that scenario.

alexsch01 commented 1 year ago

https://www.reddit.com/r/macgaming/comments/14bltwc/gpt_whiskey_how_to_fix_no_gpu_found_error/

IsaacMarovitz commented 1 year ago

https://www.reddit.com/r/macgaming/comments/14bltwc/gpt_whiskey_how_to_fix_no_gpu_found_error/

This is confusing, the process described in this Reddit post is the exact same process Whisky does automatically

richstokes commented 1 year ago

I don't even have a /Contents/Resources/Libraries folder in my Whisky.app 🤔 there is a Libraries.tar.gz tho

aske-cph commented 1 year ago

Also only a libraries.tar.gz file present here. Expanding that file and it still doesn't work but i do get the subfolders.

richstokes commented 1 year ago

Looks like the actual folder is /Users/$USERNAME/Library/Application\ Support/Whisky/Libraries/Wine/lib, but that seems OK to me (in as far as all the files from GPT are there)

ohaiibuzzle commented 1 year ago

For impatient folks who can't wait for a fix, here is a temp fix

First, open Finder, press Cmd + Shift + G and go to ~/Library/Application Support/ and delete the Whisky folder (don't worry this won't kill your bottles)

Next, fire up Whisky, let it shows the GPTK install popup but DO NOT drag a dmg into it. Force Whisky to quit

Run this in your Terminal, make sure you have the GPTK dmg mounted bash <(curl -s "https://gist.githubusercontent.com/ohaiibuzzle/71a0bff04956af7540156a30896e4bfd/raw/af438664138a03baf6edc7647dcc09d84fbe432c/fixmywhisky.sh?bustthecache=1")

Open Whisky and cross your fingers that D3D works

Proper fixes coming soon-ish

richstokes commented 1 year ago

Didn't work for me / got these errors:

curl -o- "https://gist.githubusercontent.com/ohaiibuzzle/71a0bff04956af7540156a30896e4bfd/raw/af438664138a03baf6edc7647dcc09d84fbe432c/fixmywhisky.sh?bustthecache=1" | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   881  100   881    0     0   9713      0 --:--:-- --:--:-- --:--:-- 10488
Please make sure GPTK dmg is mounted
ditto: /Users/rich/Library/Application Support/Whisky/Libraries/Wine/lib/external/D3DMetal.framework/Versions/Current: Is a directory
cp: external/D3DMetal.framework/D3DMetal: No such file or directory
cp: cannot overwrite directory ./D3DMetal.framework/Resources with non-directory external/D3DMetal.framework/Resources
cp: external/D3DMetal.framework/Headers: No such file or directory
xattr: No such file: external/D3DMetal.framework/Headers
ohaiibuzzle commented 1 year ago

Didn't work for me / got these errors:

curl -o- "https://gist.githubusercontent.com/ohaiibuzzle/71a0bff04956af7540156a30896e4bfd/raw/af438664138a03baf6edc7647dcc09d84fbe432c/fixmywhisky.sh?bustthecache=1" | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   881  100   881    0     0   9713      0 --:--:-- --:--:-- --:--:-- 10488
Please make sure GPTK dmg is mounted
ditto: /Users/rich/Library/Application Support/Whisky/Libraries/Wine/lib/external/D3DMetal.framework/Versions/Current: Is a directory
cp: external/D3DMetal.framework/D3DMetal: No such file or directory
cp: cannot overwrite directory ./D3DMetal.framework/Resources with non-directory external/D3DMetal.framework/Resources
cp: external/D3DMetal.framework/Headers: No such file or directory
xattr: No such file: external/D3DMetal.framework/Headers

That's OK. Ignore all of those errors. I am just too lazy to void stderr

richstokes commented 1 year ago

Fair enough, games still dont launch though 🙃

ohaiibuzzle commented 1 year ago

If they don't, reboot your Mac. that will ensure that all stray Wine processes are killed

richstokes commented 1 year ago

Still no luck after a reboot 🤔

ohaiibuzzle commented 1 year ago

Still no luck after a reboot 🤔

Try doing it again, I edited the command to bulletproof it a bit Make sure that you did not feed a GPTK dmg to Whisky. The script will fail if you do

richstokes commented 1 year ago

No luck -- same thing, steam opens fine but games just instantly die

IsaacMarovitz commented 1 year ago

Fixed in 0.3.1

richstokes commented 1 year ago

Not sure what I'm doing wrong, updated to 0.3.1, gave it the GPT .dmg when prompted. Again steam is loading but games insta-crash

IsaacMarovitz commented 1 year ago

Not sure what I'm doing wrong, updated to 0.3.1, gave it the GPT .dmg when prompted. Again steam is loading but games insta-crash

Probably an issue with that specific game

richstokes commented 1 year ago

I've tried 5 or 6 different games, none of them work

IsaacMarovitz commented 1 year ago

I've tried 5 or 6 different games, none of them work

Can you list them

IsaacMarovitz commented 1 year ago

Quake 3 Arena is a DX3 game Sonic Mania is a DX9 game

both of those are likely a wash yeah.

BeamNG.Drive is DX11 so that should work

Toxikk I have no idea what DX version it's using but it's ancient and same with Deatmatch Classic.

Whisky works best with DirectX 12 titles.

delaz commented 1 year ago

For impatient folks who can't wait for a fix, here is a temp fix

First, open Finder, press Cmd + Shift + G and go to ~/Library/Application Support/ and delete the Whisky folder (don't worry this won't kill your bottles)

Next, fire up Whisky, let it shows the GPTK install popup but DO NOT drag a dmg into it. Force Whisky to quit

Run this in your Terminal, make sure you have the GPTK dmg mounted bash <(curl -s "https://gist.githubusercontent.com/ohaiibuzzle/71a0bff04956af7540156a30896e4bfd/raw/af438664138a03baf6edc7647dcc09d84fbe432c/fixmywhisky.sh?bustthecache=1")

Open Whisky and cross your fingers that D3D works

Proper fixes coming soon-ish

I dont get error msg after that. But the diablo 4 crashed without any msg...

RussianLioN commented 1 year ago

I still have the error: "No GPUs found! A GPU is required to play Diablo IV. This might occur if you are currently installing GPU drivers" with GPTK after update GPTK to 1.0.2

kode54 commented 1 year ago

You need to delete that ~/Library/Application Support/Whisky folder and reinstall the .dmg by dragging it onto Whisky on startup. The fix doesn't seem to automate this.

RussianLioN commented 1 year ago

You need to delete that ~/Library/Application Support/Whisky folder and reinstall the .dmg by dragging it onto Whisky on startup. The fix doesn't seem to automate this.

I did, but it didn’t help The solution that worked for me was: Compete wipes GPTK & Whiskey with installed games, then reinstall GPTK и Games, but without Whiskey

shadzik commented 1 year ago

Same problem here with Diablo 4:

Updated from Whisky 0.3.1 to 1.0.0, GPT from beta to 1.0.2 beta and Diablo claims I have no graphics card.

Removing ~/Library/Application Support/Whisky didn't help