0 of 0

File information

Last updated

Original upload

Created by

Lavallet

Uploaded by

Lavallet

Virus scan

Safe to use

Tags for this mod

About this mod

This simple guide will allow you to achieve what you've long dreamed of: making Oblivion smooth, stable, and capable of handling hundreds of your favorite mods.

Requirements
Permissions and credits
Introduction

Hi everyone. I know there're a lot of guides online about making Oblivion playable on modern systems, but many are incomplete or outdated suggesting to use things like Oblivion Stutter Remover. In this guide, I won't cover installing mods since that's already well explained in Dispensation's excellent Oblivion Comprehensive Modding Guide (OCMG). I recommend checking that out first before, as my guide assumes you already know the basics.

Oblivion came out in 2006 and has become quite dated technically. Naturally, you might want to improve it with graphical mods like Oblivion Upscaled Textures (if you're interested, I recommend the BSA version from here). However, once you start modding Oblivion, you quickly encounter its biggest issue – the outdated 32-bit game engine. No matter how powerful your system is, you'll run into the engine's limitations, which can't handle the number of mods needed to update the game for 2024. You'll experience constant crashes and stuttering, especially if you want to play in 4K with high FPS. It might seem almost hopeless, and you might be tempted to give up, but that's not our way! Follow this guide to make Oblivion smoother and more stable than ever before.


About Mod Management

I recommend using Mod Organizer 2 for managing all your mods and making any modifications to the original game files. This will help keep your game installation folder clean and make it easy to configure, install, and reinstall mods while experimenting with your mod list.

I also recommend installing the Root Builder plugin for Mod Organizer 2 (this plugin can be installed directly from withing MO2 through the built-in Plugin Finder). It allows you to manage files not only in the Data folder, like regular MO2, but also in the game's root folder next to the exe file (such as the various DLL libraries we will use in this guide). If you prefer, you can install all the files mentioned here directly into the game folder. The choice is yours.


Installing Oblivion Script Extender (OBSE)

The Oblivion Script Extender, or OBSE for short, is a tool used by many Oblivion mods that expands scripting capabilities and adds additional functionality to the game.

You can download it here. Installation process is quite straitforward.


  • Manual installation: Copy obse_1_2_416.dllobse_editor_1_2.dllobse_steam_loader.dll and the Data folder to your Oblivion directory.⠀
  • MO2 w/ Root Builder: Download and install the mod through MO2. The folder structure should look like this:

Installing OBSE plugins

Now that we have installed OBSE, we can harness its full power through numerous plugins developed by the modding community over the years. These plugins can introduce new gameplay features, resolve various technical issues, and unlock new technical possibilities in the game. Currently, we'll be focusing on plugins from the second and third categories. You can install everything else later on your own (I recommend consulting the guide by Dispensation mentioned earlier for recommended options).

Below are the plugins we need for now. Install all of them (either manually or through MO2). In the following step we'll configure them.



Configuring EngineBugFixes

Open OBSE\Plugins\EngineBugFixes.ini in a text editor and adjust the following values:

bInstallBloodDecalMemLeakFix=0
bInstallInitRendererFix=0
bInstallShadowCameraFix=0
bInstallShutdownCTDFix=0


These are some settings that might interfere with fixes from other plugins, so I disable them.

Configuring Oblivion Reloaded Combined

Open OBSE\Plugins\ORC.ini in a text editor and adjust the following values:

[Main]
Welcome=0 ; Disables the in-game pop-up welcoming message that appears after loading a save and explains how to configure the mod. You can access this menu at any time using the Ctrl + C shortcut

[Patches]
Grassmode=1 ; Greatly increases the drawing distance of grass
InjectorPatch=1 ; Not sure if this is required, but I set it anyway just in case
DXVKPatch=1 ; Required for later use with DXVK
MainMenuRandomizer=0 ; Removes changes to the in-game main menu cinematic
Antialiasing=1 ; Allows you to use in-game antialiasing alongside HDR

[FPS]
Enable=1 ; Enables the FPS management though ORC
FPSCAP=120 ; Set your maximum desired FPS here

[Memory]
HeapEnable=1 ; Enables the memory management
HeapMode=6 ; Memory management algorithm; 6 works best
HeapSize=1024


These are the main settings. If you have a powerful PC, you can also enable various shaders and effects here. For my setup (i9 13900K with RTX 4090), I have configured the following:

[Main]
AnisotropicFilter=16

[PotatoPC]
SimpleShaders=0

[Shaders]
GodRays=1
DepthOfField=1
AmbientOcclusion=1
SMAA=1
Underwater=1
WaterLens=1
Rain=1
Snow=1
Fog=1


The names of these settings are quite self-explanatory, so I won't provide a detailed description.

Configuring Oblivion Display Tweaks

Open OBSE\Plugins\oblivion_display_tweaks.ini in a text editor and adjust the following value:

[Main]
bBorderless = 0 ; Enabling this automatically disables in-game V-Sync, which is required for correct functionality

[TickFix]
bFPSFix = 0 ; There appears to be a bug with this specific fix enabled, where you actually move and attack faster the higher your frame rate is


For this mod to function correctly, enable V-Sync and FullScreen mode in your game settings. You can do this through the game launcher or directly in Oblivion.ini; see the corresponding section below for details.

That's it; the rest of the OBSE plugins don't require any additional configuration.


Installing DXVK

DXVK allows to translate DirectX 9 API calls used by older games like Oblivion into modern Vulkan API calls, optimizing performance by leveraging multi-core CPUs for better GPU utilization. This can lead to significant performance boosts in old games.

Download the latest version of dxvk-gplasync (dxvk-gplasync-vx.x.x-x.zip). Unpack the archive and copy the d3d9.dll from the x32 subfolder to your game folder (next to the game exe file). Then, download this text file and save it next to the d3d9.dll as dxvk.conf.  Alternatively, you can install files through MO2 the same way as before (through the 'Root' subfolder). Open dxvk.conf and make the following changes:

Insert these two new lines at the very beginning:


dxvk.enableAsync = true
dxvk.gplAsyncCache = true


After that adjust the following settings (uncomment them first by removing the '#' symbol at the beginning of the lines, use Ctrl + F to find specific settings):

d3d9.textureMemory = 0 ; This one is VERY important

Applying LAA Patch

By default, Oblivion is limited to about 1.8GB of RAM address space, and once it reaches that limit, you can expect a crash to desktop (CTD). However, there's now a way to increase this limit to 3.5GB using the LAA Patch, also known as the 4GB Patch (LAA stands for Large Address Aware). This limit can be further overcomed with ENBoost as mentioned before.

Download it here.

After downloading, extract the archive and run the included executable. Select the game's executable path and click "Open". A prompt confirming successful patching will appear; click "OK". The patch automatically creates a backup of the patched Oblivion.exe inside the game folder. If you're using MO2 with the Root Builder plugin, this backup may cause issues. Move it to another location or add an exclusion rule "*.Backup" in the Root Builder settings.

Improved Memory Management (Optional)

If you don't plan to install many graphical mods or use heavy overhauls, you can skip this section. You'll get slightly better performance with less stutters when using just DXVK without tweaks/components listed in this section. You can always return to it later after thorough testing if you find that the game crashes due to a lack of memory (check oblivion_d3d9.log for entries like 'dxvk memory allocation error').

There are two ways to avoid memory overflow errors with our setup. Use either of them and see which one gives you more performance and stability.

1. Tweaking Oblivion Reloaded Combined

Open OBSE\Plugins\ORC.ini in a text editor and adjust the following values:

[Memory]
TexturePatch=1


2. Installing ENBoost

ENBoost is an 64-bit optimized patch for heavily modified games. It allows Oblivion to more efficiently utilize memory and overcome the 3.5GB RAM limitation typical of 32-bit applications. According to the description, this can increase the game's RAM usage to up to 10GB. Using ENBoost together with DXVK may lead to the increased loading times.

Rename d3d9.dll that came with DXVK from the previous step to d3d9_dxvk.dll

If you're using MO2 with Root Builder, the folder structure for DXVK will look like this:


Then download ENBoost for Oblivion. Unpack the archive and copy the d3d9.dll, enbhost.exe and enblocal.ini from the 'WrapperVersion' subfolder to the game root folder.


Alternatively, you can install this with MO2 the same way as before:


Open enblocal.ini and adjust the following settings:

[PROXY]
EnableProxyLibrary=true
ProxyLibrary=d3d9_dxvk.dll

[MEMORY]
DisableDriverMemoryManager=false
EnableUnsafeMemoryHacks=true
ReservedMemorySizeMb=1024 ; if your GPU is low on VRAM, you can try 512 here
VideoMemorySizeMb=24576 ; set to your VRAM size in MB, mine is 24576**


** Actually there's more complicated algorythm for calculating this value, but I want to keep things simple. You can read about it here.

Unfortunately, ENBoost is not compatible with ENBSeries, so you can't use ENB graphic presets with it. You might try the latest version of ENBSeries (v0.500) for Oblivion, which includes some built-in memory management functions. However, these functions are limited compared to ENBoost and won't allow you to bypass the RAM limit. I don't use ENB presets, so it's not a problem for me.


Installing DXWrapper (Optional)

DxWrapper is a .dll file designed to wrap DirectX files and resolve compatibility issues in older games. We'll use it to enable improved error handling, similar to how NVAC - New Vegas Anti-Crash works for Fallout: New Vegas. If you experiencing frequent crashes, it might help with some of them. If you don't, I'd recommend you to skip this section, as some believe it may corrupt your saves.

Download the latest version of DXWrapper (dxwrapper.zip). Unpack the archive and copy the winmm.dll from the 'Stub' subfolder, as well as dxwrapper.dll and dxwrapper.ini, to your game folder (next to the game exe file).

If you're using MO2 with Root Builder, you can alternatively install it there instead of copying directly to the game folder. This is done by creating an empty mod (right-click in the mod list -> All mods -> Create empty mod above -> Name it -> A new mod will appear in the list; right-click on it and select 'Ignore missing data,' then right-click again and choose 'Open in Explorer'). Copy the mentioned DXWrapper files into the 'Root' subfolder of this mod like this:



Open dxwrapper.ini with a text editor and set the following values:
DisableGameUX = 1
HandleExceptions = 1


You can read here what they do.

BSA Decompressing (Optional)

Download Oblivion BSA Decompressor.

From the description: "BSA files are archives used to store game assets, they can be both compressed and uncompressed. Back when Oblivion was released in 2006 for old generation consoles the overall size occupied by the game mattered so vanilla BSA archives use zlib compression to reduce overall assets size on the disk. However, assets need to be decompressed by the game on the go which takes extra time leading to longer loading times and additional stutter when moving in exterior worldspaces while cells being loaded in background.

BSA Decompressor recreates BSA archives without zlib compression, so the game is limited only by your hardware disk system performance. All vanilla assets remain in uncompressed BSA archives."

Run the decompressor and point it to the Oblivion installation folder.


Plugin Decompressing (Optional)

There's the same thing as above but for game plugins (esp, esm). You can read about it here.

Tweaking Oblivion.ini (Optional)

Make the following changes to your Oblivion.ini:

[Display]
bFull Screen=1 ; Enables full screen mode (required for correct functionality)
iPresentInterval=1 ; Enables in-game V-Sync mode (required for correct functionality)
fDefaultFOV=85.0000 ; Set your desired FOV value here


If you are using MO2, your Oblivion.ini is stored inside your game instance folder, not in your Documents folder, and can be accessed here:



I might add more recommended ini settings to this section later.

Afterword

When you have installed everything listed above and finished configuring it, you should install all the unofficial patches. This is really a mandatory prerequisite whether you're going to play the vanilla game or install other mods, as they fix thousands of bugs.

After that you can proceed to installing mods that add new content and improve visual aspects. I won't delve into this topic here as it is quite subjective. There are many good guides available for this, for example:

P.S. Sorry for possible mistakes. English is not my native language.

Thanks

slowpard, for the suggestion about using ORC instead of ENBoost to overcome memory overflow errors.