Jump to content
  • entries
    7
  • comments
    36
  • views
    818

Guide to mod under Linux


yester64

715 views

Here are the steps to take to get modding happening on Linux.

This was a learning experience. I had to research others problems that were mine.

So it should make it easier for everyone else.

 

I am not a pro but novice.

So i am trying to make it as easy as possible.

 

a) install Steam and make the changes in the pictures. For this to work you need to have 👉Proton 6.x

 

Spoiler

SteamGeneral.jpg.841d01e611c4fec912f91c4f47bf2c81.jpgSteam-SteamPlay.jpg.fbe60868a267268460b8a4e604d00acc.jpgSteamCompatibility.jpg.36b0f10d1d64c08c2de8da523cc3066e.jpgSteam-InGame.jpg.f1b9f531db902ebb39bca351758fcff9.jpg

 

2) install Lutris. What is Lutris. Lutris is essentially a game catalog where you can add scripts to be able to play windows games. You can also add Linux games or just Windows game that run with Wine.

👉Lutris

 

3) Check if you have Wine installed. If not, install it. I found a guide for Ubuntu (i am assuming most will use Ubuntu).

👉Wine

Do not forget to install WineTricks and ProtonTricks (Mono*). These are needed.

*only needed if you thinking of playing Windows Games except Skyrim.

I am using Wine 7.0rc2-1 and have WineTricks installed.

 

4) Add ProtonTricks to your install. Lutris MO2 script is asking for it.

 

5) Install the MO2 script. You will get it from 👉here.

Follow the instruction and change things if needed before continuing installation.

 

After all that you should actually have a running MO2 setup.
The way you start it is by starting Skyrim in Steam.

You can then add your mods one by one. Note! MO2 is sluggish. At least on my system. I am not sure what it is causing it, just be aware of it.

 

6) FNIS. You will need to install the data folder within Skyrim data and change in MO2 the location. Otherwise you will get an error with files.

See this 👉post.

 

7) for some Bodyslides does not create the folder in overwrite. So you need to create it yourself.


After all that, you should have everything running like on Windows.

I have it running as i have on Windows with ENB.

 

Disclaimer: The mod files will be in this folder.

/home/yourname/SteamLibrary/steamapps/compatdata/489830/pfx/drive_c/users/steamuser/AppData/Local/ModOrganizer/Skyrim Special Edition

your Steam folder will be here if you installed it like i did.

/home/yourname/SteamLibrary/steamapps/common/Skyrim Special Edition

 

MO2 under Linux

Spoiler

MO24.2.jpg.eca53ab3fec4d9496a57c8b77f00a630.jpg

 

Hope this guide was any help at all for anyone planing to mod with Linux.


Cheers 🥂

 

p.s. my problems before getting it to work were Steam would not start from MO2 interface. It always had the message about a registry missing.

Origenally i install with Lutris Skyrim and MO2. But i do not think that it is actually needed. The MO2 script should to the trick. In case you needed, just add Skyrim in Lutris. I have not tested that. It is installed in my Lutris.

 

Spoiler

lutris.thumb.jpg.17d448eff6a067dace45f1e6896f446d.jpg

 

Edited by wutpickel

24 Comments


Recommended Comments

🤔 I haven't heard of lutris before.

It's looks like it's something like PlayOnLinux?

 

Anyway, thank you very much for that guide! 🙏  :classic_happy:

Link to comment
2 hours ago, donttouchmethere said:

What is a Linux? A new Mod? What did I miss? 👀

Obviously, you never had seen "The Matrix" movie 👀

Spoiler

Screenshot-2-small.png

 

Link to comment
8 hours ago, worik said:

🤔 I haven't heard of lutris before.

It's looks like it's something like PlayOnLinux?

 

Anyway, thank you very much for that guide! 🙏  :classic_happy:

Lutris seems new to me as well.

I did not use PlayOnLinux myself, Lutris is more like Gog or something.

 

I truly hope my writing helps. I want it to work because it enable me to not always switch.

Kind of wished there was opensource/Linux mod manager. But this works fine so far. MO2 itself seem to suffer from lag. Got to be patient.

Link to comment

In general i think modding on Linux is probably more complicated than on Windows.

But if you are open minded and willing to learn, you can do it.

On the plus side, you probably do not have to leave Linux for awhile. Though i would still keep Windows as a backup.

Currently i have two SSD. Once for Windows and one for Linux. They do not share anything. Not even the boot manager. So they are independent of each other.

Though i need to upgrade my Linux SSD. Only have 500GB total and for pleasure its only about 300GB and with games, that fills quickly.

 

There are a lot of hurdles.
What did not work for me is to transfer my current modded game over. I just simply could not figure out where to copy what.
So i installed everything manually, again.

Since MO2 is somewhat laggy, it will take time to install 100 mods. If you have more, more time is needed. You need to be patient.

The biggest obstacles with installing mods is for sure FNIS and Bodyslides.

They both work fine, you just need to make some manual intervention of sorts.

Everything has a guide or reference from github. So it should work out in the end.

 

What i learned is, to use the latest script from Lutris available.

I bow before everyone who writes scripts. Its amazing.

 

Skyrim, in my case, runs fine. Though i noticed some lag. Nothing game breaking but noticeable.

But this can be ironed out later.

 

The important thing is, that it actually runs.

 

Another thing is, to get familiar with the locations of where files are placed.
So i hope that guide i wrote will help everyone. If it does not i hope i can help.

Link to comment
7 hours ago, worik said:

Obviously, you never had seen "The Matrix" movie 👀

One cannot simply see the Matrix, you have to dive into it!

Gosh, I always get confused with the pills 🤔

Link to comment
On 1/14/2022 at 9:02 AM, donttouchmethere said:

One cannot simply see the Matrix, you have to dive into it!

Gosh, I always get confused with the pills 🤔

I do not remember them either. Blue, Red? I take the red then. But sometimes its better to take the blue. Like everything is so beautiful. 💩 🥳

 

Though i never seen the screen with all the gibberish like in the movie. Where is it????

 

If i see one day on my screen "Neo", "wake up"... well. nice to knew you.

Link to comment
5 hours ago, wutpickel said:

Though i never seen the screen with all the gibberish like in the movie. Where is it????

:classic_ph34r:

Spoiler

 

 

Link to comment

Heya, playing Skyrim under Linux (currently Kubuntu 20.04 LTS) for ~4 years now and so far there is NOTHING that doesn't work, including:

 

- Over 500 mods

- FNIS, Bodyslide, MO2, Reproccer, etc (im my case I had to use 0 workarounds, they just worked like they did under Windows)

- Creation Kit

- Papyrus compiling (Papyrus Compiler Plus works out-of-the-box)

- ENB and SweetFX (you have to setup winecfg to use native libaries)

 

I personally had to use 0 workarounds and have experienced 0 hurdles. I set it up once (similarly like in this guide) and it has worked perfectly ever since.

Moreover, FPS are great and there are no (additional) bugs or glitches ingame.

 

The only thing that I would add to this guide is that I recommend using Proton 5.0-10 (official version from Valve) and no newer versions or the GE fork.

All newer versions have major problems with the VFS used by MO2 and have always broken my game at some point.

 

Also, one small thing, with 500 mods MO2 starts-up significantly slower than on Windows. But that's not a real issue imo.

 

Update: Proton 6.3 finally works with MO2 (version 2.4.4) and the long loading times are gone, too.

 

 

This is what I used to set up my Skyrim: https://github.com/rockerbacon/modorganizer2-linux-installer

 

 

Oh and one last tip: You should delete the TESV.dxvk-cache file in the Skyrim main directory every once in a while (especially after changing a lot of mods).

I have occasionally experienced the game not loadng at all or taking forever until I delete this file.

 

 

Linux, gaming without sending all your data to Microsoft and a plethora of US-servers ❤️

 

Cheers :)

 

Edited by King-Crimson
Link to comment
On 1/23/2022 at 6:46 AM, King-Crimson said:

Oh and one last tip: You should delete the TESV.dxvk-cache file in the Skyrim main directory every once in a while (especially after changing a lot of mods).

I have occasionally experienced the game not loadng at all or taking forever until I delete this file.

 

 

Linux, gaming without sending all your data to Microsoft and a plethora of US-servers ❤️

 

Cheers :)

 

I have to admit that i mod under Windows currently. I get always confused with the folder structure under Linux.

Anyway, this above is actually a good tip. I think. Why, because i noticed that since i am doing my population mod that even when i start a new game, it still has tons of people where there should not.

 

Running Skyrim itself was not the problem. But running MO2 was. Not sure why no one forked it for Linux. This would be so much better. I think.🤩

Link to comment
2 hours ago, wutpickel said:

Running Skyrim itself was not the problem. But running MO2 was. Not sure why no one forked it for Linux. This would be so much better. I think.🤩

+1 🙋‍♀️

Link to comment

I'm running Mod organizer under Linux, Proton experimental. It works, though mod organizer becomes progressively slow. A MO restart resolves this, but is a bit annoying. Is this something anyone else experiences, maybe proton version related?

Link to comment
14 minutes ago, picobyte said:

I'm running Mod organizer under Linux, Proton experimental. It works, though mod organizer becomes progressively slow. A MO restart resolves this, but is a bit annoying. Is this something anyone else experiences, maybe proton version related?

 

The last time I checked, the recommended Proton version was 6.3 and not experimental.

In the past, there have already been multiple instances where new Proton versions either completely borked MO or caused issues.

You should always use the version that is recommended.

 

Generally speaking, using the latest version of proton is not a good idea for many games, especially older ones.

Edited by King-Crimson
Link to comment
37 minutes ago, King-Crimson said:

 

The last time I checked, the recommended Proton version was 6.3 and not experimental.

In the past, there have already been multiple instances where new Proton versions either completely borked MO or caused issues.

You should always use the version that is recommended.

 

Generally speaking, using the latest version of proton is not a good idea for many games, especially older ones.

Ok, thanks for the hint.  I tried, but switching versions MO does not run, I fear itrequires a reinstall, and my current setup is not portable. It mostly works except for this issue. I may try again at a later time, or just try to find the culprit by profiling wine & MO.

Link to comment
8 hours ago, picobyte said:

Ok, thanks for the hint.  I tried, but switching versions MO does not run, I fear itrequires a reinstall, and my current setup is not portable. It mostly works except for this issue. I may try again at a later time, or just try to find the culprit by profiling wine & MO.

First, make sure you're on the latest version of MO: 2.4.4: https://github.com/ModOrganizer2/modorganizer/releases

 

MO is super portable afaik. I don't know how exactly yours is set up, but all you need to do to transfer your data is copy these dirs/files:

 

./mods

./overwrite

./profiles

./ModOrganizer.ini (adjust the paths inside to reflect your new paths)

 

and you're good to go.

 

You can try to remove the proton windows environment as well: SteamLibrary/steamapps/compatdata/72850/   remove the whole folder and try with Proton 6.3 again.

but make sure you've either let MO handle saves (in which case they'll be under the afore mentioned profiles dir or that you make a manual backup of /SteamLibrary/steamapps/compatdata/72850/pfx/drive_c/users/steamuser/My Documents/My Games/Skyrim/

 

 

Edited by King-Crimson
Link to comment

MO version was 2.4.4. In Proton I can force properties->compatibility to Proton 6.3-8, but MO won't 'play' - Failed to launch MO 2.4.4. That's why I have to reinstall. Wasn't aware the compatdata nr was wine version specific. Downloading anyway, trying reinstall..  one second..

 

 

Link to comment
17 minutes ago, picobyte said:

Wasn't aware the compatdata nr was wine version specific. 

 

 

When you first run any Steam game with Proton, a folder under SteamLibrary/steamapps/compatdata/ is created, named by the appid, in this case "72850" (https://steamdb.info/app/72850/)

 

This folder is then initialized by the exact proton version, that is selected for the game i.e. all the windows folders/files/exes/ddls are created from that exact version.

 

Changing proton version will not cause this folder to completely re-initialize, Especially changing from one major branch to another (in your case downgrading from 7.x to 6.3) will just leave some files untouched. And that is know to cause problems.

 

 

Good luck and have fun :)

Edited by King-Crimson
Link to comment

Same Failed to launch MO 2.4.4 err, enforcing 6.3-8 compatibility. Running fresh MO-2.4.4 download, steam via lutris. Updating proton, can't seem to run wine 6.3..
 

Thanks, I should be able to manage, I have enough Linux experience,

Edited by picobyte
Link to comment

In the end I'm staying with proton experimental. The slowing down of MO is just a minor annoyance for me. I run steam from the commandline with
 

WINEDLLOVERRIDES="xaudio2_7=n,b" PULSE_LATENCY_MSEC=90 steam

which gives me sound. I also have
 

VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json \

before that on the commandline, but this is because I have a radeon video card, which is a bit uncommon.

Link to comment

If you have all archives in one download directory, on the comand line this lists mods that have a FOMod installer:
 

ls -1 *.{zip,7z{,.001},rar} | parallel -n 1 -j 8 "7z l {} | grep -i -q 'FOMod/ModuleConfig.xml' && echo {}"


requires 7z, parallel (xargs or a loop could work in place of parallel)

Similarly, to find which mod can install a certain file:
 

file=TAP__QF_TAPQWhiterunLicense_0602E463

ls -1 dnld/*.{zip,7z{,.001},rar} | parallel -n 1 -j 8 "7z l {} | grep -q '$file' && echo {}"



 

Link to comment

I had recurrent problems, including the well known red explanation marks, CTDs at locations, turned out it was file corruption due to a faulty drive. There were more signs in hindsight, archives that were suddenly corrupt and not re-installable (ZaZ never installs unless I run uxterm and steam with German locale: `lang=de_DE.UTF8 uxterm', steam similarly). After running `du'  on the disk a SKSE folder, the file corruption became pretty clear and fsck confirmed it.

After moving data to a safe location MO seems to run more fluid. Only problem, both SKSE, MO and the downloaded archives were earlier on this faulty drive. I'll place some commands here under a spoiler in case anyone ever runs in something similar. It is a bit advanced, if you don't understand anything about these commands, don't run it before you do, read man pages or on-line.

After verifying SKSE and re-downloading broken archives, basically I reinstall every mod that has CRC32 mismatch in the files on disk with the ones in the archives. CRC32 is a simplified file checksum, simplified means there can be CRC32 duplicates, but if those occur with corresponding filenames, that is quite unlikely if truly random occurrences.

I limit myself to my currently active mods. Edit: This seemed to have solved it for me, but I will still have to reinstall any mod that I later activate, to be safe. The lag is still there, gets bad after ~15 re-installs, but MO is fine after restart.
 

Spoiler
dnld=dnld # folder that contains archives from current path
skipped_extension="log|ini|json|txt|jpg|xml|deactivate|docx|toml|xml|png|lua|force-install|mohidden|bak|pex"

# find broken archives, reinstall those
ls -1 "$dnld/"*.{zip,7z{,.001},rar} | parallel -n 1 -j 8 "7z t {} || echo {}" > broken_archives__reintall_these.txt

#Verify your game files in steam. You'll have to clean some later in zEdit.

# update with crc32s from new archive(s)
f=all_archive_slts.txt
ls -1 "$dnld/"*.{zip,7z{,.001},rar} 2>/dev/null | parallel -n 1 -j 8 "[ -f $f ] && grep -q {} $f || 7z l -slt {}" >> $f


# get crc32 for files on disk, SKSE or whatever, this may take a while
locate 'Skyrim Special Edition/mods' | grep '4073408537.*Skyrim Special Edition/mods$' |
xargs -d "\n" readlink -f | sort | uniq |
xargs -d "\n" -I % find % -type f -exec rhash --simple "{}" \+ > crc32_list.txt

# get files that doesn't seem to match the CRC32
sed -n -r "1~2b;/\.($skipped_extension) [0-9A-F]+$/b;s/^.*\///p" crc32_list.txt |
grep -v -w -F -f <(sed -n -r "/^Path = /{/\.($skipped_extension)$/b;s/^.*\///;h};/^CRC = ./{s/^CRC = //;H;x;y/\n/ /;p}" all_archive_slts.txt) > suspicious2.txt


# nr of files total, suspicious 
grep -vc '^;' crc32_list.txt suspicious2.txt

# active mods, make a save 
sed -n 's/^+//p' /path/to/modlist.txt > active_names

# basenames of installed archives
ls -1 "$dnld/"*.{zip,7z{,.001},rar} | sed -r -n 's~^.*/~~;s/\.(zip|7z(\.001)?|rar)$//p' > all_basenames


# not all but comes close. I install the mods with their version numbers
f=resolved_active_archive_slts.txt
cat active_names | grep -o -F -w -f all_basenames | xargs -n 1 -d "\n"  -I {} ls -1 "$dnld/{}".{zip,7z{,.001},rar} 2>/dev/null |
parallel -n 1 -j $threads "[ -f $f ] && grep -q {} $f || 7z l -slt {}" >> $f


# a list of possibly broken files per archive. the list is large for me, I suspect it includes false positives.
sed -n -r '/^--$/{N;s/^.*\nPath/Archive/;h;b}
/^Path = /{H;x;s/^(Archive = [^\n]+)(\n.*)*(\nPath = [^\n]+$)/\1\3/;x};/^CRC = ./{H;x;p;x}' resolved_active_archive_slts.txt |
grep -B1 -w -F -f <(sed -n -r 's/ [^ ]+$//p' suspicious2.txt) |
sed -n -r  's/^Archive = //p' | sort | uniq -c | sort -g > possibly_broken_archives.txt
gvim possibly_broken_archives.txt


# all (also hopefully benign) mods with a fomod installer
ls -1 "$dnld/"*.{zip,7z{,.001},rar} | parallel -n 1 -j 8 "7z l {} | grep -i -q 'FOMod/ModuleConfig.xml' && echo {}" > archives_with_an_installer.txt

grep -w -F -f archives_with_an_installer.txt possibly_broken_archives.txt > reinstall_in_mod_maager.txt


grep -v -w -F -f archives_with_an_installer.txt possibly_broken_archives.txt > other_mods_to_reinstall.txt

 

 

Edited by picobyte
Link to comment

Repository to set up syntax highlighting in gvim for papyrus scripts, beside the readme there also add this line to your .vimrc:

au BufRead,BufNewFile *.psc set filetype=papyrus

I just saved the raw files from the repo in the respective folders in my .vim directory.

Link to comment

Anyone have had luck running creationkit through Mod organizer 2? I can run CK in steam just fine, but then no mods, which makes it kind of hard to write a mod for sexlab.
I use the new steam app ID, which can be seen in properties on the installer in steam, currently is 1946180 (but was something else before, I read)

Via MO2 the environment is created and then.. nothing, CK seems to exit immediately. No clear logs in MO2, even on log level debug. It just says 'Nothing to wait for' (using a foobar.exe I at least get an error). I've tried changing the running dir to the skyrim directory.


In case  it matters, skyrim AE works, including SKSE and most of sexlab.

Edited by picobyte
Link to comment
On 6/13/2022 at 9:11 PM, picobyte said:

Anyone have had luck running creationkit through Mod organizer 2? I can run CK in steam just fine, but then no mods, which makes it kind of hard to write a mod for sexlab.
I use the new steam app ID, which can be seen in properties on the installer in steam, currently is 1946180 (but was something else before, I read)

Via MO2 the environment is created and then.. nothing, CK seems to exit immediately. No clear logs in MO2, even on log level debug. It just says 'Nothing to wait for' (using a foobar.exe I at least get an error). I've tried changing the running dir to the skyrim directory.


In case  it matters, skyrim AE works, including SKSE and most of sexlab.


In LE, all I had to do is overwrite the APPID for the Creation Kit Shotcut in MO2 to 202480 and "it just works" (TM).

 

You can also just temporarly copy paste all mods you need into the Skyrim directory. It's a bit of a dirty workaround, since you need to revert this for playing/testing, but will definitely work.

I used this script a while back until i figured out the APPID change above to copy all enabled MO2 mods into a new dir:

 

#!/bin/bash 
modlist="[/path/to/mo2]/profiles/[your-mo2-profile-name]/modlist.txt"

bold=$(tput bold)
normal=$(tput sgr0)

while IFS= read -r line
do
    if [ "${line:0:1}" == "+" ]
    then
        
        mod=$(echo ${line:1} | tr -d \\n\\r)
        path="[/path/to/mo2]/mods/${mod}/."
        
        printf "${bold}${mod}${normal}\n"
        
        printf "Copying...\n"
        cp -nR "$path" "[/path/to/skyrim]/Data"
        
        printf "Done\n"
    fi
done < "$modlist"

 

 

Make sure you change the paths.

Also, untested, 3 years old. :D

Edited by King-Crimson
Link to comment
×
×
  • Create New...