The Elder Scrolls IV: Oblivion
Version 1.2.x (GOTY, with Shivering Islands downloadable content or official 1.2 patch)
WINEARCH=win32 Obviously running and installing. Launcher menu. Changing settings. Intro videos and main menu. Builtin DX9 works marvelously. Patching and installing DLCs and simple mods. Winetricks wasn't necessary.
What does not
However, once the game starts: it starts grabbing/leaking memory until it hits around 842Mb. Then the game hangs up, frozen. Also once patched, the main menu loses music and Wine complains about MIDI. Minor issue was the graphics chip being properly detected.
Nothing seemed to alleviate the memory/hang issue...
Winetricks -> .NET + native DX9 + native D3Dcompiler4.7 = nope
Regedit values were useless.
The music issue *might* be solved with native Directmusic or WMP. Wasn't my biggest concern.
Use a much earlier version of Wine for this game.
Maybe buy Crossover for additional support/influence.
What was not tested
The unplayable part of the game, which was most of it. Also did not exhaust all my debugging options, I simply don't have time to do a lot of debugging these days.
Started with Gentoo's packages: wine-vanilla 5.22, wine-mono 5.1.1, wine-gecko 2.47.1
Options on wine-vanilla: "X dos fontconfig gecko jpeg lcms mono mp3 ncurses nls opengl osmesa perl png pulseaudio
realtime run-exes ssl threads truetype udev udisks unwind v4l xcomposite xinerama xml"
Used the above with linux-5.9.10-gentoo (hardened profile) under KDE Plasma 5.20.3 I thought is might be some system config error, being just an Athlon64x2, 2Gb RAM, Nvidia 8400GS/nouveau.
...so I swapped drives with my gaming rig (Ryzen5 6-core, 8Gb RAM, RX570/amdgpu): problems reproduced.
Also tried a Macbook (Intel Core 2 Duo, 4Gb RAM, GeForce9400M) with PlayOnMac... problems reproduced on Wine 5.22 _and_ 5.0.3. Wine 3.20 works just fine.
Standard WINEDEBUG wasn't helpful, there was a _lot_ of:
fixme:d3dx:D3DXLoadSurfaceFromMemory Unhandled filter 0x5
Again, I don't have time for Bugzilla. If someone else wants to take this up, thank you.
|Operating system||Test date||Wine version||Installs?||Runs?||Used|
|Current||Gentoo Linux x86_64||Jan 02 2021||5.22||Yes||Yes||Yes||Bronze||William J May|
|Show||Debian 10.x "Buster"||May 19 2020||5.0||Yes||Yes||No||Silver||Alexander|
|Show||Arch Linux x86_64||Jan 02 2018||3.0-rc4||Yes||Yes||No||Platinum||Heinrich Bormann|
|Show||Debian GNU/Linux 8.x "Jessie" x86_64||Jun 06 2017||2.9||Yes||Yes||Gold||Centrino|
|Show||Debian GNU/Linux 8.x "Jessie" x86_64||Mar 16 2017||2.3||Yes||Yes||Platinum||Arthur Nismo|
|Bug #||Description||Status||Resolution||Other apps affected|
|16302||The Elder Scrolls IV: Oblivion intro movies can't be skipped using ESC||NEW||View|
|37508||Some Bethesda games sometimes freeze during gameplay||UNCONFIRMED||View|
|40198||Oblivion: corrupted screenshot using the stamp key||UNCONFIRMED||View|
If you're using WINE version 1.3.x or above, you can launch the game without any native DirectX DLLs, but bug #20074 is still actual for now, therefore installing DirectX9 or just placing d3dx9_27.dll to your drive_c/windows/system32 directory would be preferable.
Since stable release 1.2.1 Oblivion Game of the year works stable on many popular distros.
Although, if you're running older WINE or have some regression issues, you can use some tips listed below.
Prior running the game,you will need to obtain d3dx9_27.dll. You can obtain it using winetricks
Or you can get this from the DirectX supplied with Oblivion like this (guide adapted from http://uesp.net/wiki/Oblivion:Linux):
Âcp d3dx9_27.dll ~/.wine/drive_c/windows/system32/
If the game fails to start, try renaming the Video folder in the Data directory. The videos should work since Wine 0.9.45.
Alternatively you can enter the Video directory and remove some specific files that could cause a crash. my Video folder currently contains these files: 'bethesda softworks HD720p.bik', ' Map loop.bik', 'OblivionOutro.bik' ,'CreditsMenu.bik' and 'Oblivion iv logo.bik'; and works fine with an unaltered main menu screen.
Currently it's needed to enter some additional registry entries into Wine manually prior running the game. VideoMemorysize to the memory size your video card has. Optional key is OffscreenRenderingMode, where value 'fbo' is recommended and value 'pbuffer' has best results. See the example .reg file below:
pbuffer is only recommended if you are using 0.9.38. Should you choose to use pbuffer instead of fbo, you may have to switch off refraction shader in game's Oblivion.ini file to workaround bug 8184.
Users of ATI cards may have to set the following in Oblivion.ini to prevent it from producing solid colors on the screen.
If you experience game freezes on combat start or combat end, these are related to music change. Try loading native quartz.dll instead of Wine one. Or workaround by setting the following in Oblivion.ini
If you are having problems, or would like more info on running The Elder Scrolls IV: Oblivion more smoothly, please see the Oblivion Linux Wiki.
When you paste the comment about game graphic lag or other issue, please write your system information within the comment text!
For example, under GNU/Linux you can use following commands:
$ uname -a
$ wine --version
$ lspci | grep -i vga
And paste the output with system hardware info to the comment text. Nobody can help you without this essential information!
If you have tested newer version of WINE, you can process some next lines to test bug #20074 presence:
$ mkdir /tmp/mywinejail
$ export WINEPREFIX="/tmp/mywinejail"
$ wine "C:\MyProgram.exe"
This lines creates EMPTY directory in /tmp and your program starts without any overrides, in a FULLY CLEAR WINE PREFIX.
For our OBLIVION you can process something like that:
[assume that Oblivion prefix is "~/.wine"]
$ cp -PR ~/.wine /tmp/mywinejail
$ rm -rf /tmp/mywinejail/drive_c/windows*
$ export WINEPREFIX="/tmp/mywinejail"
$ wine "C:\Program Files\Oblivion\OblivionLauncher.exe"