Oblivion:Linux

The UESPWiki – Your source for The Elder Scrolls since 1995
Jump to: navigation, search
This article is currently undergoing a major expansion or revamping by Llde. 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 13:06, 17 August 2017 (UTC). This guide assume very old versions of wine and provide partially incorrect or outdated advice. I'm revamping it to use moderrn wine versions.


This page provides information on how to run Oblivion and the expansions under the Wine compatibility layer in Linux. These are instructions for installing in Ubuntu Linux. There are specific instructions to make it easy for Ubuntu users throughout this guide, however you should be able to infer how to apply those details to your own distribution. To get Oblivion running under proprietary products, see the External links section below.

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.

On Wine versions[edit]

It must be kept in mind that Wine is in state of a flux; some version may introduce bugs or regressions that should be promptly reported.

Alternatives to Wine[edit]

PlayOnLinux is a front-end for Wine which greatly simplifies the installation of Oblivion on most major Linux distributions. Look for your distribution at the PlayOnLinux downloads page. After installing and launching PlayOnLinux, simply click Install, select The Elder Scrolls IV: Oblivion from the menu, and follow the on-screen instructions. You can install official mods, such as Knights of the Nine, by choosing "Install a non-listed program" in the menu and selecting "Edit or update and existing program", then selecting Oblivion from the menu. Though PlayOnLinux offers support for Shivering Isles, the installer appears to be broken; however, the method described on the Shivering:Linux page still works.

Specific system requirements[edit]

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.

Installing Wine[edit]

Where do you get Wine for Ubuntu?[edit]

Follow the instructions at winehq.org's setup guide, or download from the archives at wine.budgetdedicated.com. If you want the 'bleeding edge' of the developer tree you can build from source code via GIT Wine. It's suggested to use the packaged Wine deb, since it's known to be stable and has been tested.

Also, you can open terminal and run the following lines

 sudo apt-get update
 sudo apt-get install wine

This downloads and installs the most recent version of wine.

Where do you get Wine for other Linux distributions?[edit]

Look for your distribution at the winehq download area.

Wine installation in Ubuntu.[edit]

You just need to download and install the package you need based on your version. At the release of Hardy Heron, it became the only Ubuntu release to be supported. The Ubuntu version number is the year.month (Y.MM) the version was released in case you were curious. Feisty, for example, was released in 4th month of 2007. Clicking the System menu then About Ubuntu will show which version is installed for those that can't tell.

One should take note wine.budgetdedicated.com now provides amd64 packages for Ubuntu Feisty users. The term amd64 is what Linux uses for the instruction set used by Intel and AMD x86_64 desktop processors, and the packages will run on both Intel and AMD x86_64 computers. If you don't have amd64 Wine packages for your version of Ubuntu the following instructions will show you how to install the i386 packages for amd64 operating systems.

NOTE : wine.budgetdedicated.com repository is deprecated.

Users of x86_64 installs aka '64bit PC' on the official packaging can use the same i386 package by using the --force-architecture flag. You need to install lib32 and supporting libraries as well on x86_64. Those that are unsure should run the command uname -m to determine if an x86_64 machine architecture is installed. The output will be 'x86_64' for '64bit PC'.

# x86_64 users should install the needed ia32-libs and force architecture
apt-get install -u ia32-libs lib32asound2 lib32z1 lib32stdc++6 linux32 
dpkg -iE --force-architecture wine_0.9.38~winehq0~ubuntu~7.04-1_i386.deb
# i386 users just install as normal
dpkg -iE wine_0.9.38~winehq0~ubuntu~7.04-1_i386.deb
# x86_64 users with 64bit packages install as normal
dpkg -iE wine_0.9.38~winehq0~ubuntu~7.04-1_amd64.deb

Setting up Wine[edit]

Wine Prefix: Default location, or separate?[edit]

Oblivion run well in the default wine-prefix. However some tools require some native dependancies that require a 32 bit wineprefix,

Create the 32-bit wineprefix using (with an unprivilieged user):

WINEPREFIX="absolute path to the prefix" WINEARCH=win32 winecfg

Setup Wine for running Oblivion[edit]

Wine provides a great GUI, so you can do most of your tweaking via point and click. Start up this nice little application by running:

winecfg

Graphics tab[edit]

In the winecfg application you may want to set a virtual desktop to avoid issue if the game badly crash. NOTE: Oblivion has a bad habit to crash in windows. There are no CTD that are caused by wine.

[x] Emulate a virtual desktop 
Desktop size: 1024  x  768

Audio tab[edit]

[Note: It is only necessary to click on this tab so that the ALSA driver is automatically chosen if using 1.0 or later.]

[x] ALSA Driver

Hardware Acceleration [Emulation]
Default Sample Rate [44100]       Default Bits Per Sample [16]
[x] Driver Emulation

To get things working with PulseAudio you will need to turn off everything except OSS, have hardware acceleration to "Full", driver emulation unchecked, and change your shortcut icon to run `padsp wine ...` to run wine in the pulseaudio wrapper.

Drives tab[edit]

Add a new drive for example 'D:' and click Show Advanced to set it as a CDROM drive. Browse to the mount point for your Oblivion DVD or loopback image, for example '/opt/games/Windows/CDROM/'.

If you have the space, you can copy your Oblivion DVD to a disk image instead of having to use the original DVD all the time. Here's a handy, dandy shell script to mount your Oblivion.iso. You can save it as mount-oblivion.sh and run it before loading the game, or add the line to the shell script at the end of this guide.

#!/bin/sh
sudo mount -o loop -t iso9660 /opt/iso/Oblivion.iso /opt/games/Windows/CDROM/

On some systems, you may need to replace iso9660 with udf in the preceding command. If you are in doubt, try running without the -t iso9660 and let the operating system try to guess the format.

If space is an issue, you could try to create a sparse DVD image that just contains some megabytes from the start and from the end. If Oblivion.iso is your full image, Oblivion_sparse.iso could be created like this:

$ dd if=Oblivion.iso of=Oblivion_sparse.iso bs=1024k count=16
$ dd if=Oblivion.iso of=Oblivion_sparse.iso bs=1024k skip=4200 seek=4200

Olivions_sparse.iso will have the same size as Oblivion.iso using "ls -l", but "du -k" will show that only a fraction of this is actually used on disk:

$ du -k *.iso
4322664 Oblivion.iso
34068   Oblivion_sparse.iso

The value "4200" in the "skip" and "seek" options of the second "dd" command may vary depending on the layout (and size) of your DVD. If you do not succeed with this value, you could first use a 16MB image (only use the first dd command), mount it, run the launcher and check "dmesg" afterwards for an error like this:

attempt to access beyond end of device
loop0: rw=0, want=8619652, limit=32768
udf: udf_read_inode(ino 2154912) failed !bh

Divide 8619652 (the "want" block number) by 2048 and reduce it a bit to find a candidate for the "skip" and "seek" value.

Incorrect reported VRAM[edit]

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

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

UseGLSL[edit]

Note that Oblivion will not run unless your card and its driver supports GLSL.

Starting Oblivion[edit]

Installing Oblivion[edit]

Official installer[edit]

Oblivion will install sucessfully using the official installer. Note that the installer copy d3dx9_27.dll in the system32/syswow64 folder for the selected wineprefix. However 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

Manually[edit]

Mount the CD, then use unshield to extract the game files from the .cab files.

mount <Oblivion CD> /mnt/cdrom
mkdir -p ~/.wine/drive_c/games/oblivion 
unshield -d ~/.wine/drive_c/games/oblivion x /mnt/cdrom/data1.cab
umount /mnt/cdrom
mount <Shivering Isles CD> /mnt/cdrom
unshield -d ~/.wine/drive_c/games/oblivion x /mnt/cdrom/English/data1.cab
umount /mnt/cdrom

The Knights of Nine is a little more involved, requiring IsXunpack.exe, which is bundled with UniExtract, but is available elsewhere.

  • Install IsXunpack (for instance, install UniExtract using wine). Then:
 mkdir -p ~/bin
 ln -s ~/.wine/drive_c/Program\ Files\ \(x86\)/Universal\ Extractor/bin/IsXunpack.exe ~/bin
  • Copy the installers
 mount <KON CD> /mnt/cdrom
 mkdir ~/tmp/kon
 cp /mnt/cdrom/English/*exe ~tmp/kon
 # we don't need the patch
 cd ~/tmp/kon
 rm Oblivion_v1.1FinalEnglish.exe
  • Extract the installers (you may want to do this manually)
 cd ~/tmp/kon
 mkdir plugin-data
 BIFS=${IFS}
 for i in *exe ; do 
   mkdir ${i/.exe}
   mv $i ${i/.exe}
   cd ${i/.exe}
   wine ~/bin/IsXunpack.exe ${i}
   unshield -d cab x Data1/data1.cab
   mv cab/Plugin/Data/* ../plugin-data
   cd ..
 done
 IFS=${BIFS}
  • Merge the contents into your install
mv ~/tmp/kon/plugin-data/* ~/.wine/drive_c/games/oblivion/Data

If you install manually, you will have to manually create a registry entry to install patches:

 # regedit is bundled with wine
 regedit 
 # Create a key: [HKEY_LOCAL_MACHINE\Software\Bethesda Softworks\Oblivion]
 # Set "Installed Path"="C:\\games\\oblivion"

Install the Oblivion patch.[edit]

Go grab the latest patch for Oblivion, and install it under Wine. If you installed Oblivion under Wine then this is just watching the bar scroll to complete. The Knights of the Nine content can be installed the same way from the disc.

# Check for your version's latest patch.  'English' is shown here.
http://www.bethsoft.com/eng/downloads_01.html

wine Oblivion_v1.2.0416English.exe


First run[edit]

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 tweaks[edit]

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


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

Playing![edit]

Now you can finally play the game. Remember 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.

# 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[edit]

This section covers the bugs present in wine 2.0. You should visit Wine AppDB page for the most up-to-date bug reports.

Crashes[edit]

Crash after 2-3 minutes when wine has no mpg123 support[edit]

When using a version of Wine compiled without mpg123 (for instance, Fedora's version of wine), 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.

Hangs and freezes[edit]

Some people get a freeze starting the battle with the Emperor's assassins[edit]

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

Rendering errors[edit]

Main Character has Black Skin[edit]

During character creation and in-game, the main character has all-black skin. See this wine bug for further informaton. This is caused by missing DXTn surface conversions. This bug is solved using wine-staging or wine-gallium. This bug is also solved using native d3dx9_27.dll

NOTE: if you install Oblivion using the official installer with a recent wine version it will install the native d3dx9_27.dll. However it isn't the last version (Directx June 2010).

Sound errors[edit]

No sound at all[edit]

Try uninstalling pulseaudio.

Control problems[edit]

The hotkey menu will not disappear[edit]

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 fullscreen[edit]

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.

Unofficial Oblivion Patch[edit]

The Unofficial Oblivion patch installs and works cleanly on linux, and it is highly recommended that you use it. Make sure to install any official patches first, as the UOP needs them to work. Just run the installer under wine and it should be all set.

Other Mods[edit]

External links[edit]

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