valarnin / ffxiv-tools Goto Github PK
View Code? Open in Web Editor NEWTools for FFXIV
License: MIT License
Tools for FFXIV
License: MIT License
used it today on nobara 39 and nothing workes. ffxiv over lutris is fine BUT every setup.sh is not working. errors all over.
setup.sh:
Checking for dependencies...
Checking required 64-bit dependencies...
Missing dependency libFAudio.so.0...
Checking recommended 64-bit dependencies...
Missing dependency libgcrypt.so...
Checking for required tools...
Found tool unzip...
Missing tool patchelf...
Found tool wget...
Checking miscellaneous requirements...
Detected a sufficiently high ulimit value (1048576).
Found required wine dependencies.
Required dependencies are missing.
Failed to load dependency resolver
Dependency check failed. Aborting setup.
///////////////////////////////////////////////////////////////////////
setup1.sh:
Setting up the FFXIV Environment scripts.
This script will require you to open the FFXIV launcher from Lutris as if you were going to play the game normally
Please open the XIVLauncher Launcher. Checking for process "XIVLauncher.exe"...
(XIV Launcher is via .exe installed)
///////////////////////////////////////////////////////////////////////
setup2.sh:
Setting up the Proton environment to run ACT with network capture
This script will set up your wine prefix and proton executables to run ACT, as well as set up a default ACT install for you
If this process is aborted at any Continue prompt, it will resume from that point the next time it is run
Please make sure nothing is running in the wine prefix for FFXIV before continuing
The FFXIV environment hasn't been configured yet. Please run the stage1 setup first!
////////////////////////////////////////////////////////////////////////
setup3.sh:
Setting up the FFXIV helper scripts.
This script will set up helper scripts in /home/USER/.local/share/ffxiv-tools/ to launch FFXIV, ACT, or both.
Current script version: 3.
grep: /home/USER/.local/share/ffxiv-tools/ffxiv-env-setup.sh: Datei oder Verzeichnis nicht gefunden
Your /home/USER/.local/share/ffxiv-tools/ffxiv-env-setup.sh script does not have a FFXIV_PATH variable.
This likely indicates that you're running setup-stage3.sh against an environment built before it was created.
Please edit the script at /home/karmas/.local/share/ffxiv-tools/ffxiv-env-setup.sh and add a line like the following, with the path corrected for your FFXIV install location:
export FFXIV_PATH="/home/valarnin/.local/share/Steam/steamapps/common/FINAL FANTASY XIV Online"
XLCore now has a RPM spec, COPR repo, PPA, and Nix package, in addition to the AUR and MPR packages. These do not all install XIVLauncher into the same place.
The xlcore setup script will need to check where XIVLauncher.Common is (or use /usr/bin/xivlauncher
, which most should be providing now).
Or alternatively, could the script be expected to bypass the check by providing a path to XIVLauncher.Core?
Here's a list of all the known install methods I'm aware of.
Arch - AUR
xivlauncher https://aur.archlinux.org/packages/xivlauncher
xivlauncher-git https://aur.archlinux.org/packages/xivlauncher-git
Debian/Ubuntu/Mint/Pop-OS/etc - PPA and MakeDeb/MPR
https://launchpad.net/~linneris/+archive/ubuntu/xivlauncher-core-stable
https://mpr.makedeb.org/packages/xivlauncher
https://mpr.makedeb.org/packages/xivlauncher-git
Fedora/SUSE - RPM distros
https://copr.fedorainfracloud.org/coprs/rankyn/xivlauncher/ sourced from https://github.com/rankynbass/XIVLauncher4rpm
NixOS
https://search.nixos.org/packages?show=xivlauncher&query=xivlauncher&channel=unstable
When I tried to launch the script, it would come up like this:
Runtime Environment: Steam wine Executable Location: wine Proton Distribution Path: . Wine Prefix: /home/tetra/.local/share/Steam/steamapps/compatdata/39210/pfx/
It's currently running through 6.8 GE-2, and steam detects it just fine. Unsure what I did wrong.
2020-09-23 EDIT: Cleaned this up a bit with further information learned during use and testing.
Hello - per your request valarnin, I wanted to post some of the information I'd used to get some of the additional programs to work with FFXIV. While it probably needs more testing, this setup has Advanced Combat Tracker, XIVLauncher, CMTool, and TexTools all working:
.Net "Windows Presentation Foundation" (WPF) is what has prevented some of these programs from working (CMTool and TexTools at least).
WPF relies on DirectX 9 but seems to fail with DXVK version of DX9 in place.
WINE built-in version of DirectX 9 DLLs appear to fix this and allow the programs to work.
Install .Net 4.7.2 with winetricks (installing .Net 4.8 in addition doesn't seem to cause any issues).
Install Visual C++ 2015-2019 libraries (I had to install these manually, winetricks couldn't successfully install in my instance).
Install the Windows DLLs from winetricks: d3d9, d3dcompiler_47, d3dxof
Override d3d9 as 'built-in' or put the built-in d3d9 DLL into the application folder. Note that Lutris appears to force d3d9 override to 'native' and overwrites the native Windows DLL to enforce DXVK use if you have 'Use DXVK' toggled on, and doesn't appear to respect any settings to use 'built-in', so for Lutris using the DLL-in-folder method may be easiest.
Use specific versions of WINE - Proton-5.8-GE2 confirmed working, wine-tkg-staging-5.16 confirmed working, Proton-5.9 failed in my instance.
Do the usual setcap/patchelf required on the WINE binaries for ACT, it's needed for any memory-reading from any of these programs.
If using Lutris + DXVK and you need to copy the built-in WINE d3d9.dll files, they're located at the following places - copy these to the application folder and remove the .orig at the end:
32-bit: drive_c/windows/syswow64/d3d9.dll.orig
64-bit: drive_c/windows/system32/d3d9.dll.orig
Hey there,
first: thank you for all your efforts, trying to make ACT run on Linux.
I stumbled upon several problems when using ffxiv-tools:
setup.sh
: e.g. libpng12.so.0 is outdated for years now and has been replaced by libpng16 so far. With a little tinker it's still possible to get a x64 build of it - but no 32 bit afaik.ffxiv-*.sh
files in ~/bin/
.netdev
group and then did the setcap stuff like ffxiv-tools does:sudo setcap cap_net_raw,cap_net_admin,cap_sys_ptrace=eip /home/realtehreal/.steam/root/compatibilitytools.d/Proton-5.9-GE-8-ST/dist/bin/wine
sudo setcap cap_net_raw,cap_net_admin,cap_sys_ptrace=eip /home/realtehreal/.steam/root/compatibilitytools.d/Proton-5.9-GE-8-ST/dist/bin/wine64
sudo setcap cap_net_raw,cap_net_admin,cap_sys_ptrace=eip /home/realtehreal/.steam/root/compatibilitytools.d/Proton-5.9-GE-8-ST/dist/bin/wineserver
When I now try to run FFXIV or ACT using the ~/bin/ffxiv-run-*.sh
, this is what I get:
wine64: error while loading shared libraries: libwine.so.1: cannot open shared object file: No such file or directory
Wondering what's going on here.
Finally, getting to the point:
Is there currently any best way to get this to work on an up to date Debian based distribution?
Edit: quote corrected
Some cleanup that should be done.
The following should be moved to the beginning of their setup-stage#.sh
scripts:
$HOME/bin
and permission to createpatchelf
binaryunzip
binarystage1
and stage2
should have error checking added for any fs/proc read/write calls
The XLCore branch needs to have the environment variable list updated to match the xlcore ENV instead of lutris.
Stage2 makes destructive changes and currently warns the user to make a backup.
An automatic backup option should be offered which generates a .tar.gz backup of the impacted portions (proton dist and wine prefix), excluding FFXIV game data folder for size consideration.
I am running manjaro with kernel 5.6.11 and Proton-5.8-GE-2-MF. I ran the setup script as instructed. When I launch the game using the script, the launcher does launch but it is fully black and I am unable to move the window. If I minimise it, it is impossible to minimise it. I have to terminate the application. If I launch the game with steam, it simply does not launch. ACT does launch fine using the scripts in the environment. I can get the game working by using the backups, but I assume that means no ACT.
Tested in 20.04 LTS
.
Especially the i386 lib, there aren't really any pre-compiled deb packages that will work due to a change in lib folders.
I had to make my own to be able to install it.
The 64 bit lib can be installed from a third party repo.
Normally I wouldn't open a bug report for this but considering Ubuntu is one of the most popular distros and that this dependency was already broken in previous versions it would probably be worth looking into. I haven't really spent any time verifying what the dependency is used for so I'm unaware of how complicated it would be to move to libpng16
.
This issue is meant to be a tracking issue to track ideas and plans for the upcoming rewrite of the tools.
This issue will track final decisions, with suggestions and discussion in comments below.
The way the setup scripts currently handle paths causes issues with spaces, despite being quoted, because the generated ~/bin/ffxiv-env-setup.sh
script escapes spaces as "\ "
despite the string being quoted and not needing the slash.
As reported by a discord user, Lutris runtime libraries are required on the rpath
of the patchelf
'd binaries.
These should be at $HOME/.local/share/lutris/runtime/
, need to pull them dynamically from LD_LIBRARY_PATH
as part of stage2 setup and add them to rpath
As reported in the Discord, the check for 32-bit vs 64-bit dependencies is backwards.
Stage1 should check to see if the $WINE
env of the FFXIV process is pointed at already-setcap
'd binaries, and tell the user to use a fresh proton install for setup.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.