Scripts to help with Dalamud development on Linux.
# Navigate to the Dalamud repo
> cd your/dalamud/repo # (i.e. https://github.com/goatcorp/Dalamud)
# Build Dalamud
> nix run github:grittyfrog/DalamudLinuxScripts#dalamud-linux-build
# Launch XIV. Make sure to launch with the Dalamud "ACL-Only Fix" under `Settings > Dalamud > Load Method`
# Manually Inject
> nix run github:grittyfrog/DalamudLinuxScripts#dalamud-linux-inject
# Navigate to the Dalamud repo
> cd your/dalamud/repo # (i.e. https://github.com/goatcorp/Dalamud)
# Clone this repo
> git clone [email protected]:grittyfrog/DalamudLinuxScripts.git
# Build Dalamud (must be run in Dalamud root directory)
> ./DalamudLinuxScripts/dalamud-linux-build
# Launch XIV. Make sure to launch with the Dalamud "ACL-Only Fix" under `Settings > Dalamud > Load Method`
# Manually Inject
> ./DalamudLinuxScripts/dalamud-linux-inject
- XIVLauncher.Core must be installed
- XIVLauncher.Core must have run and downloaded Dalamud and Wine.
- Your system must be capable of running Wine, either by:
- Nix: Dependencies automatically provided (via
steam-run
) - Non-nix: Having the necessary dependencies available to execute XIVLauncher's bundled Wine directly from the terminal
- Nix: Dependencies automatically provided (via
- Your system must have the dotnet7 sdk installed, either by:
- Nix: Dependency automatically provided
- Non-nix: Installing it using your OS's usual mechanisms
Main commands:
dalamud-linux-build
: Builds (parts of) the Dalamud repositorydalamud-linux-inject
: Manually injects the Dalamud built bydalamud-linux-build
into an active FFXIV instance
Utiltiies:
dalamud-linux-clean
: Deletes the output ofdalamud-linux-build
dalamud-linux-paths
: Prints the file paths that will be used by the main commands. Useful for debugging.
This command must be run from the root directory of Dalamud.
It will build the Dalamud
sub-project and any transitive C# dependencies.
This does not build C++ dependencies. We can't easily build these on Linux, so instead we copy the existing dependencies from the dev branch of the XIVLauncher.Core installation.
This command can be run from anywhere. It will inject the build of Dalamud
built by dalamud-linux-build
into
These scripts are configured using environment variables:
The root directory of your XIVLauncher.Core config data.
Default: ~/.xlcore
The root directory of the wine prefix used by XIVLauncher.Core
Default: The last modified folder in ${XLCORE_ROOT}/compatibilitytool/beta
.
Controls the location Dalamud will be built to, and the location we inject Dalamud from.
Default: ${XLCORE_ROOT}/dalamud/Hooks/localdev
Where to output the logs when running dalamud-linux-inject
.
Default: ${XLCORE_ROOT}/logs/localdev