Oblivion:Linux

Oblivion
A request has been made by an editor for this article to be peer reviewed in order to receive a broader perspective on how it may be improved. Please make any edits as you see fit to help improve the quality of this article.
This article is currently undergoing a major expansion or revamping by Testman. However, you are free to help in the construction of this page by improving it—use the talk page to do so. Please review the edit history if you would like to see whether the page is still being worked on. If the editor who placed this notice has not made any changes in a while, please contact the editor or, if they're inactive, remove this template. This WIP notice was originally posted on 19:10, 15 April 2019 (UTC). This article was insanely outdated and it seems that previous attempt at updating it was not successful. I added some information about more modern technologies, but I would still ask for help with article restructuring.

This page provides information on how to run Oblivion and the expansions in Linux.

While PC release of Oblivion was intended to be played only on PCs that run Microsoft Windows, it is possible to run it GNU+Linux. This is possible mainly due to a compatibility layer called WINE. It's been possible to have a great Oblivion play experience in Wine since version 0.9.29. The Oblivion core game, along with all of the official plug-ins (including both Knights of the Nine, Shivering Isles, and the minor add-ons) are known to work. Most unofficial mods also work without any problems. Given your hardware you should be able to have the same performance as Windows, and the same experience except where noted below. The TES Construction Set also works, though there are several obvious and not-so-obvious ways to make it crash.

Overview of related technologiesEdit

Linux is a free (libre) and open source operating system. It is usually obtained in a form of Linux distribution. This article assumes that you are familiar with the basics of how Linux works.

WINE is a free and open source compatibility layer that allows software intended to be run on Microsoft Windows to work on Linux (and on OSX and BSD systems). Wine can almost always be found in distribution's repository and can therefore be easily installed with a package manager that distribution provides.

WINE STAGING is a version of wine with some bleeding edge patches that aren't included in mainline WINE. It's considered an integral part of the WINE project. WIne Staging is the recommended way to play Oblivion on Unix systems. Wine Staging can be often found in the distribution's repository.

Wine-Tkg is a version wine or wine-staging with a lot of possible patches to be chosen during build as FSYNC. It uses a polymorphic build system that allows custom configuration and possibility to choose external community or user provided patches. Community patches can be found in the Community Patches repo. It also offers a custom Proton build

Gallium Nine Standalone is a D3D9 replacement for WINE based products, that allow Directx9 programs to be run on the Gallium9 driver backend instead of the default OpenGL backend. As Gallium9 aimed to be an FOSS reimplemantation of a DX9 state tracker, it has lower cpu overhead, causing some games to have a better performance or more consistent FPS. It's only compatible with MESA open source driver. Can be installed using winetricks. Replace old wine-nine and wine-staging-nine packages.

DXVK is a DirectX (9,10,11) replacement using Vulkan for Wine and derivative products. It's compatible with all driver for modern video cards, and can actually perform better then the original OpenGL backend. Can also be used on Windows.

Proton is a variation of WINE developed by Valve that is used as a compatibility layer in Steam, allowing many of the games to be played despite them lacking native Linux release. Certain games perform better when ran with Proton compared to regular WINE as there are some additional performance-improving technologies integrated into it. Most reports state that Oblivion runs very well with Proton. [1]

Lutris is a free and open source game manager. It allows easy installation and management of various games and software required to run games. Games can either be installed by the use of community-made installers or by making Lutris run them from their already existing installations. The entry for Oblivion is already in the Lutris library.[2]

PlayOnLinux is a graphical interface for installing and configuring certain games and other software in WINE. As Lutris offers all the advantages of PoL, there are not many cases where using PoL would be required. Note that PoL wine versions aren't self contained, and may break during a system update.

winetricks is a helper script that automates installing and configuring various redistributable runtime libraries and other software needed to run some programs in WINE.

NOTE: Play on Linux, Lutris, Proton, and Wine-TKG aren't supported by Wine developers. Don't open bug reports on the wine official bug tracker, if using them. Users of Wine/wine-staging with Gallium Nine Standalone or DXVK should report bug on the official bug tracker only if the bug is reproducible without it activated. Report the Bug to Nine or DXVK bug tracker if the bug happen only with it active.

Specific system requirementsEdit

Aside of the normal Oblivion system requirements, you need to make sure you have up-to-date OpenGL drivers with GLSL support.

If you have a card allegedly supported by Oblivion and up-to-date, properly installed drivers, you probably shouldn't have any problems.

Required dependenciesEdit

You need to install the Gstreamer package and the gstreamer-plugins-good, gstreamer-plugins-bad, and gstreamer-plugins-ugly 32bit versions (ALL THREE) otherwise Oblivion WILL crash when playing music.

It is also good to have mpg123 installed.

Examples

   Debian or Ubuntu / Mint : apt-get install gstreamer1.0-plugins-good:i386
   Fedora : dnf install gstreamer1-plugins-good.i686
   32-bit SUSE : zypper install gstreamer-plugins-good
   64-bit SUSE : zypper install gstreamer-plugins-good-32bit

Possible installation methodsEdit

If you own Oblivion on Steam, you can enable Proton and run Oblivion directly from Steam client.

If you own Oblivion on GOG or are in possession of GOG release of Oblivion, then Lutris can be used to get it working easily.

If you have physical release of Oblivion, then you can either set it up to work with Lutris or install and run it directly with WINE.


Running from SteamEdit

This section assumes that you have Oblivion in your games library on Steam.

To enable Proton, open your Steam client and in the top left corner click on "Steam" and then select "Settings". In the newly opened window select the "Steam Play" section in the menu on the left.

Firstly tick the "Enable Steam Play for supported titles" in the "Steam Play Settings" section, and after that also tick the "Enable Steam Play for all other titles". Below that you have an option to select which version of Proton you wish to use. It is recommended that you use the latest versions (indicated by the highest release number), as it includes the most up-to-date release of WINE and most additional technologies that can improve performance.

After pressing "OK" you will be asked to restart Steam. When Steam starts again, it will allow you to download Oblivion and it will start downloading the Proton release that you selected. To install Oblivion, either open its store page and click the "Play Now" button or make your library switch the view from "SteamOS + Linux" to "Games", select Oblivion and click the "Install" button.

After the installation is completed, click "Play" button to start playing.

Running from LutrisEdit

Lutris allows easy installation of Oblivion and provides an interface for very in-depth configuration of various systems that affect the way game is executed and how it performs.

It is also possible to make Lutris use an existing installation of Oblivion and run it under a different configuration.

Getting LutrisEdit

On most Linux distributions it is possible to install Lutris directly from the package manager. More information can be found on the official download page.

While Lutris provides many variations of WINE as possible runners, you are still required to install WINE on your system in order to provide some dependencies that Lutris does not provide. The instructions for installing WINE are located under "Installing WINE" section of this article.

Installing GOG releaseEdit

The library entry for Oblivion can be found here.

On the list of possible installation options find the one marked with "GOG version" tag and click on its "Install" button. That will start a dialog which will guide you through the installation.

First thing you will see is an already filtered list of installers, showing you just the "GOG" option. Click on the "Install" button to continue.

Next you will be asked to select an installation directory. This is a directory where everything required to run Oblivion will be located after installation is complete. That includes game data and wineprefix configuration. The directory will get created if it does not exist already.

After that you will be asked to provide a location of the game installer. Click "Browse..." and navigate to the installer file and then click "Continue".

Lutris will set up the required environment and the installer will start. Proceed with the installation like you would on Windows.

After the process is completed the GOG installer will provide you an option to start the Oblivion launcher. Click "Launch", so that the Oblivion launcher sets up the initial configuration.

Then click on "Exit" in Oblivion launcher, as Lutris still has some things to automatically install and configure, but it can not until Oblivion launcher is still running.

When that is done the installation is fully complete and Lutris will allow you to start the game.

You can now find Oblivion in the main Lutris window. Note that it skips the launcher and starts the Oblivion.exe directly.

If you want to start the Oblivion launcher again, right-click on the Oblivion in Lutris and select "Run EXE inside wine prefix". In the newly opened window navigate to "drive_c/game/OblivionLauncher.exe" and select it.

Importing game manuallyEdit

In Lutris it is possible to manually import and configure games.

In order to import already installed instance of Oblivion, click on the + button that is located in the upper left corner of Lutris window and then select "Import Game". Or if you have Lutris account and have Oblivion added to your Lutris library, then finding the discolored Oblivion entry in Lutris window, selecting it and clicking on "Add installed game" will start the dialog with images, name, and identifier already filled in.

In either case, first thing you need to do is select WINE as the runner to be used. After that switch to the "Game Options" tab.

For "Executable" provide a path that points to Oblivion.exe or OblivionLauncher.exe, whichever you prefer.

You can leave Arguments empty. For "Working Directory" it is best if you provide a path to the directory where Oblivion.exe is located.

You can leave "Wine prefix" empty if you wish to have Oblivion started with a WINE configuration that is also used for running other WINE applications on your system. Otherwise you provide a path to either existing WINE prefix or to a directory that will be created in order to house the new WINE prefix.

"Prefix architecture" can be left on "Auto (default)".

You can now click "Save" in order to finish importing game or you can go make additional changes to configuration under "Runner Options" and "System Options".

The newly added Oblivion will now show up in main Lutris window and can be started from there.

Running directly with WINEEdit

Installing WineEdit

Most Linux distributions already provide WINE from their repository and therefore WINE can be easily installed by the use of provided package manager. Additional information about downloading WINE can be found here

Installing OblivionEdit

If you are using very old version of WINE then refer to older version of this installation guide for potentially useful information.

Official installerEdit

Oblivion will install successfully using the official installer. Note that the installer copy d3dx9_27.dll in the system32/syswow64 folder for the selected wineprefix. There is nothing to this one, you just click and go. The only thing that might bite you is if you see the error 'out of disk space', and you know you have enough space. If you see this you might want to map another drive in Wine to the partition you're installing on. For example, you could map G: to your /opt partition. After this Wine will see the correct disk space for /opt on the G: drive.

# Use /media/cdrom or whatever your mount point is here.
cd /media/cdrom
wine setup.exe

Shivering isle and the others official DLCs can also be installed using the installers.

Note: When using some Window managers or some Xorg versions the Install Shield installer (SI and DLCs) can experience some glitches.

without installer - unshieldEdit

To circumvent the retail disk installer one can use unshield[1]. unshield x data1.cab will extract the game files.

First runEdit

Copying the Oblivion icon on your desktop to your Windows/Desktop is recommended. Go ahead and run the icon or OblivionLaucher.exe directly once. Set the general options you want, and exit.

Wine specific Oblivion.ini tweaksEdit

SIntroSequence=     //to avoid unskippable intro video
bUseJoystick=0       //to avoid that the game make use of a "ghost" joystick

OBSE users may need to apply the following INI changes to be able to properly use mods that use OBSE keypresses functions:

bBackground Keyboard=1  
bBackground Mouse=1


There exist numerous other possible ini tweaks. Please refer to a good and well-tested guide (as Alenet Oblivion.ini tweaks).

Playing with WINEEdit

Now you can finally play the game. Remember that if you have installed Oblivion from DVD, then you must have the disc or the iso for Oblivion mounted and setup as CDROM device in Wine to play. Disabling all the debug spew improves performance. The following shell script can be used to start the game. Open up a text editor and save the text below to Oblivion.sh. Change the OBLIVION_DIR to be your install directory, and set the permissions of execute bit on the script. You can do this by right clicking on the file, click the Permissions tab, and checking the Execute box. Also the command 'chmod +x Oblivion.sh' in a terminal works as well.

#!/bin/sh
# This script disables all the text output for Wine
# debugging for improved performance.
export WINEDEBUG=fixme-all,err-all,warn-all,trace-all
OBLIVION_DIR=/opt/games/Windows/Oblivion
cd "${OBLIVION_DIR}"
wine OblivionLauncher.exe

You can either run the shell script from a terminal or make a menu entry / desktop shortcut.

# Command for use in terminal
sh Oblivion.sh

To optionally make a menu entry:

  1. Open the menu editor from the main panel: System > Preferences > Menu Layout
  2. Select the Games menu.
  3. Click the New Item button.
  4. Select the icon you want to use.
  5. Type in a name, for example: "The Elder Scrolls: Oblivion."
  6. Browse for Oblivion.sh using the Browse button and dialog.
    • You may need to add the 'sh ' in the Command textbox, e.g.: sh /home/${USER}/scripts/Oblivion.sh
  7. Click OK button.

Now you should see the new menu entry under Applications > Games. Now it's just click and go. Normally you could just use the desktop icon Oblivion made during install, but then you'd still have all the debug output turned on.


Known issues and TroubleshootingEdit

This section contain descriptions of possible issues that could be encountered with older versions of WINE. You should visit Wine AppDB page for the most up-to-date bug reports.

Incorrect reported VRAMEdit

Sometimes wine can fail to properly detect how much VRAM is available.

It's possible to use winetricks to properly set the VRAM amount.

CrashesEdit

Crash after 2-3 minutes when wine has no mpg123 supportEdit

When using a version of Wine compiled without mpg123, after about 2-3 minutes of in-game time, the game will crash with the error:

err:winediag:FILE_CreateFile Too many open files, ulimit -n probably needs to be increased

Raising the ulimit would only postpone the crash, since it's apparently opening files constantly. For more information, see: https://bugs.winehq.org/show_bug.cgi?id=19967

Additionally, performance is impacted somewhat by not having mpg123, and no background music will play, though those are less dire than the crashing behavior.

As MPEG patents expired, most non discontinued distributions should have Wine compiled with mpg123 support.

Hangs and freezesEdit

Some people get a freeze starting the battle with the Emperor's assassinsEdit

; Disable music in the Oblivion.ini if setting FBO doesn't help.
; This has been known to resolve the issue for everyone so far.
bMusicEnabled=0

Rendering errorsEdit

Only HUD is visibleEdit

Happens when game is started before OblivionLauncher.exe was ran and automatic configuration was completed.

To resolve this issue, close the game, run OblivionLauncher.exe and then start the game again.

Sound errorsEdit

No sound at allEdit

Pulseaudio backend should work Out Of the Box in most mainstream distributions. If your distribution still use ALSA as default, there may be a misconfiguration in the ALSA backend. Try to adjust your ALSA confiugration, or try installing Pulseaudio.

Control problemsEdit

The hotkey menu will not disappearEdit

This can be caused by a USB gamepad or joystick plugged in before starting the game. Unplug the controller and reload the game. Note: true for the macbook pro's with motion sensors at least, remember that if you use the applesmc driver, this will be recognized as a joystick!

Emulated desktop steals mouse when game is full screenEdit

When the game is in full-screen mode and wine is running with the emulated desktop, you may run into an issue where the mouse refuses to leave the window, which can be problematic in some cases, such as a program that you need to respond to. (author's note: or if you're a heavy multi-tasker and have a web browser with oblivion-related websites opened on a second monitor)

However, there is a simple workaround. Keep a program window minimized while the game is running, and make sure that window, when restored, will fully or partially cover the game window. When you need to do something outside of Oblivion's window, you just pause the game, and then press alt-tab to make the window manager bring that minimized window, which will cause the mouse's focus to be released.

Another workaround involving alt+tab is holding the two keys to take the mouse's focus away and moving it off of the game screen. This method requires less preparation than covering the Oblivion window partially.

Mods and Tools IssuesEdit

OBSE doesn't loadEdit

Sometimes OBSE can fail to load when using the Steam version of Oblivion. There are actually two separate issue here. The first affect Proton users, and consist in the Steam Linux client being unable to load the obse_steam_loader.dll. The second affect all users that use the Windows Steam client (on Linux or on Windows) where the loader fail to be laoded properly for not fully know reasons.

The workaround require xOBSE from version 21.8 or higher. xOBSE from this version allow the steam version to be loaded from the obse_loader.exe. After backupping the OblivionLauncher.exe rename the obse_loader.exe to OblivionLauncher.exe. Now when you start Oblivion from inside Steam, Proton should succesfully load OBSE.

Wrye Bash crash when Drag and Dropping mods in the load order tableEdit

A Wine deficiency cause this crash, and it's related to an old bug in wxWidgets. If WB ever update their wxWidgets version then the bug should be fixed automatically, but for now it require the patch "kernel32-implement-Windows-NT-style-GMEM_MOVEABLE-LM-no-staging.mypatch" from the Community Patches repo

Wrye Bash may not fully install mods using BAIN installersEdit

Wine Shell32 has some longstanding issues in its implementation that can cause issues in some corner case for WB installer. There are two patches from the Community Patches repo that can improve the File move operations: shell32-Move-file-SHFileOperation-allow-from-wildchar-move.mypatch Shell32-CreateDirectoryInDestinationInFileOp-Move-multiop.mypatch

Other ModsEdit

Potential future methodsEdit

There exists a branch of OpenMW that is able to load assets from Oblivion's data files.

External linksEdit

  • There is a Wine AppDB contains bug and status reports for playing Oblivion under the current version of Wine.
  • There is a popular ubuntuforums thread that deals with troubleshooting Oblivion in Ubuntu. The first post is the basis for this wiki entry.
  • Screenshot of Oblivion in action in Wine 0.9.29.
  • Screenshot of Oblivion in Wine 0.9.32. Note the lighting improvements and higher resolution on the same hardware.
  • CodeWeavers' CrossOver - contains bug and status reports for playing Oblivion under the current version of CrossOver.
  • TransGaming Technologies' Cedega - Members Only Area
  • Oblivion on Wine - A new series of blog posts that reports Oblivion's functionality under Wine and Arch Linux, starting with version 1.1.23.
  • ^ "Oblivion on ProtonDB", last accessed 2021-12-6
  • ^ "Oblivion in Lutris library", last accessed 2021-12-6