marzent / IINACT

A Dalamud plugin to run the FFXIV_ACT_Plugin in an ACT-like enviroment with a heavily modified port of Overlay Plugin
https://www.iinact.com
GNU General Public License v3.0
182 stars 41 forks source link

Fails to launch on Arch Linux #3

Closed Sharparam closed 2 years ago

Sharparam commented 2 years ago

Not sure if I'm maybe missing something in how it's supposed to be started, in that case please tell me!

Downloading the pre-built version with bundled everything from releases (https://github.com/marzent/IINACT/releases/download/v0.1.0/IINACT.zip), and starting it with the following command:

WINEPREFIX=~/.xlcore/wineprefix WINEESYNC=1 WINEFSYNC=1 ~/.xlcore/compatibilitytool/beta/lutris-GE-Proton7-23-x86_64/bin/wine64 ~/.xlcore/wineprefix/drive_c/IINACT/IINACT.exe

It outputs the following:

Failure processing application bundle.
Failed to create directory [C:\/home/sharparam/.cache/dotnet_bundle_extract\] for extracting bundled files.
067c:fixme:advapi:RegisterEventSourceW ((null),L".NET Runtime"): stub
067c:fixme:advapi:ReportEventW (00000000CAFE4242,0x0001,0x0000,0x000003ff,0000000000000000,0x0001,0x00000000,000000000019FDD0,0000000000000000): stub
067c:err:eventlog:ReportEventW L"Description: A .NET application failed.\nApplication: IINACT.exe\nPath: C:\\IINACT\\IINACT.exe\nMessage: Failure processing application bundle.\nFailed to create directory [C:\\/home/sharparam/.cache/dotnet_bundle_extract\\] for extracting bundled files.\n\n"
067c:fixme:advapi:DeregisterEventSource (00000000CAFE4242) stub

It seems to be trying to mix Linux and Windows paths?

Full output when running with WINEDEBUG=warn+all

Details

Running it in the wine prefix created by XIVLauncher.Core, using wine-ge-custom 7.23 as the runner.

marzent commented 2 years ago

This is because wine is inheriting environment variables from your linux dotnet6 install (in this case DOTNET_BUNDLE_EXTRACT_BASE_DIR).

You can either unset it before launching wine, or alternatively write a .bat that sets it to a sane windows style directory and then launches the exe.

That is not really something that can be alleviated by IINACT but is just how the self contained runtime behaves.

Sharparam commented 2 years ago

That indeed makes it launch, thanks for the info!

Sancoraa commented 1 year ago

That indeed makes it launch, thanks for the info!

How did you actually make this ? I have the same problem and have no idea how to unset the environment variables, thanks for any help !

nightkr commented 1 year ago

@Sancoraa export DOTNET_BUNDLE_EXTRACT_BASE_DIR=

Sharparam commented 1 year ago

@Sancoraa For reference, this is the script I use to launch IINACT: https://gist.github.com/Sharparam/788128a645f875cc236c3d3a4a942f33

I switched to using an explicit path for the extract dir instead of just blank.

(I'm not currently using the xiv/act options in it, everything also uses hardcoded paths so could definitely be improved)

bytebone commented 1 year ago

For reference, this is the script I use to launch IINACT: https://gist.github.com/Sharparam/788128a645f875cc236c3d3a4a942f33

Thank you for this script! With it, I was able to get IINACT running. But now I've got the issue that, when IINACT is running, XIVLauncher seems to be unable to launch the game. I don't know where to find related logs, all I know is that

When IINACT isnt running, the game opens normally both with and without Dalamud.

Any ideas why this would be and how I can fix it? Or at least where to find helpful log files?

Sharparam commented 1 year ago

@RainerZufahl Try launching the game before IINACT, that's what I do. Maybe there's some missing env var or something that messes up the wine stuff for the game if IINACT launches first.