diff --git a/_drafts/oblivion-full-dlc-playthrough.md b/_drafts/oblivion-full-dlc-playthrough.md new file mode 100644 index 0000000..81f80f6 --- /dev/null +++ b/_drafts/oblivion-full-dlc-playthrough.md @@ -0,0 +1,41 @@ +### My Mod List + +My most recent mod list had a few objectives. First, I love [Better +Cities](https://www.nexusmods.com/oblivion/mods/16513) and [Maskar's Oblivion +Overhaul (MOO)](https://www.nexusmods.com/oblivion/mods/42780), and so I'll use +them. Second, I'm not generally concerned with graphics improvements/overhauls. +Lastly, despite the first point, I wanted to play with a "Vanilla Plus" +emphasis. + +As before, I recommend reading through the [Oblivion Comprehensive Modding Guide +by Dispensation](https://www.nexusmods.com/oblivion/mods/49898). It covers how +to use all the above installed tools, and walks through mod recommendations for +every aspect of the game. The Unofficial Official Patches are essential and +always recommended. The various bug and engine fixes may or may not help out; +try them out and use the ones which do! + +My "vanilla plus" mod list weighs in rather light. _Better Cities_ and _MOO_ are +the big ones. The remaining mods with significant changes are [Ultimate +Leveling](https://www.nexusmods.com/oblivion/mods/49134), to fix some of +Oblivions leveling problems; [Combat +Additions](https://www.nexusmods.com/oblivion/mods/49939), to improve the combat +aspects of the game; and [Supreme +Magicka](https://www.nexusmods.com/oblivion/mods/12466), for some added magic. + +I use [Better Dungeons](https://www.nexusmods.com/oblivion/mods/40392), [Better +Forts](https://www.nexusmods.com/oblivion/mods/51897), the various ["Add Some +Flavor"](https://next.nexusmods.com/profile/gweow/mods) mods from gweow, [Lights +of Cyrodiil](https://www.nexusmods.com/oblivion/mods/46131), and [Legion +Forester Outposts Revistited](https://www.nexusmods.com/oblivion/mods/51512) to +spice up the world spaces a bit. A few of the _"Add Some Flavor"_ mods conflict +in small ways with _Better Cities_. + +I add [Thieves Arsenal](https://www.nexusmods.com/oblivion/mods/9655), and +[Bounty Quests Fixed and +Polished](https://www.nexusmods.com/oblivion/mods/48330) to add some additional +quests and flavor. + +To avoid fast travelling, I use [Cyrodiil Travel +Services](https://www.afkmods.com/index.php?/files/file/263-cyrodiil-travel-services/) +to get around easier; and [Traveler's +Tent](https://www.nexusmods.com/oblivion/mods/49654) for a mobile base of sorts. diff --git a/_posts/2025-01-09-oblivion-lutris.md b/_posts/2025-01-09-oblivion-lutris.md new file mode 100644 index 0000000..2751bd3 --- /dev/null +++ b/_posts/2025-01-09-oblivion-lutris.md @@ -0,0 +1,307 @@ +--- + tabtitle: "Oblivion on Linux: Lutris Edition" + title: "Oblivion on Linux: Lutris Edition" + topics: [gaming] + pub: 2025-01-09 + short_desc: "Modding Oblivion on Linux using Lutris and Wine, without Steam." +--- + +# Oblivion on Linux: Lutris Edition + +I love Oblivion. I've written before about setting up Oblivion on Linux using +the Steam version, Proton and a handful of aliases: [Part +1](/2021/11/20/oblivion-linux.html) covers most of the tooling setup, and [Part +2](/2021/12/09/oblivion-linux-2.html) covers some mods I liked. This setup +works, though it is a bit of a hassle to manage. It requires running the tools +individually through aliases from a terminal, which can be intimidating and +unfriendly. It also requires the Steam version of Oblivion. + +When I recently decided to return to Cyrodiil and close some gates, I wanted to +review my setup, and also my mod list. I discovered that Wrye Bash now does have +a native Linux application (as does LOOT!). However, I opted to stick with using +Wine and Windows versions of these applications due to a complication of modding +Oblivion in general: the case-sensitive nature of the filesystem. On Linux, the +filesystem is case-sensitive; on Windows, the filesystem is **not** +case-sensitive. For modding, this means if you extract an archive with a +`Data/meshes` folder, but your current setup has a `Data/Meshes` directory, on +Linux you'll end up with two directories: `Data/Meshes` _and_ `Data/meshes`. +There are solutions to this problem on Linux, namely using an EXT-4 filesystem. +I don't feel like reformatting my disks, and so I'll let Wine handle it. It may +mean a slight performance hit, but it's Oblivion - there are **always** +performance hits. If there aren't performance hits, then you haven't modded the +game enough yet. + +## Setup: Game + +I'll be using [Lutris](https://lutris.net) to handle installing and launching +the game. No more terminal aliases! I'm also using the [GOG version of +Oblivion](https://www.gog.com/en/game/elder_scrolls_iv_oblivion_game_of_the_year_edition_deluxe_the). +Lutris allows you to link your GOG account, and easily install games using Wine +(or native versions, if available!). In Lutris, I install the game to my +preferred destination, using the default GOG Wine install script. After +installation, I launch the game once to generate some initial configuration +files, and verify things work as expected. Before the next steps, there is a +significant change: the Wine version. In order to use the latest version of Wrye +Bash through Lutris, I had to change the Wine version from my Lutris default, +_wine-ge-8-26_, to my latest system version, 9.22. There seems to be a Windows +API which Wrye Bash relies upon which isn't handled well in Wine versions +previous to 9. + +Lutris can also install from downloaded GOG installers, without having to link +accounts. Make sure to download all the parts (for Oblivion, there are 3: a +small EXE, and two BIN files). When installing, make sure all the downloaded +files are in the same directory. In Lutris, click the `+` button to add a new +game, and select "Install a Windows game from an executable." Name the game as +you wish, and add identifier +`the-elder-scrolls-iv-oblivion-game-of-the-year-edition-deluxe` for the GOG +version. It'll pull down nice looking images. On the next screen, click the +`Install` button next to "Setup file", choose your desired directory, and then +select the EXE downloaded from the three files above. Lutris will create the +Wine prefix, and load the GOG Installer. Make note of the directory you chose +above for installation (default will be in the Lutris game library directory, +`Lutris Hamburger Menu` -> `Preferences` -> `Storage` -> _Game Library_), and +substitute it accordingly below. + +Assuming everything is setup and running, the last step here is to note where +Lutris installed the game. The path to the directory will differ, but the +directory structure should be similar to the below. The Lutris "Directory" +(Right-Click -> Configure) value will bring you to the Wine directory (with +`drive_c`), and from there will be the `GOG Games` directory (or possibly +renamed; this can be changed during the GOG install process), and then the +`Oblivion` directory. + +``` +Lutris + |-> gog + |-> the-elder-scrolls-iv-oblivion-game-of-the-year-edition-deluxe + |-> drive_c + |-> GOG Games + |-> Oblivion + |- Data + |- Oblivion.exe + |- ... +``` + +### xOBSE + +- [Project Link](https://github.com/llde/xOBSE) +- [Nexus Links](https://www.nexusmods.com/oblivion/mods/37952) + +The Oblivion Script Extender is required for many mods, and should be considered +essential for anything beyond a strict vanilla playthrough. Download the latest +version, and extract it to the `Oblivion` directory. When you launch Wrye Bash +(covered next), in the lower-left corner, on the icon bar, should be a green +checkbox. Hovering over it will notify you that OBSE is enabled. Clicking that +box will toggle OBSE. Generally, make sure it is enabled (checked). + +At this point, before any other tools, when you double-click/Play Oblivion, it +will launch the purely vanilla Oblivion that was installed above. To use OBSE, +right-click Oblivion in Lutris, choose _Configure_, and on the "Game Options" +tab, change the _Executable_ by clicking the button with three dots (labeled +"Select a file") to `obse_loader.exe`. Save the changes, and re-launch. + +## Pre-Setup: Tools + +Before setting up the modding tools, it is required to run Oblivion once. This +will generate the INI file. + +I also recommend adding the Wrye Bash `bash.ini` file detailed below before +running Wrye Bash for the first time. By declaring where the executable for +Oblivion is, Wrye Bash won't try to automatically find it, which can cause some +troubles or confusion. + +## Setup: Tools + +I'll be using the following tools. When possible, download the stand-alone +version of the tool. To make things easy, I use the `GOG Games` directory for +all the tools. + +``` +drive_c + |-> GOG Games + |- BethINI + |- LOOT + |- Mods + |- Mopy + |- Oblivion + |- TES4Edit +``` + +### Wrye Bash + +- [Project Link](https://github.com/wrye-bash/wrye-bash) +- [Homepage](https://wrye-bash.github.io/) +- [Nexus Link](https://www.nexusmods.com/oblivion/mods/22368) + +Mod manager, and **everything else** launcher in this setup. One of the most +exciting results of this setup is handling almost all modding management through +the Wrye Bash UI. From the Project Link, download the stand-alone executable +from the releases. I extract it to the `GOG Games` directory, which will create +a `Mopy` directory. Within that will be the executable, `Wrye Bash.exe`. Next, +in the `Mopy` directory, copy the `bash_default.ini` file to `bash.ini`. Make +the following changes (or replace `bash.ini` with this information): + +```ini +[General] +; -- Path to mod directory. +; These are relative to the Oblivion directory. +sOblivionMods=..\Mods +sBashModData=..\Mods\Bash Mod Data +sInstallersData=..\Mods\Bash Installers\Bash + +; -- Path to the Oblivion directory. +; "C:" here is drive_c on our filesystem. +sOblivionPath=C:\GOG Games\Oblivion + +; -- User directory stuff. +; "C:" here is drive_c on our filesystem. +; Make sure to replace YOUR-USERNAME with your username +sUserPath=C:\users\YOUR-USERNAME +sPersonalPath=C:\users\YOUR-USERNAME\Documents +sLocalAppDataPath=C:\users\YOUR-USERNAME\AppData\Local + +[Tool Options] +; -- TES4Edit +; Path is relative to the Oblivion directory. +sTes4EditPath=..\TES4Edit\TES4Edit.exe + +; -- TES4LODGen +; Path is relative to the Oblivion directory. +sTes4LodGenPath=..\TES4LodGen\Tes4LODGen.exe + +; -- LOOT +; Path is relative to the Oblivion directory. +sLOOT=..\LOOT\LOOT.exe +``` + +In this configuration, the relative paths are relative to the `Oblivion` +directory (where the game executable is). For all remaining tool setup, modify +the paths in this configuration to match the paths for the tool executable (or, +rename the tool directories, which is what I prefer). + +This is where the magic happens: within Lutris, right-click Oblivion and choose +_Configure_. On the "Game Options" tab, change the _Executable_ by clicking the +button with three dots (labeled "Select a file"), and choose the `Wrye Bash.exe` +executable in the `Mopy` directory. Save the configuration, and +double-click/Play Oblivion. This time, Wrye Bash will start up (**Remember:** +This will not work on versions of Wine older than 9!). + +At this point, when you want to play Oblivion, you will open Lutris, and launch +"Oblivion." This will launch Wrye Bash. You can then click the Oblivion icon in +the lower-left icon bar to launch the game. As additional tools are configured, +they will appear in the lower-left icon bar (everything except BethINI). To use +the tool, you'll run it from Wrye Bash. + +### LOOT + +- [Project Link](https://github.com/loot/loot) +- [Homepage](https://loot.github.io/) + +LOOT handles mod load order. Another application with a native Linux version. I +had previous run into some bugs, but everything looks to work as expected now. +Despite that, I still download and use the stand-alone Windows version (the +archive from the releases, not the EXE). I extract it to my `GOG Games` +directory, and rename the directory (or edit the `bash.ini` file) so the +executable is where my Wrye Bash configuration expects it. + +If setup properly, when you run Wrye Bash, in the lower-left corner will be a +bar full of icons, one of which will be a little treasure chest. Clicking it +will launch LOOT. From there, sort the order, and then close LOOT. Wrye Bash +will refresh, and you can continue on. LOOT will also notify you of any "dirty" +mods, which can be cleaned using TES4Edit (see below). + +### TES4Edit + +- [Project Link](https://github.com/TES5Edit/TES5Edit) +- [Homepage](https://tes5edit.github.io/) +- [Nexus Link](https://www.nexusmods.com/oblivion/mods/11536) + +I'm still not a mod creator, so my uses of TES4Edit are limited to "quick +cleaning." From the project page or Nexus, download the latest version, and +extract the archive to the `GOG Games` directory. Rename the directory or edit +the `bash.ini` file so Wrye Bash can find it; restart Wrye Bash to verify. Wrye +Bash doesn't include a dedicated short-cut for the "Quick Auto Clean" option, +instead you have to right-click on the TES4Edit short-cut (or the TES4LodGen +short-cut), and choose "Quick Auto Clean". Choose the mod to clean from the +list, click OK, and let the program do its work. + +### TES4LODGen + +- [Project Link](https://github.com/TES5Edit/xLODGen) +- [Homepage](https://tes5edit.github.io/docs/16-xLODGen.html) +- [Nexus Link](https://www.nexusmods.com/oblivion/mods/15781?tab=description) + +This will generate LOD files ahead of time, allowing for more distant objects to +be shown as you adventure around Cyrodiil. Download the archive, and extract it +to where Wrye Bash expects it, either changing the directory name or updating +the `bash.ini` file accordingly. After mod installation is complete, click the +icon from the icon bar to generate the LOD files. + +### BethINI + +- [Nexus Link](https://www.nexusmods.com/oblivion/mods/46440) + +`BethINI` helps manage the "oblivion.ini" file, providing sane options and a +wizard for configuration. This is the only tool that is not run from Wrye Bash. +However, it's still pretty easy to work with. Download the stand-alone archive, +extract it to the `GOG Games` directory. + +To run the tool, in Lutris single-click on Oblivion. A bar should appear with +some additional details about Oblivion, including some buttons: one will say +"Play", and one will look like a wine glass; each will have a small button with +an up-facing arrow. Click the arrow button next to the wine glass button, and +select "Run EXE inside Wine prefix." Navigate into `drive_c`, then `GOG Games`, +and into the directory you just set up for BethINI, and select `BethINI.exe`. + +Wrye Bash does allow for custom application short-cuts, but it requires creating +a Windows shortcut `.lnk` file, and I cannot figure out an easier way to do +that than to just run it from Lutris. + +## Post-Setup: Tools + +Verify each tool runs as expected. Conveniently, all the Bethesda DLCs are +"dirty," so LOOT will notify you, and then you can clean them. Run BethINI, +generate LOD files, and run the game from Wrye Bash. Praise Todd. + +## Mods + +Wrye Bash on Windows can install mods from an archive, but with this setup that +functionality is unreliable. Instead, I extract the mod archives manually before +installing them with Wrye Bash. For each mod that I want to use, I'll create a +directory in the `Mods -> Bash Installers` directory, and extract the mod +archive into that directory. Then, within Wrye Bash, on the "Installers" tab, I +can install mods as expected. + +For actually using Wrye Bash, I recommend [laulajatar's +guide](https://www.shrine-of-kynareth.de/wrye-bash-for-beginners-part-1-installation-and-installers-tab). +Obviously, you can skip the installation steps for both Wrye Bash and OBSE. +There is also the [Wrye Bash +Manual](https://wrye-bash.github.io/docs/Wrye%20Bash%20General%20Readme.html). + +## Lutris Setup: Problems + +The significant problem with this setup is no way to alt-tab away from the game. +To make things even more inconvenient, playing in a windowed mode also doesn't +work, and shows only a black screen with audio. I haven't done an exhaustive +trial of options and mods yet to try and fix this, because it isn't a major +problem to me. + +The second inconvenience is as I mentioned above, with Wrye Bash not installing +mods directly from archives. Again, not a major problem to me. + +I suspect that both of the problems can be resolved with some Wine tweaks. + +## Lutris Setup: Benefits + +What this setup gets right is ease of use, and ease of replication. All tools +(except BethINI, for now) and the game are run from Wrye Bash. No juggling +multiple application entries, aliases, or special setups. Plus, all tools, mods, +and the game itself are all within the Lutris directory, making multiple setups +a breeze: just copy the directory. In Lutris, you can then duplicate the entry +(Right-Click -> Duplicate), and edit the executable (Right-Click -> Configure -> +"Game options" tab -> _Executable_) to point to the new directory. + +## Lutris Setup: Next-Steps + +The most useful next step would be automating this process, by building a Lutris +install script. Also, resolving the alt-tab and windowed problems above.