HereInPlainSight/gshade_installer

My experience

Closed this issue · 7 comments

Just some suggestions from my own experience with this script.

First, it didn'T work for me. I have a FFXIV install I moved from Windows ('blank' install -- no mods installed) but my install is in ~/Games/ffxiv/drive_c/SquareEnix/FINAL FANTASY XIV - A Realm Reborn/. The install kept on trying to install itself in ~/Games/ffxiv/drive_c/Program Files (x86)/SquareEnix/FINAL FANTASY XIV - A Realm Reborn/.

I ended up opening the script in a file editor and mass-replaced the wrong path with the right path. But figured I'd report my experience.

EDIT: I was using the auto-detect function (F).

So, I've been mulling this over, and I think the best I can do is update the error message.

You say you moved the install over from Windows, which is fine, but that you used the autodetect function. The autodetect function will check for a wine prefix -- I'm assuming you launched the script as WINEPREFIX=$HOME/Games/ffxiv/ ./gshade_installer.sh.

I'm a bit hesitant to try to complicate the autodetection because usually, when installing through any regular means, (ex. Lutris or Steam,) it's assumed that there are specific installation paths. Even Lutris' default script assumes the installation path is the default location in the prefix -- drive_c/Program Files (x86)/SquareEnix/FINAL FANTASY XIV - A Realm Reborn/.

Basically, you created a non-standard install, and the autodetect could not figure out where binary was.

You could have used the WINEPREFIX=$HOME/Games/ffxiv/ ./gshade_installer.sh dx11 "$HOME/Games/ffxiv/SquareEnix/FINAL FANTASY XIV - A Realm Reborn/game/ffxiv_dx11.exe" format to install to a custom location, or if you were using the guided setup, option two, 'Install to a custom game.'

My current lean is to change the error from:
The WINEPREFIX was found, but the game was not. Exiting.
to:
The WINEPREFIX was found, but the game was not. If your game was not installed to the default directory, please use the custom game option. Exiting.

Would you consider this a workable response that would have clarified the issue for you?

I'll be completely frank, when I noticed it didn't work I just modified the script. I did not use the WINEPREFIX commandline argument, all I did is run the .sh script (I figured it didn't use WINE as it's a shell script, so didn't think the WINEPREFIX argument would work here).

Not a pro at linux in any sense of the word, I've been using it as my main OS on my gaming machine for the last month or so at this point. I'm in IT and couldn't make it work. Not sure if Lutris has a way to search for installed games (Is the config file easily readable?).

Good job on the script nonetheless, still browsing through the different profiles to see which one I prefer, goes well with my brand spankin' new 3070ti card I paid way too much for XD

Well, welcome to Linux! :)

So, lemme just wipe the slate a bit and get us on the same page:

  1. Are you able to get XIV running? If so, how? I'm trying to understand how you're installed so I know how the script knew where to look. (In ~/Games/ffxiv/, as that's not a standard location to search.) You are correct that the script isn't wine itself, but since it's commonly used terminology, we're using the same environment variable name as it's generally understood.
  2. If you have not been able to get XIV running, I would recommend installing via Lutris (you can use the default or XIVLauncher if you prefer, at this time XIVLauncher is a bit more future-proof on Linux) and using all default installation locations. Once the game starts to download, just cancel it and soft-link your SquareEnix folder to the appropriate location inside the prefix. No hard drive space is lost via a soft link and the script will blindly accept following the symlink.

For Lutris, there's really no way to search for installed games, but you can manually add them if you have all the relevant info. That's a bit outside of what I can help with in a github issue report, though, and even then, because of the nature of Lutris and third party launchers (like XIVLauncher), the script assumes a default installation path for the game itself, as the exe being called may not necessarily be the game's default launcher.

Well, welcome to Linux! :)

So, lemme just wipe the slate a bit and get us on the same page:

  1. Are you able to get XIV running? If so, how? I'm trying to understand how you're installed so I know how the script knew where to look. (In ~/Games/ffxiv/, as that's not a standard location to search.) You are correct that the script isn't wine itself, but since it's commonly used terminology, we're using the same environment variable name as it's generally understood.
  2. If you have not been able to get XIV running, I would recommend installing via Lutris (you can use the default or XIVLauncher if you prefer, at this time XIVLauncher is a bit more future-proof on Linux) and using all default installation locations. Once the game starts to download, just cancel it and soft-link your SquareEnix folder to the appropriate location inside the prefix. No hard drive space is lost via a soft link and the script will blindly accept following the symlink.

For Lutris, there's really no way to search for installed games, but you can manually add them if you have all the relevant info. That's a bit outside of what I can help with in a github issue report, though, and even then, because of the nature of Lutris and third party launchers (like XIVLauncher), the script assumes a default installation path for the game itself, as the exe being called may not necessarily be the game's default launcher.

I am new to linux as a main OS but have been playing with linux for a couple years.

Yes, XIV is running on Lutris perfectly, on DXVK as well. As optimized as it can be (afaik).

When I setup XIV, I copied it from my NTFS volume into a brand new wine prefix at the base of the drive_c folder, set up some Lutris-suggested recommendations (Setting Browser to 3, opening cutscenes, adding some GL arguments in Lutris, changing some options, etc) and I was off to the races.

I just didn't use the standard xiv folder paths.

Is there maybe a way you can use find to search for ffxivboot64.exe or something inside the wineprefix? From there on, you can check in the parent folder for the data folder, no?

I am new to linux as a main OS but have been playing with linux for a couple years.

Oookay, I gotcha now. So the script picked up on the Lutris-installed prefix and went to town from there. Thank you!

I just pushed an update that, if and only if it can't find the default location during a Lutris install, it will search for the directory that contains ffxiv_dx11.exe (as that's what GShade basically attaches itself to anyway) on drive_c inside of the WINEPREFIX it grabs from Lutris' config file.

I think this should resolve the issue you experienced, though it assumes it'll only ever find one such directory. Is it possible you could test this fix, possibly by removing and then re-adding GShade?

I am new to linux as a main OS but have been playing with linux for a couple years.

Oookay, I gotcha now. So the script picked up on the Lutris-installed prefix and went to town from there. Thank you!

I just pushed an update that, if and only if it can't find the default location during a Lutris install, it will search for the directory that contains ffxiv_dx11.exe (as that's what GShade basically attaches itself to anyway) on drive_c inside of the WINEPREFIX it grabs from Lutris' config file.

I think this should resolve the issue you experienced, though it assumes it'll only ever find one such directory. Is it possible you could test this fix, possibly by removing and then re-adding GShade?

I'll check and get back to you

Over a month -- presuming the fix works. Closing, but re-open if the issue persists / returns, please!