Wabbajack on Linux via Wine - Omni-guides/Wabbajack-Modlist-Linux GitHub Wiki

This is all unofficial, please don't ask for support from Wabbajack Support staff in the way you would if you have an issue running Wabbajack on Windows, instead please seek assistance from the #unofficial-linux-help channel on the Official Wabbajack Discord - we will try and help there, but it is a best-effort level and is not guaranteed.
There have been many users involved at various stages of getting things this far, and a lot of trial and error and testing has been done before things were repeatable enough to form into a guide and offer it as an option for those running Linux as their primary OS - most recently Sulfur Nitride, blejusca, Ouroboros and trawzified on the Official Wabbajack Discord, but many, many more over the time. Thanks to all involved for getting this far!
As with my other guides, they may look longer and more involved than the steps actually are - this is to try and be as clear as possible, step by step.
Sulfur Nitride has produced a YouTube video covering the set up, you can watch it here!
Thanks to advancements with Wine, it now appears that running Wabbajack on Linux is a viable option - though please understand that there won't be any guarantee of 100% compatibility. As it stands, it's 'good enough' to be able to install a Wabbajack modlist. Starting with Wine v9.15, it seems that only a few steps are required to successfully run the Wabbajack application, login to Nexusmods via the GUI, then download and install a modlist. Please note for Arch you must use wine-staging, and not just wine, even if the wine package is >=9.15. Additionally for ubuntu/debian based distros, there are some additional steps needed to get a new enough version of wine, please see Additional Notes below.
I have created a bash script that should do everything for you, though it is still in alpha and needs more feedback from users of different distros and platforms. See further down this wiki page for the manual steps if you prefer.
The script will ask you where to store the wine prefix, so won't overwrite anything you already have on your system.
You can check out the source code here to see what it does, but to run it directly, open a terminal and run:
bash <(curl -s https://raw.githubusercontent.com/Omni-guides/Wabbajack-Modlist-Linux/main/binaries/WabbajackWine.sh)
The script will ask a few questions, but should be fairly straight forward. Any feedback on this automation, good or bad, will be most welcome!
If you prefer to set things up manually, you can follow these steps.
There are many ways to carry out the steps required, and more experienced users may have their preferred way (for example command line vs gui), but this guide should help those unsure, and at least give some guidance to others.
We have so far confirmed success on various distros, such as:
Arch based: Arch, CachyOS,
Fedora based: Fedora, Nobara, Ultramarine, Bazzite
Others: OpenSUSE Tumbelweed.
The same steps will likely work on other distros too! Please let me know if you have success on a distro that isn't listed here, so I can add it to the list. Due to shipping with an old versions of wine, Ubuntu and derivatives such as Pop_OS, Mint, etc, need some additional steps, outlined below in the Additional Notes section, until they update the version of wine provided.
For each step, I've tried to include both command line and GUI methods (you only need to do one or the other), though not all steps have both.
PLEASE NOTE: Use this guide at your own risk. Damage to your system caused by following the steps of this guide either correctly or incorrectly are done so with this understanding. You could always initially carry out the steps in a VM until you are familiar with the steps, to test for your distro without altering your base system.
Wine 9.15 or newer and winetricks, installed via your package manager. See below for Ubuntu-based distros, or if your distro also doesn't have wine 9.15 or above via the standard repos.
You can check which wine version your system has currently by running the following in a terminal:
wine --version
If the command returns wine-9.15 or above, you should be good to go. If not, check for system updates, or check if you have an alternative version of wine available via your package manager - for example wine-staging or wine-development.
You will also need to install winetricks from your system package manager, if it is not already installed.
While not required, I strongly recommend you create a directory to use for Wabbajack, just to keep things in a sensible place and together. You can use a file browser or cli to create this new directory - for this guide I will use /home/omni/Wabbajack, but the commands shown will use the $HOME variable, which should apply the command to your user home directory on your system.
mkdir -p $HOME/Wabbajack
There are two applications we need to get things running - Wabbajack itself, and the Edge Webview2 Installer (Evergreen Standalone Installer) that we will need to manually install into the wine prefix in the next steps. While it doesn't need to exist in our new Wabbajack directory, I tend to store the WebView installer there anyway, to keep things contained and easy to find.
Either download the above two applications via your browser, and copy them into the new /home/<user>/Wabbajack
directory, or run the following two commands in a terminal.
Download Wabbajack Application:
wget -O $HOME/Wabbajack/Wabbajack.exe https://github.com/wabbajack-tools/wabbajack/releases/latest/download/Wabbajack.exe
Download Microsoft Edge WebView2 Installer
wget -O $HOME/Wabbajack/MicrosoftEdgeWebView2RuntimeInstallerX64.exe https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/6d376ab4-4a07-4679-8918-e0dc3c0735c8/MicrosoftEdgeWebView2RuntimeInstallerX64.exe
A new, clean, wine >9.15 prefix is highly recommended. If you know what you are doing or have a reason you wish to hold on to your existing default wine prefix, then you will need to know how to handle multiple wine prefixes. For simplicity in this guide, I will just use the default wine prefix, which tends to be /home/<user>/.wine
To do this from command line, in a terminal, run the following command (adjusting as necessary for the prefix location on your system):
rm -rf $HOME/.wine
Alternatively, use the following steps to carry out via the winetricks GUI:
Start winetricks either from Apps menu:

or by running winetricks
in a terminal:

Once winetricks has opened, ensure "Select the default wineprefix" is selected, or select it, and then click OK.

On the next window, highlight "Delete ALL DATA AND APPLICATIONS INSIDE THIS WINEPREFIX" - you may have to scroll the window down a little:

A warning will pop up needing you to confirm the deletion of the prefix and contents:

Click continue, and winetricks will close, deleting the prefix in the background. The prefix has now been removed.
To create a new prefix from command line, issue the following command in a terminal:
wineboot
Alternatively, to do so using the winetricks GUI, re-run winetricks, either from the Applications menu, or terminal, as above. This time it will notify you that the Wine environment in /home/<user>/.wine
is being updated. This is a good sign, as it means the prefix cleaning succeeded.

It will also likely prompt you to install Wine-Mono, which you can confirm.

To avoid some of the graphical bugs that can be seen with Wabbajack when running via Wine, we can change the renderer used to display the application.
To do so via command line, run the following in a terminal:
winetricks renderer=vulkan
Alternatively via the GUI, start winetricks as above, and then again, with "Select the default wineprefix" highlighted, click OK.

This time, however, highlight "Change settings" and click OK

Scroll down the list of settings shown, until you see "renderer=vulkan", highlight it, and click OK.

This should return you to the previous options menu, don't close winetricks just yet.
Next we need to manually install WebView - this is needed to make certain aspects of Wabbajack function, and is integral to the function of the Nexus Login needed for Wabbajack to actually download mods.
To install this via command line, enter the following in a terminal (adjust as needed if you stored the installer in a different location):
wine $HOME/Wabbajack/MicrosoftEdgeWebView2RuntimeInstallerX64.exe
To do so via the GUI, start winetricks as above if it's not still open, select the Default Prefix option if needed, and then highlight "Run an arbitrary executable (.exe/.msi/.msu)" and click OK. This should bring up a file browser of your system, and will allow us to locate and run any .exe we want - in this case, the Edge Webview installer that we downloaded in Step 3.

Using the file browser, locate the installer for Webview - this should be in /home/<user>/Wabbajack
if you are following my steps exactly. Once located, highlight the installer .exe file, and click Open:

After a few second, the WebView2 installer window will appear, and run through the install process, and then it will close without any message. Keep winetricks open for the next step.

While it would be great to just set wine to mimic windows 10 or 11 and be done with it, leaving things like that will cause various issues with the Wabbajack interface, including the inability to complete the Nexus login step via the GUI. To avoid this, we need to set the overall Wine environment to be win7, yet keep the Wabbajack.exe application as win10.
The command to do this in a terminal is:
winecfg -v win7
Alternatively via the winetricks GUI, highlight "Run winecfg" and click OK. This will open up a new small window labelled "Wine configuration".

Staying on the Applications tab which should be selected by default, change the "Windows Version" at the bottom to be "Windows 7" instead of the default of Windows 10 or 11.

Do not close this window yet.
Even though we have set the overall wine environment to be win7, Wabbajack itself needs to remain as win10 for things to work. We therefor need to add Wabbajack.exe as an application, which will allow us to specify a non-default setting.
To do so via command line, we need to create a registry file. Run the following in a terminal (copy and paste the whole thing as one big command, then hit return):
cat <<EOF > $HOME/Wabbajack/WJApplication.reg
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Wine\AppDefaults\Wabbajack.exe]
"Version"="win10"
EOF
Lastly for this step, apply the registry setting:
wine regedit $HOME/Wabbajack/WJApplication.reg
Alternatively, to do this from the winetricks GUI, ensure you are still on the Applications tab from Step 8, click the "Add application" button near the bottom:

This will open up a Windows-style file browser. Navigate to your Wabbajack.exe file, which will be in Z:\home\<user>\Wabbajack\Wabbajack.exe
if you have been following these steps exactly.

Highlight Wabbajack.exe, and click Open, and you should now see Wabbajack.exe listed in the list of applications. Select Wabbajack.exe in the list, and change the "Windows Version" from "Use global settings" to "Windows 10", and then click apply:

You can now close winetricks by clicking the Cancel button a few times.
Lastly, Wabbajack inside the prefix doesn't know where to find your Steam Library when it's running via Wine, which means Wabbajack won't detect the game as being installed when you try to install a modlist. To ensure that Wabbajack can detect games installed in both the default Steam Library AND any additional Steam Library locations, we have to mirror and edit a specific directory path and file content.
Firstly, make the directory that is expected (you will need to adjust the path if your prefix is elsewhere):
mkdir -p "$HOME/.wine/drive_c/Program Files (x86)/Steam/config"
Next copy in your libraryfolders.vdf file from your Linux Steam install
cp "$HOME/.local/share/Steam/config/libraryfolders.vdf" "$HOME/.wine/drive_c/Program Files (x86)/Steam/config/."
With the file in the right place, you will need to edit the newly copied libraryfolders.vdf file (NOT THE ONE IN THE REAL STEAM LIBRARY) and change the paths of your Steam Libraries from Linux to Windows style. e.g.
"path" "/home/omni/.local/share/Steam"
would change to (please note the Z: Drive and double backslashes).
"path" "Z:\\home\\omni\\.local\\share\\Steam"
Do the same for any additional Steam Libraries in your libraryfolders.vfd file. e.g.
"path" "/mnt/storage/SteamLibrary"
would change to (please note the Z: Drive and double backslashes).
"path" "Z:\\mnt\\storage\\SteamLibrary"
Save the new libraryfolders.vdf file.
The Steam Library check is only done when Wabbajack starts, so if you have jumped ahead and launched Wabbajack, you'll have to close it an open it again. Also note that if you add or change Steam Libraries in the future, you will need to copy the libraryfolders.vdf file and edit the paths again.
That should be it as far as configuration is concerned. We can now run Wabbajack. You can do this by double-clicking the Wabbajack.exe file in your file browser:

or by running your equivalent of:
cd $HOME/Wabbajack ; wine $HOME/Wabbajack/Wabbajack.exe
And all being well, this will start Wabbajack, and it will run through the usual install:

Log into Nexus using the GUI options, just like you would on Windows.

At this stage, you should be good to just Wabbajack in the normal way. Either install a modlist from file, or browse the gallery to select one. There is currently a bug with some of the images not loading correctly, but that should be fixed in an upcoming update to Wabbajack.
When selecting the modlist Install and Downloads directory, keep in mind that this is from a Windows point of view, and that most likely the Linux Filesystem locations will show up as the Z: drive. I'd recommend creating a location to store the Wabbajack modlist and downloads specifically - For example, I use /home/omni/Games/Skyrim/<ModListName>
as the Install directory, and /home/omni/Games/WabbajackDownloads/Skyrim
as the Downloads directory.
If you install a list using the C: drive show in the file browser, the list will be installed inside your wine prefix location (e.g. /home/<user>/.wine
) and could get messy should you need to remove the prefix or redo this guide in future.
Once you're happy that Wabbajack is function correctly, you may want to create a Desktop launcher shortcut for our new Wabbajack-via-wine application.
Firstly, grab a copy of the Wabbajack icon to use:
wget -O $HOME/Wabbajack/Wabbajack.ico https://raw.githubusercontent.com/wabbajack-tools/wabbajack/main/Wabbajack.Launcher/Assets/wabbajack.ico
Next, create a new file in $HOME/Desktop called Wabbajack.desktop with the following contents (edit to suit your environment):
[Desktop Entry]
Name=Wabbajack
Exec=env HOME="$HOME" WINEPREFIX="$HOME/.wine" wine $HOME/Wabbajack/Wabbajack.exe
Type=Application
StartupNotify=true
Path=~/Wabbajack
Icon=/home/omni/Wabbajack/Wabbajack.ico
Unfortunately the standards for the .desktop file format require an absolute path for the Icon= entry, so it can't be shortened to $HOME or ~/ for ease, so you will need to specify the path in full for the desktop shortcut to have the Wabbajack icon.
You should now be able to start Wabbajack simply by double-clicking the icon on your desktop.
The above will get Wabbajack installed and running on your Linux system. It does not however, take care of any installation requirements to get the modlist itself running on Linux. You can see my other guides within this github for specific lists, or general steps to take, or you can use my Automated Installation Script to take care of things for you.
As mentioned above, functionality for Wabbajack via wine only really became reliable with the newer versions of Wine 9. There may be some success with versions earlier than Wine 9.15, but I'd still suggest using the newest that your distribution gives you easy access to.
For some though, the distro they are using only really has an old version of Wine available from the default repos. For example, Ubuntu-based distros that are using 22.04 as a base can only supply Wine 6 from the standard repos. You may have to check or research how to add newer versions of wine to your distro, but something like the following was used on Mint, as an example.
- Install the key and gpg needed for the winehq ubuntu repository:
curl -s https://dl.winehq.org/wine-builds/winehq.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/winehq.gpg > /dev/null
- Add the winehq Ubuntu repository to your system:
echo deb [signed-by=/usr/share/keyrings/winehq.gpg] http://dl.winehq.org/wine-builds/ubuntu/ noble main | sudo tee /etc/apt/sources.list.d/winehq.list
- Update apt to read and include the new repository:
sudo apt update
- Finally, install a newer version of wine from the new repository:
sudo apt install winehq-staging
This should result in a newer version of wine on your ubuntu-based system (and derivatives like Mint, Pop_OS) and allow you to get the above guide running.