Withdrawn: AVO - Omni-guides/Wabbajack-Modlist-Linux GitHub Wiki

IMAGE General Banner

This guide is designed to be a generic Wabbajack-list-on-Linux guide. While I use AVO as the example here, the same steps should apply to other lists, too. There may be a few different steps needed for some lists, but this should at least be a good start. Feel free to get in touch with me on the below linked Discord if the below steps do not work for the modlist you are trying to run.

Althro's Visual Overhaul (AVO ) is designed as a "true to vanilla list" to build your own list upon. It has been installed over 12 thousand times and garnered a reputation for being incredibly stable and is, as the quote says, "the best way to make your own list."

ko-fi

As it stands, I DO NOT RECOMMEND AVO 8 ON STEAM DECK, it's just too heavy and will average around 20fps. I'm still trying to see if there are any relatively easy tweaks that could be done to get this playable. This guide will focus on running AVO on a Linux system, rather than the Steam Deck.


Automated Configuration

While this guide contains the step by step process to get the modlist up and running, a growing number of modlists have been tested against my automation script successfully.

If you wish to carry out the steps manually because you want to learn the process, or simply enjoy tinkering, then absolutely feel free to follow the below steps. Otherwise, you can find the Automation Script and instructions for use here - Using the Omni-Guides Automation Script.


Instructions

The following has been tested on AVO v8

This guide only covers getting the Modlist running. It does not cover downloading the Modlist via Wabbajack, or how to copy the Modlist to your Linux system. The official AVO entry from Wabbajack will not run on Linux - this is due to the version of MO2 used (2.5.0) which is not yet functional via Proton. Instead, Althro has provided me with an alternative .wabbajack file for a Linux-specific build using a compatible version of MO2. You can find this .wabbajack file HERE, and download the list using the "Install from File" option in Wabbajack.

For AVO, you will need to own the Anniversary Edition of Skyrim, and have launched the vanilla Skyrim game to download the Creation Club content. I also assume that you have sudo access for your Linux user.

AVO only supports Skyrim AE, Anniversary Edition is not optional.

The steps below may seem wordy and plentiful, but they can be carried out relatively quickly - I just wanted to give context and description to each step.


Step 1 - Create the directory

Once Wabbajack has successfully completed the download and installation of the Modlist on your Windows system, create a new directory on Linux to house the required files. Open up a terminal/Konsole and run the equivalent of the following command. You will have to replace 'omni' with the name of your Linux user:

mkdir -p /home/omni/Games/Skyrim/AVO

Technically you can use any path or naming convention you like, but for simplicity of following this guide it may be best just to copy the paths I use. I recommend not including any spaces in the Directory Name - it does not seem to play well with the Proton/MO2 combination, even with the spaces being escaped, for whatever reason..

Copy the Modlist Install directory from Windows into this newly created directory. There are many ways to do this. I chose to enable ssh on my Linux system, and then use rsync to transfer. There are too many options to discuss here, but it should be relatively easy to search for methods. I copied the Modlist Install directory contents from Windows to the newly created directory on the Linux filesystem, /home/omni/Games/Skyrim/AVO/

Finally for this step, it's best to make sure that the newly copied files have sufficient permissions for your user.

Change the owner and permissions of the directory :

sudo chown -R omni:omni /home/omni/Games/Skyrim/AVO
sudo chmod -R 755 /home/omni/Games/Skyrim/AVO

Step 2 - Add ModOrganizer.exe as a Non-Steam Game

The next step is to add ModOrganizer.exe to Steam as a non-steam game. In Steam, click Games, then "Add a Non-Steam Game to My Library". The latest version of Steam should use the regular File Browser from your system, older versions of Steam had a built-in file browser.

IMAGE AddNonSteamGame

Click Browse:

IMAGE BrowseNonSteamGame

Browse to the path of your modlist. e.g. /home/omni/Games/Skyrim/AVO, select ModOrganizer.exe, and click Open.

IMAGE AddMO2NonSteamGame

Ensure ModOrganizer.exe is present and ticked, and then click Add Selected Program.

IMAGE AddMO2NonSteamGame

Once added, edit the properties of the new ModOrganizer.exe entry. You can give it a more sensible name - I used "Skyrim - AVO":

IMAGE PropertiesNonSteamGame

Then in the Compatibility tab tick the box for 'Force the use of a specific Steam Play compatibility tool', then select the Proton version - I use Proton 8.0-4 which was the latest stable Proton version provided by Valve at time of writing..

IMAGE ProtonNonSteamGame


Step 3 - Install Protontricks

If you don't already have it installed, ProtonTricks can be installed via the Discover store as a flatpak, and is likely also available from your distribution's package manager. Personally I use the version from flatpak/Discover Store:

IMAGE ProtontricksSearch

IMAGE ProtontricksInstall

To enable the use of protontricks via the command line, open a Konsole terminal and run the following command to add an alias(If you use a shell other than bash, you will have to adapt the following for your own login script location):

echo "alias protontricks='flatpak run com.github.Matoking.protontricks'" >> ~/.bashrc

then close and reopen your terminal/Konsole. We can now invoke protontricks from the command line. Next, we need to allow protontricks access to the filesystem location (adjust as needed if you used a different path):

sudo flatpak override com.github.Matoking.protontricks --filesystem=/home/omni/Games

That should be protontricks installed and ready to use later in the guide.


Step 4 - Start and Configure ModOrganizer2

Click play on this new entry "Skyrim - AVO" (or whatever you renamed it to) in Steam - Depending on the path on Windows that you copied the Modlist files from, you may see an error pop-up about your account lacking permission:

IMAGE MO2DownloadsError

To fix this, we just need to strip the now incorrect download directory from the ModOrganizer.ini file. in Konsole terminal, run:

sed -i "/download_directory/c\download_directory =" /home/omni/Games/Skyrim/AVO/ModOrganizer.ini

then re-run "Skyrim - AVO" from Steam.

Another error box will appear, complaining that it "Cannot open instance 'Portable'. This is because we copied the Modlist directory (inclusive of the built-in MO2) from Windows, so the path has changed:

IMAGE MO2PortableError

To fix this, we need to point MO2 to our new location. Click OK, and then Browse. The path we are looking for is:

Z:\home\omni\Games\Skyrim\AVO\Game Root

IMAGE BrowseLocalBlur

The splash screen for AVO should hopefully now appear:

IMAGE MO2Splash

You may also get a pop-up asking if you want to Register for handling nxm links, like so:

IMAGE HandleNXMLinks

I usually just hit "Yes" and move on with my life.

Getting close now. Next, we have to ensure that ModOrganizer2 is pointing to the correct location for the required executable. In MO2, click the little two-cog icon at the top, which will bring up the Modify Executables window (please note that this icon may differ for some Modlists that use custom icon sets):

IMAGE MO2ExecutableCog

For the AVO executable, we need to point MO2 at a file that may not actually exist yet (but it will exist, once GameRoot does it's thing when you click launch - and is then removed again when the game closes).

The path you need for the AVO application will be:

Z:\home\omni\Games\Skyrim\AVO\mods\Skyrim Script Extender\Root\skse64_loader.exe

IMAGE MO2Executables


Step 5 - Install Required Wine Additions

There is an issue with missing NPC Voices - apparently this is an issue with Proton, so it may ultimately be resolved in time with a newer version of Proton without needing these steps. For now though, we need to install xact and xact_x64 to the Wine/Proton environment Steam created for our "Skyrim - AVO" entry, and a few others for the use of Community Shaders. AVO also requires Microsoft Visual C++ Redistributable 2022 for some of it's mods.

The easiest way to install what we need is to use ProtonTricks, which should be installed already from Step 3 earlier in this guide.

Adding the required packages can be done via the ProtonTricks gui, but perhaps the easiest way is via command line. You can run the following one-liner to do it for you, or if you prefer, you can manually run the individual steps noted below (replace "Skyrim - AVO" with the name of your Non-steam game entry, if you called it something else):

APPID=`protontricks -l | grep -i "Skyrim - AVO" | awk {'print $NF'} | sed 's:^.\(.*\).$:\1:'` ; protontricks --no-bwrap $APPID xact xact_x64

Alternatively, If you prefer to run this manually, see an alternative step-by-step method in the Additional Notes section below.


Step 6 - Install VCREDIST2022

Next up is the requirement of vcredist2022. Unfortunately this isn't available directly through protontricks as per xact, so we will have to install it semi-manually. The following one-liner should do everything you need (replace "AVO" with the name of your Non-steam game entry, if you called it something else):

APPID=`protontricks -l | grep -i "Skyrim - AVO" | awk {'print $NF'} | sed 's:^.\(.*\).$:\1:' | tail -1` ; wget https://aka.ms/vs/17/release/vc_redist.x64.exe -O '/home/omni/.local/share/Steam/steamapps/compatdata/'"$APPID"'/pfx/drive_c/vc_redist.x64.exe' ; protontricks --no-bwrap -c 'wine /home/omni/.local/share/Steam/steamapps/compatdata/'"$APPID"'/pfx/drive_c/vc_redist.x64.exe /Q' $APPID

Step 7 - Set Resolution

Next, we should set the resolution to match your monitor resolution. To do this in MO2, filter for the entry for "SSE Display Tweaks", and double-click it:

IMAGE IniEditor

Switch to the INI Tab, highlight the INI File on the left, and then scroll down until you see the line that reads "#Resolution=1920x1080". Remove the # at the start of the line, and then set the resolution to be what you need:

IMAGE SetResolution

Finally, click the Close button and select "Yes" to save the changes.


Conclusion

At last!

If you've read this far, then well done! I'd very much appreciate a Star for this guide, just to show if I'm on the right track. I'm also open to any feedback, positive or negative.

With NPC Voices fixed, and vcredist2022 installed, we should now be ready! Click the Play button in Mod Organizer, and wait.... This takes quite a bit of time to start. Once it had loaded though, performance was as expected once you're in the menus.

IMAGE SetResolution

As an addition to the disclaimer at the top of this guide, I have no visibility of longer term stability, so save often, and maybe even make backups of your save-games, just in case ;)

If you need help with any of the above, or better yet have another fix, tweak or workaround to help get these Modlists running on Linux, then please do stop by the #unofficial-linux-help channel on the Wabbajack Discord, I should be around so just @ me (@omni) on there!

Enjoy!

ko-fi

IMAGE AVOMenu


Additional Notes

Install VCREDIST2022 manually

If you prefer to install vcredist manually instead of using my one-liner, you can follow these steps. Unfortunately this isn't available directly through protontricks as per xact, so we will have to install it semi-manually. The following one-liner should do everything you need (replace "Skyrim - AVO" with the name of your Non-steam game entry, if you called it something else):

APPID=`protontricks -l | grep -i "Skyrim - AVO" | awk {'print $NF'} | sed 's:^.\(.*\).$:\1:' | tail -1` ; wget https://aka.ms/vs/17/release/vc_redist.x64.exe -O '/home/deck/.local/share/Steam/steamapps/compatdata/'"$APPID"'/pfx/drive_c/vc_redist.x64.exe' ; protontricks --no-bwrap -c 'wine /home/deck/.local/share/Steam/steamapps/compatdata/'"$APPID"'/pfx/drive_c/vc_redist.x64.exe' $APPID

IMAGE AdditionalVCRedistStart

Check the box to agree, and then click install. It should complete quickly.

IMAGE AdditionalComplate

Alternatively, If you prefer to run this manually, step-by-step, you can do the following. Firstly, we need to download the vc_redist.x64.exe installer inside the Proton prefix. Run the following command, replacing my Game ID (3595949753) with your own which you can get by running protontricks -l in Konsole:

wget https://aka.ms/vs/17/release/vc_redist.x64.exe -O /home/deck/.local/share/Steam/steamapps/compatdata/3595949753/pfx/drive_c/vc_redist.x64.exe

Then we can enter the shell of our Proton environment:

protontricks --no-bwrap 3595949753 shell

If successful, it should display a little C: prompt in your terminal window. Your terminal may misbehave after running the wine command - you can regain control by typing 'reset', even if you can't see the characters as you type.

Finally, run the installer:

wine vc_redist.x64.exe

IMAGE AdditionalVCRedistStart

IMAGE AdditionalVCRedistStart

Check the box to agree, and then click install. It should complete quickly.

IMAGE AdditionalComplate

When running wine commands in Konsole, it usually mangles the terminal a bit - text you type wont be shown (though it technically is still being printed in the terminal) - to get out of that state, either close and reopen Konsole, or just type 'reset' and hit enter, even if you can't see the characters.

Install wine requirements manually (xact, xact_x64)

first find the AppID of the Non-Steam Game we added for mo-redirect.exe. In a terminal run:

protontricks -l | grep -i "Skyrim - AVO"

Replace "Skyrim - AVO" if you have renamed the Non-Steam Game added earlier. The output should look something like below, though your AppID will differ from mine:

Non-Steam shortcut: Skyrim - AVO (3595949753)

With the AppID now known, install the required xact and xact_x64 packages into this Proton environment (use your own AppID from the command above):

protontricks --no-bwrap 3595949753 xact xact_x64

This may take a little time to complete, but just let it run the course. Your terminal may misbehave after running the protontricks/wine command - you can regain control by typing 'reset', even if you can't see the characters as you type.