Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
Steven committed Apr 26, 2019
1 parent 48934c6 commit 31aaf55
Show file tree
Hide file tree
Showing 8 changed files with 36 additions and 28 deletions.
43 changes: 20 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,51 +3,48 @@ A simple guide to how to get up and running with mods in Skyrim SE on Linux

### Base Install
0. Make sure you have [all requirements](https://github.com/ValveSoftware/Proton/wiki/Requirements) fulfilled to use Proton via Steam Play. Proton requires the latest software.
1. Enable Steam Play via Steam. I am using `3.16`. Yes, `4.2-3` also works but it's not recommended (see below)
1. Enable Steam Play via Steam. You must use 3.16-4.
2. Download Skyrim SE
3. Check the game runs.
4. Download and run [FAudio Builds](https://github.com/Kron4ek/FAudio-Builds/releases/download/19.02/faudio-19.02.tar.xz) from terminal. The command will be something like: `WINEPREFIX="/home/[USER]/.steam/steam/steamapps/compatdata/489830" ./wine_setup_faudio.sh` *Do not* install the latest build. We neet 19.02 for Proton 3.16. Newer version will break things.
4. Run `install_audio.sh` This will patch the audio to work.
5. Base Install of Skyrim is finished. Check if everything is working as it should.
6. Enjoy the game as vanilla.

### Modding
1. You can simply copy mods into the data directly and active them in game via the 'mods' button in the main menu. The game tries to make you sign in when you click the 'mods' bottom but just hit the home key to get to your load order.
2. Please note that on Linux files and folders are **case sensitive**. Some modders use `textures` or `Textures`. Keep this in mind when installing mods. For consistency I put everything in lower case folders. Wine/Proton/Linux doesn't seem to care just as long as everything is consistent.
3. Wrye Bash actually runs very well under wine can be used to install, sorting and activation of mods.
1. You can simply copy mods into the data directly and active them in game via the 'mods' button in the main menu.
2. Please note that on Linux files and folders are **case sensitive**. Some modders use `textures` or `Textures`. Keep this in mind when installing mods. For consistancy I put everything in lower case folders. Wine/Proton/Linux doesn't seem to care just as long as everything is consistant.
3. Wrye Bash is acutally runs very well under wine can be used to install, sorting and activation of mods.
4. If you don't need or want to run any SKSE64 mods, then you good to go.

### SKSE64
0. Prepare to get your hands dirty. We need to manually patch Proton's files in order to make SKSE64 work. The process is basically the same as this [post](https://www.reddit.com/r/SteamPlay/comments/9uro22/fallout_4_how_to_get_fallout_4_script_extender/). Credit to the author.
1. [Download](https://skse.silverlock.org/) SKSE 64.
2. Copy all .dlls and .exe to Skyrim folder. **Not Data Folder**. The folder with SkyrimSE.exe. (typical SKSE64 install)
3. Install bbe. `sudo apt install bbe`
4. Download and run [this script](https://raw.githubusercontent.com/spooknik/SkyrimSE-Linux-Modding/master/patch_proton.sh). It will patch your proton. Please note, you will have to edit the script if you are not using Proton 3.16.
5. Right on Skyrim SE in Steam and Go to `properties`.
6. Click `Set Launch Options`
7. Paste this `xterm -e bash -c "echo Not launching Skyrim SE due to Steam Properties settings. Run \"%command%\" to launch vanilla Skyrim SE; exec bash"` Click Okay.
8. Launch Skyrim SE.
9. Xterm should launch. You can now launch SKSE64 and other things from here.
10. Run command `~/".steam/steam/steamapps/common/Proton 3.16/proton" run skse64_loader.exe` to launch Skyrim SE via SKSE64.
11. Open console once in game and run `getskseversion`
12. If it reports something and doesn't error, then you've succeeded.
13. You can launch modding programs from Xterm to install and setup mods. `~/".steam/steam/steamapps/common/Proton 3.16/proton" run skse64_loader.exe` or `~/".steam/steam/steamapps/common/Proton 3.16/proton" run SSEEdit.exe`
1. Quit Steam
2. Run `install_proton.sh`
3. Restart Steam and go to Skyrim SE's properties.
4. Click the `Force the use of a specific Steam Play compatibility tool`. Select `Proton 3.16-4 for Skyrim SE` NOTE: Skyrim SE will now run with a custom local version of Proton that will work with SKSE64. You must use this version for SKSE64 modding
5. Click `Set Launch Options`
6. Paste `xterm && echo %command% >/dev/null` NOTE: This is a little trickey to get Steam to launch xTerm when you click Play on the game. You can replace `xterm` with `skse64_loader.exe` to directly launch SKSE64 from Steam.
7. Play Skyrim SE. A terminal should launch.
8. Launch the game with SKSE: `~/".steam/root/compatibilitytools.d/skyrim-proton/proton" run skse64_loader.exe`
9. Once at the main menu check that SKSE is loaded: `getskseversion`. It should return a version number for SKSE.
10. Close Skyrim SE and xTerm should still be open. You can run all of your modding tools here. For example: `~/".steam/root/compatibilitytools.d/skyrim-proton/proton" run SSEEdit.exe` or `~/".steam/root/compatibilitytools.d/skyrim-proton/proton" run Mopy/Wrye Bash.exe`.


### Why not 4.2-3?
* Yes it does work for the most part. But I encountered problems with the audio. Installing FAudio Builds on `4.2-3` fixed the sound problems with NPC voices, but made the audio completely cut out and not come back when going through a loading screen.
* Because we are patching Proton to get SKSE to work, running on `4.2-3` will not be stable. Every time a proton update is pushed the files need to be patch again. Running on `3.16` is a better option because there will (probably) not be any more updates.
* As far as I can tell there is no advantage to using `4.2-3` in terms of performance or compatibility.

## Good To Know
* So far as I can tell all SKSE plugin mods (.dll) work as they should. Just add them as you normally would. Engine Fixes also works.
* So far as I can tell all SKSE plugin mods (.dll) work as they should. Just add them as you normally would.
* Untested SkyProc. SkyProc will likely involve some trickery with java.
* Switching Proton versions is not a good idea. It will likely cause problems because things will be reset. So only run things run one proton version. For example: `~/".steam/steam/steamapps/common/Proton 4.2/proton" run Wrye\ Bash.exe` then `~/".steam/steam/steamapps/common/Proton 4.2/proton" run skse64_loader.exe` **not** `~/".steam/steam/steamapps/common/Proton 4.2/proton" run Wrye\ Bash.exe` then `~/".steam/steam/steamapps/common/Proton 3.16/proton" run skse64_loader.exe`
* Swiching Proton versions is not a good idea. It will likely cause problems because things will be reset. So only run things run one proton version. For example: `~/".steam/steam/steamapps/common/Proton 4.2/proton" run Wrye\ Bash.exe` then `~/".steam/steam/steamapps/common/Proton 4.2/proton" run skse64_loader.exe` **not** `~/".steam/steam/steamapps/common/Proton 4.2/proton" run Wrye\ Bash.exe` then `~/".steam/steam/steamapps/common/Proton 3.16/proton" run skse64_loader.exe`
* Sometimes Skyrim will hang on exit. You can `alt` + `tab` out and enter `ctrl` + `c`. This might help. Otherwise in most DE you will eventually get the option to force quit. There's 1 in 5 chance of this happening to me.
* At time of writing (April 2019) **DynDOLOD 2.59 will not fully work** under wine. It used a small program called Texconv to build the .dds textures. This program is broken under Wine. You can still use DynDOLOD, but you won't be able to generate tree LOD textures and you need to output everything in R8G8B8/R8G8B8A8. [Bug](https://github.com/Microsoft/DirectXTex/issues/128) with Wine described here. My conversation with sheson is [here.](https://forum.step-project.com/topic/13894-dyndolod-beta-for-skyrim-special-edition-and-skyrim-vr-259/?p=234663).
* At time of writing (April 2019) **DynDOLOD 2.59 will not fully work** under wine. It used a small program called Texconv to build the .dds textures. This program is broken under Wine. You can still use DynDOLOD, but you won't be able to generate tree LOD textures and you need to output everything in R8G8B8/R8G8B8A8. [Bug](https://github.com/Microsoft/DirectXTex/issues/128) with Wine described here. My convsation with sheson is [here.](https://forum.step-project.com/topic/13894-dyndolod-beta-for-skyrim-special-edition-and-skyrim-vr-259/?p=234663).

## Tips and Tricks
* If NPC voices stop working, just re-run the FAudio Builds script.
* Audio can be buggy. In Xterm before launching the game, you can run: `winetricks sound=alsa` to try to switch to ALSA sound. Or `winetricks sound=pulseaudio` for Pulse Audio. It may differ from system to system.
* `shift`+`ins` to paste things into xterm
* Proton will spit out a massive amount of the same error: `ERROR: ld.so: object '/home/steven/.steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.`
* Wrye Bash plays nice with symbolic links. Meaning you can just link all your downloaded mods to Wrye Bash's Bash Installers folder.
* For me, Wrye Bash crashes when you try to click and drag plugins in your load order. You can use `ctrl` + `up` or `down` to move plugins around.
* For me, Wrye Bash crashes when you try to click and drag plugins in your load order. You can use `ctrl` + `up` or `down` to move plugings around.
5 changes: 0 additions & 5 deletions Tested-SKSE64-Plugins

This file was deleted.

File renamed without changes.
Binary file removed bbe
Binary file not shown.
Binary file removed faudio-19.02-proton-3.16.tar.xz
Binary file not shown.
4 changes: 4 additions & 0 deletions install_audio.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/bash
echo "Installing FAudio for Skyrim SE"
cd faudio-19.02
WINEPREFIX="$HOME/.steam/steam/steamapps/compatdata/489830" ./wine_setup_faudio.sh
7 changes: 7 additions & 0 deletions install_proton.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash
DIRECTORY=$HOME/.steam/root/compatibilitytools.d/
echo "Installing Proton For Skyrim SE"
## Unzip to temp
unzip skyrim-proton.zip -d /tmp/
##Install
mv /tmp/skyrim-proton $DIRECTORY
5 changes: 5 additions & 0 deletions uninstall.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash
DIRECTORY=$HOME/.steam/root/compatibilitytools.d/
echo "Uninstalling Proton For Skyrim SE"
rm -rf $DIRECTORY/skyrim-proton
echo "Uninstalled"

0 comments on commit 31aaf55

Please sign in to comment.