Compare commits

...

2 commits

Author SHA1 Message Date
cf8b951f7b New Post: Oblivion using Lutris
All checks were successful
/ jekyll (push) Successful in 18s
2025-01-09 14:43:12 -05:00
f9935692d6 Fix life topic 2025-01-09 12:18:03 -05:00
3 changed files with 349 additions and 1 deletions

View file

@ -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.

View file

@ -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.

View file

@ -1,5 +1,5 @@
---
title: Life
title: life
tabtitle: "Life Posts"
---