Updated Skyrim AVO (markdown)

Omni-guides
2023-05-05 16:24:18 +01:00
parent 1bc6c8c356
commit 1c2df02566

@@ -1,16 +1,18 @@
![Game Banner](https://github.com/Omni-guides/Wabbajack-Modlist-Linux/blob/main/images/AVO/AVOBanner.png)
From the Modlist GitHub: Designed as a base to build your list off, [Animonculory Visual Overhaul (AVO)](https://github.com/The-Animonculory/Animonculory-Visual-Overhaul) focuses on bringing the vanilla games visual look up to modern standards without affecting gameplay. Featuring graphical enhancements, mandatory engine and bug fixes, tweaks, method patching and all the tools required, it is the perfect base to build uopn.
From the Modlist GitHub: _The premier graphical overhaul for Skyrim Special Edition, [Animonculory Visual Overhaul](https://github.com/The-Animonculory/AVO-NG) has been installed several thousand times and garnered a reputation for offering a perfect base to build your modded game from._
_The Next Generation (NG for short) version of Animonculory Visual Overhaul seeks to being the game up to modern standards without drastically changing the things that make Skyrim Skyrim. Featuring minimal tweaks to settlements, full creation club integration, a comprehensive graphical overhaul and no feature creep, it remains the perfect base to build off._
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/D1D8H8WBD)
## Instructions
**The following has been tested on AVO v3.1.1**
**The following has been tested on AVO NG v5.0**
AVO looks great on the deck, but it is on the heavy side for the hardware. I lock it to 30 FPS and it just about manages to hold that steady. CLose enough that I turn off the FPS counter and just play. Obviously not super smooth 60 FPS, but it really does look good, graphically.
AVONG looks great on the deck, but it is on the heavy side for the hardware. I lock it to 30 FPS and it just about manages to hold that steady. Close enough that I turn off the FPS counter and just play. Obviously not super smooth 60 FPS, but it really does look good, graphically.
These steps will need to be carried out in Desktop mode, but once complete you will be able to launch the Modlist and play the game from Game Mode. For the AVO Modlist, It DOES NOT require the paid [Anniversary Edition](https://github.com/The-Animonculory/AVO-AE) DLC update to run, however there is a specailised Anniversary Edition should you wish to use that. For this guide I did use the Anniversary Edition of the Modlist, so if you wish to use that also, you will need to own the Anniversary Edition of Skyrim, and have launched the vanilla Skyrim game to download the Creation Club content. The steps should be the same for the non-Anniversary Edition version of the Modlist.
These steps will need to be carried out in Desktop mode, but once complete you will be able to launch the Modlist and play the game from Game Mode. For the AVO NG Modlist, AVONG only supports English Steam versions of Skyrim AE, Anniversary Edition is not optional.
---
@@ -20,19 +22,19 @@ Once Wabbajack has successfully completed the download and installation of the M
Create Directory on **Internal Storage**:
```
mkdir -p /home/deck/Games/Skyrim/AVO
mkdir -p /home/deck/Games/Skyrim/AVONG
```
OR
Create Directory on **SD Card**:
```
mkdir -p /run/media/mmcblk0p1/Games/Skyrim/AVO
mkdir -p /run/media/mmcblk0p1/Games/Skyrim/AVONG
```
(Note: Valve plan to change the default mount point of SD Cards within SteamOS soon, I'll update this guide once that chance is in place)
Copy the Modlist directory from Windows into this newly created directory. There are many ways to do this. I chose to enable ssh on my Deck, 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 directory to /home/deck/Games/Skyrim/AVO/AVO-WJ - the reason for this structure is that it helps if you want to have multiple Modlists installed at the same time.
Copy the Modlist directory from Windows into this newly created directory. There are many ways to do this. I chose to enable ssh on my Deck, 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 directory to /home/deck/Games/Skyrim/AVONG/AVONG-WJ - the reason for this structure is that it helps if you want to have multiple Modlists installed at the same time.
**Do not include any spaces in the directory path at this level** - it does not play well with the Proton/mo-redirect/MO2 combination even with the spaces being escaped, for whatever reason..
@@ -40,20 +42,20 @@ Finally for this step, it's best to make sure that the newly copied files have s
Change the owner and permissions of the directory on **Internal Storage**:
```
sudo chown -R deck:deck /home/deck/Games/Skyrim/AVO/AVO-WJ
sudo chown -R deck:deck /home/deck/Games/Skyrim/AVONG/AVONG-WJ
```
```
sudo chmod -R 755 /home/deck/Games/Skyrim/AVO/AVO-WJ
sudo chmod -R 755 /home/deck/Games/Skyrim/AVONG/AVONG-WJ
```
OR
Change the owner and permissions of the directory on **SD Card**:
```
sudo chown -R deck:deck /run/media/mmcblk0p1/Games/Skyrim/AVO/AVO-WJ
sudo chown -R deck:deck /run/media/mmcblk0p1/Games/Skyrim/AVONG/AVONG-WJ
```
```
sudo chmod -R 755 /run/media/mmcblk0p1/Games/Skyrim/AVO/AVO-WJ
sudo chmod -R 755 /run/media/mmcblk0p1/Games/Skyrim/AVONG/AVONG-WJ
```
---
@@ -66,14 +68,14 @@ To download the version I have pre-built, run **only one** of the following comm
Download the pre-built mo-redirect.exe to **Internal Storage**:
```
wget https://github.com/Omni-guides/Wabbajack-Modlist-Linux/raw/main/mo-redirect.exe -O /home/deck/Games/Skyrim/AVO/mo-redirect.exe
wget https://github.com/Omni-guides/Wabbajack-Modlist-Linux/raw/main/mo-redirect.exe -O /home/deck/Games/Skyrim/AVONG/mo-redirect.exe
```
OR
Download the pre-built mo-redirect.exe to **SDCard**:
```
wget https://github.com/Omni-guides/Wabbajack-Modlist-Linux/raw/main/mo-redirect.exe -O /run/media/mmcblk0p1/Games/Skyrim/AVO/mo-redirect.exe
wget https://github.com/Omni-guides/Wabbajack-Modlist-Linux/raw/main/mo-redirect.exe -O /run/media/mmcblk0p1/Games/Skyrim/AVONG/mo-redirect.exe
```
This mo-redirect.exe is a wrapper app that basically points to the real location of your Modlist's ModOrganizer.exe and nxmhandler.exe. It does this based on the contents of two files that have to live inside a specific directory called modorganizer2. This directory has to exist in the same directory mo-redirect.exe lives. So we need to create a directory, and then create the two files mo-redirect.exe is expecting.
@@ -82,48 +84,48 @@ Run **only one** of the following commands in Konsole, depending on where you ar
Create the Directory on **Internal Storage**:
```
mkdir /home/deck/Games/Skyrim/AVO/modorganizer2
mkdir /home/deck/Games/Skyrim/AVONG/modorganizer2
```
OR
Create the Directory on **SD Card**:
```
mkdir /run/media/mmcblk0p1/Games/Skyrim/AVO/modorganizer2
mkdir /run/media/mmcblk0p1/Games/Skyrim/AVONG/modorganizer2
```
Create the two required files, firstly ModOrganizer.exe. Run **only one** of the following:
**Internal Storage**:
```
echo "/home/deck/Games/Skyrim/AVO/AVO-WJ/ModOrganizer.exe" > /home/deck/Games/Skyrim/AVO/modorganizer2/instance_path.txt
echo "/home/deck/Games/Skyrim/AVONG/AVONG-WJ/ModOrganizer.exe" > /home/deck/Games/Skyrim/AVONG/modorganizer2/instance_path.txt
```
OR
**SD Card**:
```
echo "/run/media/mmcblk0p1/Games/Skyrim/AVO/AVO-WJ/ModOrganizer.exe" > /run/media/mmcblk0p1/Games/Skyrim/AVO/modorganizer2/instance_path.txt
echo "/run/media/mmcblk0p1/Games/Skyrim/AVONG/AVONG-WJ/ModOrganizer.exe" > /run/media/mmcblk0p1/Games/Skyrim/AVONG/modorganizer2/instance_path.txt
```
and then nxmhandler.exe. Again, only **run one** of the following:
**Internal Storage**:
```
echo "/home/deck/Games/Skyrim/AVO/AVO-WJ/nxmhandler.exe" > /home/deck/Games/Skyrim/AVO/modorganizer2/instance_download_path.txt
echo "/home/deck/Games/Skyrim/AVONG/AVONG-WJ/nxmhandler.exe" > /home/deck/Games/Skyrim/AVONG/modorganizer2/instance_download_path.txt
```
OR
**SD Card**:
```
echo "/run/media/mmcblk0p1/Games/Skyrim/AVO/AVO-WJ/nxmhandler.exe" > /run/media/mmcblk0p1/Games/Skyrim/AVO/modorganizer2/instance_download_path.txt
echo "/run/media/mmcblk0p1/Games/Skyrim/AVONG/AVONG-WJ/nxmhandler.exe" > /run/media/mmcblk0p1/Games/Skyrim/AVONG/modorganizer2/instance_download_path.txt
```
At this stage, the /home/deck/Games/Skyrim/AVO directory (or SD Card equivalent) should contain the following two directories and one .exe file:
At this stage, the /home/deck/Games/Skyrim/AVONG directory (or SD Card equivalent) should contain the following two directories and one .exe file:
```
modorganizer2 mo-redirect.exe AVO-WJ
modorganizer2 mo-redirect.exe AVONG-WJ
```
with the modorganizer2 directory containing the two created files:
@@ -144,7 +146,7 @@ Click Browse, and then adjust the "Look in" and "File type" drop-down menus as i
![image](https://github.com/Omni-guides/Wabbajack-Modlist-Linux/blob/main/images/AVO/AVO_NonSteamBrowse.png)
Once added, edit the properties of the new mo-redirect.exe entry. You can give it a more sensible name - I used "Skyrim - AVO" for example, and 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 chose Proton 7.0-5 which was the latest stable Proton version at time of writing..
Once added, edit the properties of the new mo-redirect.exe entry. You can give it a more sensible name - I used "Skyrim - AVONG" for example, and 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 chose Proton 8.0-2 which was the latest stable Proton version at time of writing..
![image](https://github.com/Omni-guides/Wabbajack-Modlist-Linux/blob/main/images/AVO/AVO_ProtonCompatibility.png)
@@ -169,7 +171,7 @@ Close any error windows, or MO2 if it launched, and move on to the next step.
Some of the steps beyond this point will require the Protontricks app to help us get things configured correctly.
If you don't already have it installed, ProtonTricks can be installed via the Discover store as a flatpak:
If you don't already have it installed, Protontricks can be installed via the Discover store as a flatpak:
![image](https://github.com/Omni-guides/Wabbajack-Modlist-Linux/blob/main/images/shared/ProtontricksDiscover.png)
@@ -191,7 +193,7 @@ sudo flatpak override com.github.Matoking.protontricks --filesystem=/home/deck/G
### Step 5 - Start and Configure ModOrganizer2
Click play on Non-steam game - "Skyrim - AVO" (or whatever you renamed it to) in Steam, and all being well, a little terminal window will appear - this is the steam-redirector doing it's job. If the terminal window just pops up for a second and vanishes, double check the contents of the instance_path.txt and instance_download_path.txt files as above, and that they are present in the correct directory - e.g. /home/deck/Games/Skyrim/AVO/modorganizer2/instances_path.txt, or check that the Proton version you have selected is 7.0-5 (or whatever the latest Steam-supplied stable version is) and make sure that there are no spaces in the path - for some reason mo-redirect.exe doesn't like that, even if you escape the spaces in the text files.
Click play on Non-steam game - "Skyrim - AVONG" (or whatever you renamed it to) in Steam, and all being well, a little terminal window will appear - this is the steam-redirector doing it's job. If the terminal window just pops up for a second and vanishes, double check the contents of the instance_path.txt and instance_download_path.txt files as above, and that they are present in the correct directory - e.g. /home/deck/Games/Skyrim/AVONG/modorganizer2/instances_path.txt, or check that the Proton version you have selected is 8.0-2 (or whatever the latest Steam-supplied stable version is) and make sure that there are no spaces in the path - for some reason mo-redirect.exe doesn't like that, even if you escape the spaces in the text files. You could also try lowering the Proton version to 7.0-6.
![image](https://github.com/Omni-guides/Wabbajack-Modlist-Linux/blob/main/images/AVO/AVO_MOTerminal.png)
@@ -202,10 +204,10 @@ Depending on the path on Windows that you copied the Modlist files from, you may
To fix this, we just need to strip the now incorrect download directory from the ModOrganizer.ini file:
```
sed -i "/download_directory/c\download_directory =" /home/deck/Games/Skyrim/AVO/AVO-WJ/ModOrganizer.ini
sed -i "/download_directory/c\download_directory =" /home/deck/Games/Skyrim/AVONG/AVONG-WJ/ModOrganizer.ini
```
If you had this error, fix as above and then re-run "Skyrim - AVO" from Steam.
If you had this error, fix as above and then re-run "Skyrim - AVONG" 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:
@@ -214,12 +216,12 @@ Another error box will appear, complaining that it "Cannot open instance 'Portab
To fix this, we need to point MO2 to our new location. Click OK, and then Browse. The path we are looking for is:
```
/home/deck/Games/Skyrim/AVO/AVO-WJ/Game Root
Z:\home\deck\Games\Skyrim\AVONG\AVONG-WJ\Game Root
```
![image](https://github.com/Omni-guides/Wabbajack-Modlist-Linux/blob/main/images/AVO/AVO_BrowseToGameBlurred.png)
The splash screen for AVO should hopefully now display:
The splash screen for AVONG should hopefully now display:
![image](https://github.com/Omni-guides/Wabbajack-Modlist-Linux/blob/main/images/AVO/AVO_MO2Splash.png)
@@ -229,56 +231,72 @@ You may also get a pop-up asking if you want to Register for handling nxm links,
I usually just hit "No, don't ask again" as I wont be downloading any new mods via this version of MO2.
Getting close now. Next, we have to ensure that ModOrganizer2 is pointing to the correct **new** 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):
Getting close now. Next, we have to ensure that ModOrganizer2 is pointing to the correct **new** location for the required executable. In MO2, click the little sweeping arrow icon at the top, which will bring up the Modify Executables window:
![image](https://github.com/Omni-guides/Wabbajack-Modlist-Linux/blob/main/images/AVO/AVO_ModifyExecutablesCog.png)
For the AVO executable, we need to point MO2 at a file that doesn't actually exist (but it will exist, once GameRoot does it's thing when you click launch - and is then removed again when the game closes).
For the AVONG executable, we need to point MO2 at a the skse64_loader.exe file inside the supplied GameRoot folder for the Modlist.
The path you need for the AVO application will be:
The path you need for the AVONG application will be:
```
Z:\home\deck\Games\Skyrim\AVO\AVO-WJ\Game Root\skse64_loader.exe
Z:\home\deck\Games\Skyrim\AVONG\AVONG-WJ\Game Root\skse64_loader.exe
```
with a 'start in' path of:
```
Z:\home\deck\Games\Skyrim\AVO\AVO-WJ\Game Root
Z:\home\deck\Games\Skyrim\AVONG\AVONG-WJ\Game Root
```
![image](https://github.com/Omni-guides/Wabbajack-Modlist-Linux/blob/main/images/AVO/AVO_ModifyExecutables.png)
If you installed vanilla Skyrim to an SD Card, then you will have to replace with the equivalent path in /run/media/mmcblk0p1.
You can either type it in manually, or click the three dots button next to Binary entry and browse using the GUI:
![image](https://github.com/Omni-guides/Wabbajack-Modlist-Linux/blob/main/images/AVO/AVO_ModifyExecutablesBrowse.png)
If you installed the modlist to an SD Card, then you will have to replace with the equivalent path on the D: drive (alter this to match where you copied the Modlist to):
```
D:\Games\Skyrim\AVONG\AVONG-WJ\Game Root
```
---
### Step 6 - Disable ENB
** **STILL TO ADD** **
While ENB can work under Linux, it is likely going to badly impact performance on the Deck, so I would advise you to disable it. However, if you do want to, you can see my guide to do so [here](https://github.com/Omni-guides/Wabbajack-Modlist-Linux/wiki/WIP---ENB-&-Reshade-(In-Progress...))
To disable ENB for AVONG, we just need to rename the d3d11.dll file inside the Game Root directory for the modlist. In a Konsole terminal, run:
```
mv /home/deck/Games/Skyrim/AVONG/AVONG-WJ/Game Root/d3d11.dll /home/deck/Games/Skyrim/AVONG/AVONG-WJ/Game Root/d3d11.dll.orig
```
Or your equivalent location if you store the modlist on SDCard.
---
### Step 7 - Fix Missing Audio
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" (mo-redirect.exe) entry. The easiest way to accomplish this is to use ProtonTricks, which should be installed already from Step 4 earlier in this guide.
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 - AVONG" (mo-redirect.exe) entry. The easiest way to accomplish this is to use ProtonTricks, which should be installed already from Step 4 earlier in this guide.
Adding some of 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 "AVO" with the name of your Non-steam game entry, if you called it something else):
Adding some of 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 "AVONG" with the name of your Non-steam game entry, if you called it something else):
```
APPID=`protontricks -l | grep "AVO" | awk {'print $NF'} | sed 's:^.\(.*\).$:\1:'` ; protontricks $APPID xact xact_x64
APPID=`protontricks -l | grep "AVONG" | awk {'print $NF'} | sed 's:^.\(.*\).$:\1:'` ; protontricks $APPID xact xact_x64 && reset
```
Alternatively, **If you prefer to run this manually**, first find the AppID of the Non-Steam Game we added for mo-redirect.exe. In a terminal run:
```
protontricks -l | grep "AVO"
protontricks -l | grep "AVONG"
```
Replace "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:
Replace "AVONG" 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)
Non-Steam shortcut: Skyrim - AVONG (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):
@@ -295,7 +313,7 @@ This may take a little time to complete, but just let it run the course. Again,
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 "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 -c 'wine /home/deck/.local/share/Steam/steamapps/compatdata/'"$APPID"'/pfx/drive_c/vc_redist.x64.exe' $APPID
APPID=`protontricks -l | grep "AVONG" | 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 -c 'wine /home/deck/.local/share/Steam/steamapps/compatdata/'"$APPID"'/pfx/drive_c/vc_redist.x64.exe' $APPID && reset
```
![image](https://github.com/Omni-guides/Wabbajack-Modlist-Linux/blob/main/images/shared/VCRedistInstallStart.png)
@@ -339,7 +357,7 @@ Again here, when running wine commands in Konsole, it usually mangles the termin
### Step 9 - Set Resolution
Next, we should set the resolution and desired Max FPS so that the deck isn't doing more work than it needs to. There's no point in asking Skyrim to render at 1440p, and then have the game squeezed into an 800p screen on the deck. You can also decide to lock the FPS here, or you can leave it and lock the FPS/Refresh via the Steam Deck itself. To do this in MO2, we can click the Tools icon, followed by INI Editor":
Next, we should set the resolution and desired Max FPS so that the deck isn't doing more work than it needs to. There's no point in asking Skyrim to render at 1440p, and then have the game squeezed into an 800p screen on the deck. To do this in MO2, we can click the Tools icon, followed by INI Editor":
![image](https://github.com/Omni-guides/Wabbajack-Modlist-Linux/blob/main/images/AVO/AVO_INIEditor.png)
@@ -377,7 +395,7 @@ With NPC Voices fixed, and vcredist2022 installed, we should now be ready! Click
The game does take quite a bit of time to start. So long, in fact, that I thought it had crashed and I started killing processes etc. But just wait... It took my Steam Deck approximately 3 minutes and 45 seconds before I could interact with the in-game menu. Once it had loaded though, performance was as expected in the menus.
On Steam Deck, I limit FPS and Refresh rate to 30, and it does a pretty good job at maintaining that in the AVO Modlist, though I am still testing more performance tweaks. Increasing the size of the swap space available to the deck can definitely help with this. I would love to hear your feedback on performance of various lists, and any tweaks that you made!
On Steam Deck, I limit FPS and Refresh rate to 30, and it does a pretty good job at maintaining that in the AVONG Modlist, though I am still testing more performance tweaks. Increasing the size of the swap space available to the deck can definitely help with this. I would love to hear your feedback on performance of various lists, and any tweaks that you made!
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 ;)