Oblivion:Linux
The UESPWiki – Your source for The Elder Scrolls since 1995
This page provides information on how to run Oblivion under Linux using Wine. 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.
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.
Contents
|
[edit] Specific system requirements
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.
[edit] Installing Wine
[edit] Where do you get Wine for Ubuntu?
As of this writing Wine 0.9.38 (Update: 1.0RC1 seems to work fairly well, and fixes sound issues in Hardy) provides the best play experience. This release has improved Direct3D support, which provides the same visual quality as Windows aside from issues noted later in this guide.
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.
[edit] Where do you get Wine for other Linux distributions?
Look for your distribution at the winehq download area.
[edit] Wine installation in Ubuntu.
You just need to download and install the package you need based on your version. As of this writing Dapper (6.06), Edgy (6.10), Feisty (7.04), and Gutsy (7.10) are supported by Wine packagers. 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.
Users of x86_64 installs aka '64bit PC' on the offical 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
[edit] Setting up Wine
[edit] Wine Prefix: Default location, or separate?
Oblivion requires some registry settings that might clash with other applications. If you are concerned about this, you can install Oblivion's Wine settings in a location separate from your default Wine settings by changing the WINE prefix. This will also allow you to lump your Desktop Integration files into a location under this directory, and if you completely hose the installation, just copy the Desktop Integration files to recover your savegames, delete the directory, and start over. The downside is that whenever you start Wine-related programs, you have to specifically set the prefix.
To use a different location, the environment variable WINEPREFIX has to be set. The default value for this is $HOME/.wine and is used in the examples below. If you use a different Wine prefix, adapt the following accordingly.
You can use a different location by using this command:
export WINEPREFIX=/path/to/your/OblivionWine
...before running any of the following commands. You should naturally also add this to the Oblivion start-up script below, somewhere above the "wine" command.
[edit] Wine dotfile setup
The first step to start using Wine is to create the initial setup. This is done with the command:
wineprefixcreate
On the first run, Wine will copy relevant files to your ~/.wine directory, and perform some initial setup.
Note: you should re-run this command every time you install a new version of Wine; it will not affect your existing settings, but will try to ensure that your setup is "modern and complete". Not running this command upon upgrade may cause unexpected behavior; at worst, problems you had with previous Wine versions won't get fixed at all.
[edit] Setup Wine for running Oblivion
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
[edit] Graphics tab
Virtual desktop will prevent your screen from behaving oddly if the game crashes
[x] Emulate a virtual desktop Desktop size: 1024 x 768
Vertex Shader Support [Hardware] [x] Allow Pixel Shader
Note, however, that if you get Oblivion performing reliably without crashing, you can then unmark "Emulate a virtual desktop" and you will then run in full screen mode with excellent performance.
Oblivion will run on a compiz desktop in fullscreen mode quite well (Hardy).
[edit] Audio tab
[x] ALSA Driver Hardware Acceleration [Emulation] Default Sample Rate [44100] Default Bits Per Sample [16] [x] Driver Emulation
To get things working with PulseAudio (Hardy) 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.
[edit] Desktop Integration tab
Here you should make a folder as your 'Windows folder base' and populate it; for example, ~/Documents/Windows/ works. After you make these folders match them up in this interface, since Oblivion follows the logo requirements and uses a 'My Games' folder.
mkdir -p ~/Documents/Windows/{Desktop,Documents,Pictures,Music,Video}
Your ini and saved games will be under:
~/Documents/Windows/Documents/My Games/Oblivion/
Your old Windows save games and autosaves can be copied to the 'Saves' folder under Oblivion and accessed. Remember to make sure any saves you copy have permissions set read/write by the user running Wine.
[edit] Drives tab
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/
[edit] DirectX DLL For Missing Symbols
You will also need to copy d3dx9_27.dll to your ~/.wine/c_drive/Windows/System32 if you don't already have it installed. This dll is mainly for some symbol resolution issues. You can copy it from a Windows install or use cabextract and get it from the Oblivion DVD's DirectX. It is not a good idea to install DirectX in Wine, so we only install this one DLL to avoid any conflicts with other games and applications.
# This assumes /media/cdrom is what your DVD mount point is called. apt-get install cabextract cabextract /media/cdrom/DXREDIST/Aug2005_d3dx9_27_x86.cab cp d3dx9_27.dll ~/.wine/drive_c/windows/system32/
[edit] Registry editing in Wine
Run the command below and it will open a Wine version of regedit.
regedit
Now browse to the HKEY_CURRENT_USER / Software / Wine / Direct3D folder.
If the Direct3D key folder does not exist then you can create it yourself:
- 1. Right-click on the Wine folder icon.
- 2. Select New > Key from the pop-up menu.
- 3. Name the new 'folder' key "Direct3D" without the quotes.
Once you find or create the Direct3D key you can enable shaders in Wine:
- 1. Select the Direct3D key folder icon.
- 2. Right-click the mouse in the pane to the right to open the right-click menu.
- 3. Use the right-click menu command New > String Value to create each of the following key pairs:
OffscreenRenderingMode pbuffer UseGLSL enabled VideoMemorySize 256
These are only the tried-and-true recommendations; the following sections explain what you can try for optimising performance.
This guide has been tested with a Nvidia 6800 GS with 256MB of RAM, and it performs well. Cards with less shader operations per second may have unacceptable framerates.
[edit] VideoMemorySize
Wine does not currently have a way of knowing how much memory your video card has. Thus, specifying it on registry is the way to go. Set the VideoMemorySize to whatever you currently have (e.g. "128" for 128MB card, "256" for 256MB card, etc.)
[edit] UseGLSL
This option is required for most earlier releases of Wine, though it might be redundant after 0.9.49, where it became enabled by default.
Note that Oblivion will not run unless your card and its driver supports GLSL.
[edit] OffscreenRenderingMode
In the bleeding-edge versions of Wine, OffscreenRenderingMode setting is a tradeoff between performance and stability. Also, it's a tradeoff between one set of bugs and another set of bugs. You should pick whichever setting causes less problems for you.
pbufferorbackbuffer- This is the recommended setting for OffscreenRenderingMode (since Wine 0.9.32). It will likely result in slightly better performance and picture quality. Regrettably, in certain situations and certain Wine versions
pbuffermight cause more crashes. Pbuffer is preferred for the well tested 0.9.38. fbo- This is the stable setting, and the only setting that works for Wine versions before 0.9.32. It will give a tolerable performance, and will be less likely to crash. If
pbuffercauses problems for you, you can go back tofbo. Due to the exterior cell boundary crash bug,fbois the preferred setting for the bleeding-edge Wine versions.
See Known Issues section for possible bugs related to this setting.
[edit] Starting Oblivion
[edit] Installing Oblivion in Wine
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
[edit] Install the Oblivion patch.
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.elderscrolls.com/downloads/updates_patches.htm wine Oblivion_v1.2.0416English.exe
[edit] First run
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. You want to disable HDR and bloom due to current support level in wined3d as of this writing. You'll want to reduce your game resolution and lower defaults as needed. In general the types of shaders cause more game slowdowns than the draw distance and other settings. You can also write Oblivion 'batch files' to toggle on/off some of these features as you play. For example you can disable more features as needed outside in sunlight, which is the worst slow down in the game right now. Check Google for details.
[edit] Tweaking Oblivion.ini.
There are a lot of sites that do an entire article on just this; these are the suggested changes:
bForce1XShaders=0 bSaveOnInteriorExteriorSwitch=0 SIntroSequence= bUseWaterShader=0 bUse Joystick=0 bMusicEnabled=0
The 1X shaders cause crashes for menus and outdoors, so you don't want them. The other option avoids saving everytime you open a door, and that means less file I/O. If you don't care about looks so much you can enable gobal light model, which is much faster, but looks much worse. Clearing out the intro sequence resolves a crash for some. Disabling the water shader means no pretty water, but it can be worth up to 50fps or more. If you get 2fps anywhere in the game try disabling this shader, and you'll likely get a huge speed boost. You can remove the purple color from the water by replacing its DDS texture. For example, edit the texture below to be a highly transparent light grey, or whatever you prefer.
If you get 'purple water' once you turn off the water shader you can fix that by using Excors' replacement DDS texture. Just extract the contents ( 'Data\Textures\water\water00.dds' ) into your Oblivion/Data directory.
[edit] Playing!
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 performace.
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:
- Open the menu editor from the main panel: System > Preferences > Menu Layout
- Select the Games menu.
- Click the New Item buttom.
- Select the icon you want to use.
- Type in a name, for example: "The Elder Scrolls: Oblivion."
- 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
- You may need to add the 'sh ' in the Command textbox, e.g.:
- 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.
[edit] Notes
- Confirmed working Wine install with Knights of the Nine content from CD install.
- Confirmed 1.2 patch installs cleanly.
- If you have trouble with the water shaders, you might want to try some water mod, for example A-WaterMod
[edit] Known Issues
This section only covers the issues in the last 'really well tested' Wine release, which of this writing is Wine 0.9.32 unless noted. You should visit Wine AppDB page for the most up-to-date bug reports.
[edit] Bugs in Oblivion itself
Check the Oblivion Patches section to be informed about bugs in the game itself. That section has information on the well known 'savegame' and 'guard' bugs. Note that some information in the section will still only apply to Windows users.
[edit] Crashes
[edit] Crash when crossing boundaries in exterior areas
Wine versions 0.9.39 through 0.9.49 (and possibly later) will hang and crash when crossing boundaries in exterior scenes when using the pbuffer registry setting (see Wine bug #8868). Wine version 0.9.38 is the most recent release that works with pbuffer as of this writing. If you experience this, try setting the mode to fbo.
[edit] Crashes specific to Wine 0.9.39 - 0.9.41.
Do not use these versions of Wine to play Oblivion. There is a known issue with these versions, and it is suggested to use Wine 0.9.38, 0.9.42, or later versions. This bug involves thread safety. That means it may appear to work but randomly crash, or possibly corrupt your save data.
[edit] Crashing when launching Oblivion
If Oblivion crashes with an error beginning like this:
1 0x7e2dc466 glTexImage2D+0x406() in libgl.so.1 (0x7cabb950) 2 0x7ccc7a75 in d3d9 (+0x7a75) (0x7cabb980) ...
Try disabling the logo videos in the Oblivion.ini as suggested earlier in the guide. If this doesn't resolve the issue then rename the Video Folder in the Data directory. Note that renaming the directory will disable all videos in the game, and should only be used as a last resort. If you don't want to see any movies there is also an option in the Oblivion.ini to disable them.
[edit] ATI cards crash using shader functions
UPDATE It *may be possible to play Oblivion on some ATi GPUs using the ATI Display Driver 8.41.7, which was released on Sept 12th 2007. If you can confirm this please file a report at the WineApp DB.
ATi OpenGL drivers do not offer stability and support for many shader features as of this writing. This leads to Oblivion crashing on save, starting the game, etc. Right now the only way to play Oblivion in Wine is by using a GPU and drivers properly supporting OpenGL 2.0 such as Nvidia 6800 or higher with 1.0-9xxx drivers or later. Note that OpenGL 2.0 compliance of hardware does not mean the driver supports all features of OpenGL 2.0 -- just that it's possible for the hardware to do so. Please send your debug logs to ATi and request fixes for crashes found in the driver. This issue only affects ATi users.
Some people have tried using emulated shaders, but performance with software emulated shaders makes Oblivion unplayable. Modifying the Oblivion runtime and data to remove the use of shaders is possible, but often leads to instability and quite poor visual quality. It should be possible to only modify the shader data to allow play with poor visual quality without modifying the game.
[edit] Horse armor crash
It seems that if a horse has armor equipped and plays a certain animation -- while animations threading is enabled in the Oblivion.ini -- you will experience a game crash. You can disable threading for the feature or don't put armor on your horse as the workaround. If your horse has armor and you don't ride it you'll likely not see the crash as it is a strafe turn animation.
[edit] Hangs and freezes
[edit] Some people get a freeze starting the battle with the Emperor's assassins
; 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
[edit] Rendering errors
[edit] A very large tree sprite appears outside.
SpeedTree instancing causes rendering errors outside in Wine 0.9.32 and later. If this bothers you downgrade to 0.9.31, since it is not affected. It remains unfixed as of 0.9.58. These trees only appear if you use distant LOD, so turning it off is a kind of a "fix".
[edit] People's faces do not render properly
You see just the eyes and mouth of character's heads. This is caused by using an old Nvidia 1.0-8xxx OpenGL driver. Update your graphics drivers to 1.0-9746 or later to fix.
[edit] HDR renders as black
This often causes all textures to render black at the moment, so it's best to disable HDR for now.
As of 0.9.33 or so HDR now works, however it's very slow so only the higher end cards can manage with it enabled.
[edit] Local map texture is rendered improperly using fbo
Setting the Wine registry key OffscreenRenderingMode to 'pbuffer' will cause the local map and overlays to render properly, however some report stability issues using 'pbuffer'. If you have a crash while saving revert the key back to the 'fbo' setting.
[edit] Some spells (invisibility) cause screen filled with solid color objects
This could be temporarily resolved by switching off refraction shader in game's Oblivion.ini file. However, note that it may render Gamma correction menu option unusable. This bug also manifests as a yellow-green background during certain effects (e.g., an Oblivion gate or an active spell on a dying monster) (see Wine bugs #8184 and #8635). Disable the refraction shader to avoid these issues:
bUseRefractionShader=0
[edit] Map markers disappear
There may be occasional cases where all local map markers and the player location arrow disappears. This is not fatal - simply save, exit to main menu, and reload.
[edit] Sound errors
[edit] Music doesn't render properly or at all in game
; Disable music in the Oblivion.ini if you have issues bMusicEnabled=0
As of Wine 0.9.37 music works properly in the opening movies, main menu, and in game. Some users have reported game save bugs were resolved by disabling music on several occasions. This is unconfirmed.
Even as of 0.9.49, game music can sometimes create noise if you skip through some of the game intro dialog in the prison cell. Saving and reloading the game can fix game music.
[edit] Certain in game sound effects render static during audio mixing
Turn down the Audio 'Effects' slider to 25% and all other Audio sliders to 100%, and set 'Master' to desired level. This will enable you to still hear hits/attacks/magic/etc and the static will be unaudiable if you're using speakers. Voice and footsteps are not affected by the mixing bug.
[edit] Voice tracks stutter and/or have silent gaps
Switch to software audio mixing. Warning! This will make your processor do a little more work, so if you notice serious slowdowns when there is a lot of audio going on, you may not want to do this. You probably won't notice any difference though.
bDSoundHWAcceleration=0 bUseSoftwareAudio3D=1
[edit] Control problems
[edit] The player's shield is stuck always blocking
This is often caused by your mouse cursor leaving the game window while blocking. Pressing the keyboard command for block again to force the state to stop blocking is the best fix. The default key is Left Alt, however you can check Options > Controls if you changed the key and forgot. If you encounter this bug very often you may want to increase your framerate by tweaking the Oblivion.ini, since DirectX input sometimes drops when framerate is low.
[edit] The hotkey menu will not disappear
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 recognised as a joystick!
[edit] Mods and Expansions
[edit] Shivering Isles Expansion
It isn't possible to use the Shivering Isles setup.exe directly due to the Securom DRM on the disc and the downloadable installer. Instructions for installing the Shivering Isles expansion are at the wiki entry: Shivering:Linux.
[edit] Oblivion Game of the Year Edition
Likewise, Oblivion GOTY Edition uses Securom and won't install with above settings; installer will fail with Securom error. However, it can be installed by setting the Windows version to "Windows Vista" in winecfg, and creating the key "HKEY_LOCAL_MACHINE\System\MountedDevices" in regedit before running OblivionLauncher.exe. Otherwise, the above instructions work normally. If using the ISO image instead of the DVD-ROM, is not necessary to create an ISO of Disc 2; the game requires only Disc 1 to be at hand and mounted.
[edit] Other Mods
- An Oblivion specific solution for using Mods written for use under the Microsoft Windows OS, with the Linux kernel instead.
[edit] External links
- There is a Wine AppDB page for browsing and filing bugs with Oblivion 1.2 under 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.

![[Content is available under Attribution-ShareAlike]](http://www.uesp.net/w/images/Somerights.png)