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

[xlcore][fix] Allow new versions of patched proton wine to work. Improve compatibility with unpatched wine. #1316

Closed
wants to merge 6 commits into from

Conversation

rankynbass
Copy link
Contributor

@rankynbass rankynbass commented Apr 29, 2023

Currently, if using newer patched proton wine, or unpatched wine, the UnixDalamudRunner will return a null value for the ffxiv process, which prevents xlcore from properly closing when the game exits. This patch fixes that problem.

This patch makes three changes:

  1. It skips up to two errors from the Dalamud process injector. Proton-based wine sometimes throws a meaningless error here, as does the ReShade Effects Shader Toggler (REST).
  2. It reworks the try/catch logic so that we can try to find the ffxiv process even if Dalamud has errors.
  3. It provides a fallback method to find the process id if wine is unpatched. This method should work 100% of the time in a flatpak container. Outside of a flatpak, it will only (possibly) fail if the user tries to launch two instances of the game at once.

A modified version of this patch is included in the Compatibility Rework 2 (PR #1366).

Workaround: deal with ERROR: Could Not Get Primary Adapter Handle
* Workaround for REST and proton wine
* Move return statements out of try/catch block
* Make fallback function private, call from GetUnixProcessId()
@rankynbass rankynbass closed this Mar 15, 2024
@rankynbass rankynbass deleted the unpatched-wine-fixes branch March 15, 2024 22:18
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