Closed waterlubber closed 2 years ago
This worked for me, although I had to install dotnet40 instead of 35.
Thanks!! It worked for me. Used dotnet40 as well. Got a lot of warnings because of using x64 wine but works nonetheless. Did take more than an hour of trying things out..
Installing Dotnet40 was necessary so install winetricks and protontricks and use protontricks: protontricks --gui choose "select the default wineprefix", now choose "install a windows dll or component", choose dotnet40 press ok for several 64bit warnings (i counted 6!) and wait a bit while it downloads and installs Now you should get the microsoft dotnet 4.0 installer, continue..
I needed an extra step - after I ran the QmodManager installer and did the winecfg thing Qmods' stuff still wouldn't show in-game - but I did get it working. If you're having problems, try this. First, you need dotnet40, not dotnet35. As BodhiChiron said, lots of errors and warnings about 64-bit architecture, and I also get two warnings about run32dll.exe or some such every time I open up Subnautica's Wine prefix, but it seems to work fine. The other bit about adding dll overrides in winecfg is important - that was not mentioned in the Linux installation guide on QMM's Nexus Mods page, which is why I'm here! As I said, that still failed though, so in my troubleshooting I found that BepInEx never generated a config so I believe it never initialized. I went and got BepInEx from its Github distribution (url in OP - you need x64 Windows, not the Unix-like version), and I extracted it and overwrote the BepInEx components that shipped with QModManager. That got Qmods working. Cyclops Near Field Sonar and Prawnsuit Volumetric Lights both fail to initialize, even alone, I am guessing because they include source code (why do modders do that...?). But all the other mods I have tried seem to work properly, including the all-important More Quick Slots and Prawn Lightswitch. I'm running Kubuntu 20.04, and Steam installed from their own Debian installer. I initially used Proton 5.0-10, but 5.13-1 also works, and the game doesn't seem to care either way.
I tried to install QmodManager for Below Zero but initially failed. I got quite far but QmodManager gives an initialising error on booting Below Zero. Will edit this comment with any further findings. Some of these more precise instructions could help somebody installing QmodManager for Subnautica, which I did succeed in :-D
First off, regarding wineprefix: the pfx for Below Zero is 848450 (protontricks will recognize this) So the pfx path on my ubuntu 20.10 is: ~/.steam/debian-installation/steamapps/compatdata/848450/pfx - this has all the wine & proton stuff in it. And then there's the actual game folder with the game files (where you need to direct QMod installer to), in my case: ~/.steam/debian-installation/steamapps/common/SubnauticaZero
Installing Dotnet40 froze on an error loop so I tried without installing dotnet40. Discovered it was already installed (proton 5.10 and wine-devel 5.22) and QMod installer (4.0.3 beta) ran but gave error that this windows version is not compatible. For some reason the default in winecfg was Windows XP, so I changed that to Windows 7, like this: protontricks --gui choose "select the default wineprefix", next choose "Run winecfg", on the opening tab at the bottom you can choose the windows version, so choose 7 or 10 and press ok.
Next hurdle was directing the Qmod installer to the game files. Windows uses \ in path names whereas linux uses / The installer runs in wine, in the pfx environment, so you need to direct it to your linux filesystem, using Z:\ For example: Z:\home\bodhi.steam\debian-installation\steamapps\common\SubnauticaZero
Update: loading my save file after the Qmodmanager error, the game didn't respond, I couldn't move Robin or open PDA or even game menu to quit. So verified game files in steam and went back into winecfg to remove exceptions to winhttp and version dlls. Now Qmodmanager is ignored and game works again. I don't think I'll try modding again until the game gets out of early access. I just don't have enough experience with wine/proton or modding to troubleshoot..
Update: silly me, qmodmanager is broken for everybody because of relics of the past update. Will try next version of QModManager when it comes out of beta..
Update: was impatient and tried QmodManager 4.0.3 beta and it works. So far i've tried map, advanced storage and more quickslots, they work! :-D
PS unlike for saxyomega90125, BepInEx worked out of the box..
I was able to get QModManager installed and trying to load the mods when starting the game after installing dotnet40 and overriding the winhttp
DLL. However, everytime QMod tries to load any of the mods, I get a BadImageFormatException referring to the mod's DLL (QMods/Modding Helper/SMLHelper.dll, for example). I'm using Manjaro KDE and Proton GE 6.5-2.
This is the log if anyone is facing the same issue: https://pastebin.com/XgyVUnDi
Unfortunately, I haven't found any solution yet.
I was able to get QModManager installed and trying to load the mods when starting the game after installing dotnet40 and overriding the
winhttp
DLL. However, everytime QMod tries to load any of the mods, I get a BadImageFormatException referring to the mod's DLL (QMods/Modding Helper/SMLHelper.dll, for example). I'm using Manjaro KDE and Proton GE 6.5-2.This is the log if anyone is facing the same issue: https://pastebin.com/XgyVUnDi
Unfortunately, I haven't found any solution yet.
I had this problem and solved it.
When opening some mods zip files in Ark, there was no folder. Instead, the files were named something like Modding Helper\mod.json
, Modding Helper\SMLHelper.dll
. That is, the folder name seemed to get turned into part of the file name.
The solution was to manually create the folder in QMods
, move the files there, and rename the files to remove everything before the backslash.
I was able to get QModManager installed and trying to load the mods when starting the game after installing dotnet40 and overriding the
winhttp
DLL. However, everytime QMod tries to load any of the mods, I get a BadImageFormatException referring to the mod's DLL (QMods/Modding Helper/SMLHelper.dll, for example). I'm using Manjaro KDE and Proton GE 6.5-2. This is the log if anyone is facing the same issue: https://pastebin.com/XgyVUnDi Unfortunately, I haven't found any solution yet.I had this problem and solved it.
When opening some mods zip files in Ark, there was no folder. Instead, the files were named something like
Modding Helper\mod.json
,Modding Helper\SMLHelper.dll
. That is, the folder name seemed to get turned into part of the file name.The solution was to manually create the folder in
QMods
, move the files there, and rename the files to remove everything before the backslash.
I was finally able to solve this issue as well. Apparently the issue was indeed related to Ark, but the problem was a little bit deeper than just the file names. It seems that, when unzipping the files using Ark, it was somehow altering the contents of the DLLs, which later caused them to be in a bad format, hence the BadImageFormatException. Unzipping the mods using unzip
fixed all the issues for me.
I am so happy to finally be able to play this awesome game with mods. Thank you all for writing this info on how to make it work on Linux :slightly_smiling_face:
when i ran "WINEPREFIX=~/.local/share/Steam/steamapps/compatdata/848450/pfx/ wine /home/kiven/Downloads/QModManager.exe" in the terminal i got a bunch of errors https://pastebin.com/DPvH2CVh on Debian bullseye
While I got this working a year or so ago, I can't get it to work now. I'm on NixOS. I installed dotnet40 (after many false starts) and ran the installer, and it created an empty QMods directory. The installer did look pretty janky, and when selecting the Subnautica game directory, I got an error popup saying "Could not call proc". But it seemed to complete fine after that.
But, starting Subnautica, there is no Mods tab under Settings. I don't know what is wrong or where to look. I don't see any logs. Tried PROTON_LOG=1 (with grep -v "RtlGrowFunctionTable", as that spam was the bulk of it).
Thanks. @hlriffel @wilbowma
While I got this working a year or so ago, I can't get it to work now. I'm on NixOS. I installed dotnet40 (after many false starts) and ran the installer, and it created an empty QMods directory. The installer did look pretty janky, and when selecting the Subnautica game directory, I got an error popup saying "Could not call proc". But it seemed to complete fine after that.
But, starting Subnautica, there is no Mods tab under Settings. I don't know what is wrong or where to look. I don't see any logs. Tried PROTON_LOG=1 (with grep -v "RtlGrowFunctionTable", as that spam was the bulk of it).
Thanks. @hlriffel @wilbowma
@lordcirth
Have you executed winecfg
and added winhttp
as an overridden library?
@hlriffel Yes, I overrode winhttp
and version
I'm currently trying to get things to work, but with no luck - i was able to install QMM with dotnet40
(hat to use WINE=$(which wine) protontricks 264710 dotnet40
to get it to install without an error), win7
, winhttp
+ version
overrides, the QMods and BepInEx folders are created in the gamefolder, but when i load the game i see no sign of the mods being active, neither in settings menu nor ingame :/
Edit: Nevermind, i just did winecfg to do the overrides in the wrong prefix :facepalm:
it fails to install no matter what I try, looks like it's checking for a windows environment when trying to run the new installer. qmodinstaller will just not work with the current steps posted. anyone have any updated instructions?
also the new instructions are here: https://github.com/BepInEx/bepinex-docs/blob/master/articles/advanced/steam_interop.md
Error Log: https://pastebin.com/SgmwBmn7
Edit: Was able to get it to work, had to follow the lastest steps listed above as well as download the zip file for the qmod and copy and paste into the game directory, I then also launch the game with run_bepinex.sh and everything worked just fine.
when i ran "WINEPREFIX=~/.local/share/Steam/steamapps/compatdata/848450/pfx/ wine /home/kiven/Downloads/QModManager.exe" in the terminal i got a bunch of errors https://pastebin.com/DPvH2CVh on Debian bullseye
Same issue on my end, nothing works for me
Thank you for this, it still works when following the directions to a T.
Same for me. Wish this was easier to find as it was several days of on and off searching until I found this.
There is a much simpler way to do this than what is described in the issue:
Manage
then Browse local files
winhttp.dll
Properties
and add this to the launch options:
WINEDLLOVERRIDES='winhttp.dll=n,b' %command%
There should be a folder called QMods
in the folder that you opened in step 1. That is where you put your mods. Create one if it is missing.
I tested this on a Steam Deck in Desltop Mode, where I had no access to winecfg
and doing anything in the terminal was just annoying.
This works for me (QmodLoader is clearly running) but I immediately get a red popup saying that every mod is failing with some "harmony" extenssion file or simething from bepinex (I don't really understand it) Pastebin: https://pastebin.com/raw/AV3X0VLV EDIT: That file (hopefully) wasn't the problem, I just realized I forgot SMLHelper
Indeed there many log entries complaining about SMLHelper missing.
I in the meantime successfully tested my method with Below Zero. Just make sure to download the correct edition of QModManager.
There's also the Running games on Steam article provided by BepInEx which also has the instructions on how to setup Unity games to run mods. Follow them after extracting QModManager to your game root folder and let me know if they're more straight forward.
@szszoke's instructions also look promising. Unfortunately at the meantime none of QModManager devs have a Linux machine so we cant confirm the best method to do this. We are however, looking for the most successful method to update this issue with.
There is a much simpler way to do this than what is described in the issue:
- Right click on Subnautica, select
Manage
thenBrowse local files
- Manually download the ZIP archive of QModManager from here: https://www.nexusmods.com/subnautica/mods/201?tab=files
- Extract the files directly to the folder opened in step 1 - if you've done it correctly you should see a file called
winhttp.dll
- Right click on Subnautica in your library, select
Properties
and add this to the launch options:WINEDLLOVERRIDES='winhttp.dll=n,b' %command%
There should be a folder called
QMods
in the folder that you opened in step 1. That is where you put your mods. Create one if it is missing.I tested this on a Steam Deck in Desltop Mode, where I had no access to
winecfg
and doing anything in the terminal was just annoying.
THANK YOU!!!
I can confirm that @szszoke's instructions work consistently. Updated this issue to point to your instructions. Thank you for sharing it!
Found that Lutris also has a runner to install the game with mod support. https://lutris.net/games/subnautica/
I'm trying to run Subnautica Below Zero on a brand new Steam Deck with mods (Map mod) using instructions provided by @szszoke. I got no luck, the game freezes on the warning screen with the main menu sounds in the background. In qmodmanager_log-SubnauticaZero.txt
I see two errors:
1) System.TypeLoadException: Could not load type SentrySdk, Assembly-CSharp-firstpass, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null while decoding custom attribute: (null)
2) InvalidOperationException: Steamworks is not initialized.
Not sure which one is critical. Here's a link to the full log: https://pastebin.com/paYxpvcz
I'm trying to run Subnautica Below Zero on a brand new Steam Deck with mods (Map mod) using instructions provided by @szszoke. I got no luck, the game freezes on the warning screen with the main menu sounds in the background. In
qmodmanager_log-SubnauticaZero.txt
I see two errors:
System.TypeLoadException: Could not load type SentrySdk, Assembly-CSharp-firstpass, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null while decoding custom attribute: (null)
InvalidOperationException: Steamworks is not initialized.
Not sure which one is critical. Here's a link to the full log: https://pastebin.com/paYxpvcz
This is due to the latest Below Zero "What The Dock Update", which broke QModManager and isn't related to the linux instructions.
Join the Subnautica Modding Discord Server and you can find the fixed builds there.
We are aware of this issue and and it is not related to Steam Deck. As can see on the Commits and Pull request we already in action to fix everything related to the last BZ Update that was just puiblished only some hours ago. That also means we have already a available BETA ready to test.
https://discord.gg/UpWuWwq Join here and visit the Modding news channel. if you have still issues with the beta visit the help channels there thats faster and easier than github.
ok Metious was just seconds faster...
Modding Subnautica & Subnautica: Below Zero is very much possible and can be achieved with very little work! follow the instructions below on how to properly setup a modded environment.
Installing QMods on Linux with Proton
Manage
thenBrowse local files
winhttp.dll
Properties
and add this to the launch options:QMods
folder in your Subnautica folder. Simply put your mods in that folder and they will load to the game!Troubleshooting:
QMods
folder in your Subnautica root folder after installing QModManager, create a folder namedQMods
manually yourself.Credits to @szszoke for writing this simple version of the required instructions.