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

ModOrganizer 2: Add experimental repair command #945

Merged
merged 3 commits into from
Oct 21, 2023

Conversation

sonic2kk
Copy link
Owner

This PR adds an experimental command for ModOrganizer 2, which attempts to repair a broken standalone MO2 prefix.

We run ModOrganizer 2 using a Wine command, but if the Proton version changes, there is a chance the prefix may break as well. The newer Proton version may not be compatible with the typical Wine entry point, kernel32.dll. This will result in an error along the lines of wine: could not load kernel32.dll, status c0000135. Even the status code here is typically the same.

We can fix this by running a Wine command using Proton, which will update the symlinked libraries to the ones used by the current Proton version. The command of choice used here was wine which doesn't do anything and exits quickly, so the command will look something like STEAM_COMPAT_DATA_PATH="/home/gaben/.config/steamtinkerlaunch/mo2/compatdata" "/home/gaben/.local/share/Steam/compatibilitytools.d/GE-Proton8-20/proton" run wine.

This does not happen with regular launches because we run in the game's prefix, which is repaired with Proton already. But the standalone MO2 compatdata does not get this luxury.

There may be a way to automate this in future, such as when the MO2 Proton version changes, or maybe we can switch over to using Proton to run MO2 directly at a later date. For now, this works and fixed the problem for me, so I think it could be useful for others to have this too.

@sonic2kk sonic2kk merged commit 219b73a into master Oct 21, 2023
@sonic2kk sonic2kk deleted the mo2-repair-experimental branch October 21, 2023 20:35
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.

1 participant