DS3 Mods on a Flatpak-Based Linux System
If you try to run any Dark Souls 3 mods on a Flatpak-based Linux system, you'll quickly find pitfall after pitfall. This is because Flatpak applications are sandboxed and don't have access to the host filesystem in the same way that traditional applications do.Additionally, Steam / Proton create an incredibly long file path that can cause issues with Dark Souls 3 mods. After a lot of pain and trial and errors, I was finally able to do Convergence + Seamless Co-Op Dark Souls 3 on my Bluefin machine. Here are the steps I took to get it working:
Assumptions:
- You have a Flatpak-based Linux system with Steam installed via Flatpak.
- You have Dark Souls 3 installed via Steam and have run it successfully at least once.
- Create a new Steam Library location different from the original. Make sure it's not extremely long to avoid file path length issues. I specifically used
/var/home/jeefy/Games - Close Steam.
- Using Flatseal, grant Steam access to the new Steam Library location you created.
- Launch Steam.
- Move the Dark Souls 3 installation folder from the original Steam Library to the new one. You can do this by right-clicking on Dark Souls 3 in your Steam Library, selecting "Properties", going to the "Local Files" tab, and clicking "Move Install Folder".
Steps to get Convergence + Seamless Coop working:
- Install Mod Engine 3. They even have a Linux installer. It's dope.
- Download the Convergence + Seamless Coop mod files from Nexus Mods.
- Extract the mods into a
ds3_modsfolder in the ME3 profile directory. The file structure should be something like:ds3-mods ├── Convergence ├── dinput8.dll ├── HoodiePatcher.dll ├── HoodiePatcher.ini ├── modengine.ini └── SeamlessCoop - Create or edit the profile
ds3-default.me3to look like this:profileVersion = "v1" start_online = false debug = false [[supports]] game = "ds3" [[package]] id = "default-mods" path = "ds3-mods" [[natives]] path = "ds3-mods/SeamlessCoop/ds3sc.dll" [[package]] id = "convergence" path = "ds3-mods/Convergence" - Update the Seamless Coop Config as-needed (password, difficulty, etc)
- Verify that me3 sees your new profile:
$ me3 profile list
You should see something like this:$ me3 profile list INFO me3: version="0.9.0" commit_id="8f907dfcce295d8cda5bc84e955073cb22eb7552" eldenring-default nightreign-default sekiro-default ds3-default - From here you should be able to launch the game by running the following in the terminal:
$ me3 launch -p ds3-default
- OPTIONAL: In Steam, add a non-steam game. Name it
DARK SOULS 3 -- Mod Engine. Point it to the Mod Engine 3 binary and set the launch options to be:launch -p ds3-default
This should look familiar from a previous step. - Launch Dark Souls 3 via the Mod Engine Steam entry you just created.
This is how I got all it all working. I figure there's maybe ten people who will run into this and hopefully it'll help one of you lol.
Good luck and git gud.