Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crossover doesn't read external ssd after patch #146

Open
jtaii opened this issue Oct 18, 2023 · 22 comments
Open

Crossover doesn't read external ssd after patch #146

jtaii opened this issue Oct 18, 2023 · 22 comments

Comments

@jtaii
Copy link

jtaii commented Oct 18, 2023

Crossover doesn't read any content in my SSD and can't access my main steamlibrary after patching it. I tried giving both steam and crossover full disk access in the settings but the SSD still wont show its contents.

@Gcenx
Copy link
Collaborator

Gcenx commented Oct 18, 2023

Please reference the image found in the following release https://github.com/italomandara/CXPatcher/releases/tag/V0.4.1

@QYQSDTC
Copy link

QYQSDTC commented Oct 19, 2023

Similar problem with V0.4.2, when I run with options --env WINEMSYNC=1 MTL_HUD_ENABLED=1, it can not load my external drive.

@italomandara
Copy link
Owner

it's a known issue to give the permissions to access the drive try "run command..." and then select any executable of any game in your external drive.
you just need to do it once.

@MysticalOS
Copy link

MysticalOS commented Oct 23, 2023

Is this why it can't find bottles on external volume after patching? Explains my original issue i closed and new issue i was about to open (i tried the new user enterable custom bottle location and that doesn't work either, if bottle is on external volume)
this sadly still makes the patcher kinda useless even with specifying custom bottle location. I can't "run command" cause I have no bottles on anything but external volumes.

When did this break though. like i said patched crossover used to access external volume bottles just fine. on Sonoma. 🤷‍♂️

EDIT:
Confirmed that the patcher did correctly write
[EnvironmentVariables]
"CX_BOTTLE_PATH"="/Volumes/Winedows/CrossoverPatched"

where folder is, but it doesn't load it at all on launch.

@MysticalOS
Copy link

I've tried granting full disk access. I've tried granting developer mode (god access basically). once crossover is patched it's like it's utterly forbidden from seeing an external disk. I even tried creating a symbolic link pointing to external disk that wasn't on an external disk, and macOS still forbid the patched app from seeing it.
it's still strange cause I can take every single lib, framework, inf and manually copying it into app and it doesn't upset macOS security policy, what else does patcher do besides replace files? does it have to tamper the actual executable to patch out auto update?

@italomandara
Copy link
Owner

I'm able to access and use bottles on my external volume, so i can't replicate the issue, have you checked the permissions? What is your volume's file system?

@italomandara
Copy link
Owner

italomandara commented Oct 23, 2023

try this:
in your Crossover.app bundle go to Contents
rename _CodeSignature_disabled -> _CodeSignature
CodeResources_disabled -> CodeResources
close and open again the patched crossover

@MysticalOS
Copy link

Sorry I didn't get back, I'll try in a few days. gonna be slammed for a few and not have time to play with retesting it

@Ralsei34
Copy link

try this: in your Crossover.app bundle go to Contents rename _CodeSignature_disabled -> _CodeSignature CodeResources_disabled -> CodeResources close and open again the patched crossover

After that crossover won't launch

@italomandara
Copy link
Owner

try this: in your Crossover.app bundle go to Contents rename _CodeSignature_disabled -> _CodeSignature CodeResources_disabled -> CodeResources close and open again the patched crossover

After that crossover won't launch

Right it seems like once you disable it it can't be re-enabled
I'll make an option to not disable that in the patcher

@italomandara
Copy link
Owner

I think when we remove the code signature, the app loses the entitlements, so you either re-allow the app to access the volumes by running any game in that volume once using run command... or we give the possibility to not disable the signature which is being worked here: https://github.com/italomandara/CXPatcher/pull/147/files

@MysticalOS
Copy link

MysticalOS commented Nov 4, 2023

Toggled the signature option off. still immediately loses access to external volumes and bottles on patching with no way to get it back. 🤷‍♂️

I don't know what's going on cause I can literally replace every file patcher does manually and this doesn't happen. every lib every config everything manually swapped and it's fine.

EDIT, fixed it
I also had to delete the plist change too and now it's got it's permissions back. so it seems to be an issue with both changing signature AND plist. so I guess fixing it would be that if you toggle off "remove signature" it should also not change plist

@italomandara
Copy link
Owner

The plist info change is to block auto update so it isn't relevant to the signature.
Anyone who had permissions issues was able to fix it by running an exe via the menu (me included).
Not sure why this is still happening to you.

@MysticalOS
Copy link

My problem is that to run an exe, you need working bottles, all of mine are on external volume, so crossover is just in a unusable state without being able to request new permissions, but undoing plist change on top of signature change being off did let existing permissions seem to keep working, so I have a workable solution now at least :D

@italomandara
Copy link
Owner

italomandara commented Nov 6, 2023

My problem is that to run an exe, you need working bottles, all of mine are on external volume, so crossover is just in a unusable state without being able to request new permissions, but undoing plist change on top of signature change being off did let existing permissions seem to keep working, so I have a workable solution now at least :D

I made that an option will be added in the next release

@italomandara
Copy link
Owner

Another workaround, try this:
-don't use the custom bottle path in your external drive use the standard separate path.
-create an empty bottle.
-in the folder of the external drive you want your bottles stored bottle put any .exe file that can be run via crossover.
-open crossover right click the empty boottle and click 'run command' and run that exe in your external drive.
-it should ask for permissions, allow everything.
-remove the empty bottle
-close crossover
-repatch with your custom path in the external folder

In theory you only need to do this once.

@italomandara
Copy link
Owner

The solution is unchecking this option and repatch:
Screenshot 2023-11-17 at 10 37 58

@italomandara
Copy link
Owner

@MysticalOS could to try this Pre-Release to see if it fixes the External HD path issue please?

@italomandara italomandara reopened this May 18, 2024
@MysticalOS
Copy link

If it's regarding ceba6ed

it wouldn't work on my system. codesign has been busted for ages and i've no idea why. when it runs it complains no valid codesigning authorities even though I have several valid developer ones. xcode works fine but the codesign sub process is just fubared

I'm also using the wine 9.6 based preview fully to help get that early feedback in :D

@italomandara
Copy link
Owner

italomandara commented May 18, 2024

If it's regarding [ceba6ed]

correct

@Write
Copy link

Write commented May 19, 2024

Hello, I just googled the issue and stumbled upon this, I can confirm latest pre-release does allow me to use my external disk again. Thanks a lot.

@TIMESTICKING
Copy link

it's a known issue to give the permissions to access the drive try "run command..." and then select any executable of any game in your external drive. you just need to do it once.

Nah, I didn't pop up any windows that asking for permission

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

No branches or pull requests

8 participants