Page 1 of 70 1231151 ... LastLast
Results 1 to 10 of 692

Thread: Oblivion under Ubuntu with Wine

  1. #1
    Join Date
    Apr 2006
    Location
    USA
    Beans
    205
    Distro
    Ubuntu 6.10 Edgy

    Oblivion under Ubuntu with Wine

    The new Offical home of this HOWTO:
    http://www.uesp.net/wiki/Oblivion:Linux
    The most up-to-date version will be there. If you have a problem check the wiki before posting an issue in the fourms here.

    Oblivion under Ubuntu with Wine.

    Here's my first HOWTO on the Ubuntu Forums. If I **** something up post a fix or comment, since I'm mostly going by memory here. I saw some requests for this, and I thought this would be a great way to support Ubuntu. =)

    As of this writing WINE 0.9.29 provides the best play experience. The GIT and 0.9.30 release now have improved D3D caps support, however this causes rendering errors for skinned meshes. Mostly in the form of bad shadow maps and improper skinning. This isn't a guide about developing wined3d, so let's get the last working version.

    1. Where do you get Wine?
    Normally you could use the winehq.org site's guide to setup for Ubuntu, however 0.9.29 is now in the archives at wine.budgetdedicated.com.


    2. Pick the package for the version of Ubuntu
    You just need to download and install the package you need based on your distro, which will be either Edgy or Dapper. If you're on x86_64 you can just use the same i386 package by using the --force-architecture flag. You'll need to install lib32 support of course if you're on x86_64, and don't forget asound32 for your ALSA sound!

    Code:
    	# x86_64 users should install the needed ia32-libs and force
    	apt-get install -u ia32-libs lib32asound2 lib32z1 lib32stdc++6 linux32 
    	dpkg -iE --force-architecture wine_0.9.29~winehq0~ubuntu~6.10-1_i386.deb
    
    	# i386 users just install as normal
    	dpkg -iE wine_0.9.29~winehq0~ubuntu~6.10-1_i386.deb

    3. Wine setup is critical to getting this off the ground. First make sure your .wine is 'modern and complete'. This won't hose your old settings, but it will fix problems if you have setup from an older version of wine.

    Code:
    	wineprefixcreate

    4. Setup Wine for running Oblivion.
    You may also need to copy d3dx9_27.dll to your ~/.wine/c_drive/Windows/System32 if needed. 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.

    Code:
    	# This could be /media/cdrom or whatever your DVD mount point is called.
    	apt-get install cabextract
    	cabextract /media/cdrom/DXREDIST/Aug2005_d3dx9_27_x86.cab
    Now on to the main event WINE configuration.

    Code:
    		winecfg
    Once you load up winecfg you can do most of your tweaking in this nice GUI.

    Graphics tab.

    Code:
    	[x] Emulate a virtual desktop 
    	Desktop size: [1024]  x  [768]
    
    	Vertex Shader Support [Hardware]
    	[x] Allow Pixel Shader
    You can disable the virtual desktop, however if you have a misbehaving game it'll screw up your display resolution just like in Windows when it falls back. How's that for compatibility? =)


    Audio tab.

    Code:
    [x] ALSA Driver
    
    	Hardware Acceleration [Emulation]
    	Default Sample Rate [44100]       Default Bits Per Sample [16]
    	[x] Driver Emulation
    Desktop Integration tab.

    Here you should make a folder as your 'Windows folder base' and populate it. I use ~/Documents/Windows/. After you make these folders match them up in this interface, since Oblivion follows the logo requirements and uses a 'My Games' folder.

    Code:
    mkdir -p ~/Documents/Windows/{Desktop,Documents,Pictures,Music,Video}
    Your ini and saved games will be under:

    Code:
    ~/Documents/Windows/Documents/My Games/Oblivion/
    I copied my old save games and such to the 'Saves' folder under Oblivion, and they all worked fine.


    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. In my example it's '/opt/games/Windows/CDROM/'.


    If you have the space I'd suggest copying your Oblivion DVD to a disk image, so you can keep it in your Collector's box. You all bought the Collector's Edition didn't you? Well you should it has some cool stuff. Here's a handy, dandy bash script to mount your Oblivion.iso.

    Code:
    #!/bin/sh
    ISO=/opt/iso/Oblivion.iso
    sudo mount -o loop -t iso9660 $ISO /opt/games/Windows/CDROM/

    5. Registry editing in Wine. Run the command below and it'll pop-up a Wine version of regedit.

    Code:
    wine regedit.exe
    Now browse HKEY_CURRENT_USER / Software / Wine / Direct3D. Right click in the pane to make New > String Value for each of the following key pairs:

    Code:
    OffscreenRenderingMode	fbo
    	UseGLSL					enabled
    	VideoMemorySize		256
    Make sure you have 256MB of video memory and GLSL support before enabling. Set whatever is needed for your card, but note w/o GLSL Oblivion won't run. I use a Nvidia 6800 GS with 256MB of RAM, and it gets it done.


    6. Installing 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 I use G: for my /opt partition. After this Wine will see the correct disk space for /opt on the G: drive.


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

    7. Install the patch. Go grab the 1.1.5xx patch for Oblivion, and install it under Wine. If you installed Oblivion under Wine then this is just watching the bar scroll to complete.


    Code:
    	# Check for your version's latest patch.  I use 'English'.
    	http://www.elderscrolls.com/
    	wine Oblivion_v1.1FinalEnglish.exe

    8. First run. I suggest copying the Oblivion icon on your desktop to your Windows/Desktop. Go ahead and run the icon or OblivionLaucher.exe directly once. Set the general options you want, and exit. You'll want to reduce your game resolution and lower defaults as needed. In general I find the types of shaders are the real slow down more than the draw distance, etc. Turn off HDR/Bloom or you won't see anything. =)


    9. Tweaking Oblivion.ini. There are a lot of sites that do an entire article on just this, however I'd suggest at least these two changes:


    Code:
    	bForce1XShaders=0
    	bSaveOnInteriorExteriorSwitch=0
    	SIntroSequence=
    	bUseWaterShader=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. Hell, you shouldn't be using these in Windows either. If you don't care about looks so much you can enable gobal light model, which is much faster and looks much worst as well. 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. I'd suggest editing the texture below to be a highly transparent light grey, or whatever you perfer.

    If you get 'purple water' once you turn off the water shader you can fix that by using Excors' replacement DDS texture:
    Code:
    # Just extract the contents ( 'Data\Textures\water\water00.dds' ) into your Oblivion/Data directory.
    http://games.build-a.com/oblivion/watertexture.zip
    10. Playing! Now you can finally play the game. I suggest disabling all the debug spew to get more performance. Also here is the shell script I use.


    Code:
    	#!/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
    The new Offical home of this HOWTO:
    http://www.uesp.net/wiki/Oblivion:Linux

    You should also visit the Wine AppDB page:
    http://appdb.winehq.org/appview.php?iVersionId=5777

    Here's a screenshot of Oblivion in Wine at my blog for the old version of this HOWTO:
    http://mongooseichiban.blogspot.com/...nder-wine.html

    Here's a screenshot of Oblivion in Wine for the current version of this HOWTO:
    http://www.flickr.com/photos/terryhendrix/377865984/
    Last edited by Mongoose; February 12th, 2007 at 07:10 AM. Reason: Update, readibility

  2. #2
    Join Date
    Jan 2007
    Beans
    196

    Re: Oblivion under Ubuntu with Wine

    wine has now been upgraded to wine-0.9.30

    anyways thanks for this howto, I'm gonna try it when I feel like finishing my oblivion game.

  3. #3
    Join Date
    Apr 2006
    Location
    USA
    Beans
    205
    Distro
    Ubuntu 6.10 Edgy

    Re: Oblivion under Ubuntu with Wine

    Don't use 0.9.30 -- I just said it won't work very well. Please read more carefully. =)

  4. #4
    Join Date
    Aug 2006
    Location
    tuesday
    Beans
    6,502
    Distro
    Kubuntu Development Release

    Re: Oblivion under Ubuntu with Wine

    Beautiful howto, i'll be trying this out later. ^_^

  5. #5
    Join Date
    Feb 2006
    Beans
    276

    Re: Oblivion under Ubuntu with Wine

    Quote Originally Posted by hikaricore View Post
    Beautiful howto, i'll be trying this out later. ^_^
    Sweet! Last Time I checked oblivion was nearly unplayable. Those guys from wine make great progress. Can't wait for 0.9.31

  6. #6
    Join Date
    Feb 2006
    Beans
    276

    Re: Oblivion under Ubuntu with Wine

    Ok tried it myself, but ran into an crash upon launching the game. I googled it up and it seemed I had to remove *.bik from Data/Video then it worked.

  7. #7
    Join Date
    Apr 2006
    Location
    USA
    Beans
    205
    Distro
    Ubuntu 6.10 Edgy

    Re: Oblivion under Ubuntu with Wine

    In Oblivion.ini you can clear out this entry instead of moving files around, which is hacky:

    SIntroSequence=

    This way you can see the logo and map on the main game menu, and skip the company and production movies which likely cause your crash.

  8. #8
    Join Date
    Jan 2007
    Location
    Louisiana
    Beans
    33
    Distro
    Ubuntu 7.04 Feisty Fawn

    Re: Oblivion under Ubuntu with Wine

    Curious what kind of settings you get, how it all looks in general, how the audio is, etc. I've just rebuilt and I'm packing a 7950GT. I want to know that I'll get good performance along with a gratifying visual and audio experience.

  9. #9
    Join Date
    Apr 2006
    Location
    USA
    Beans
    205
    Distro
    Ubuntu 6.10 Edgy

    Re: Oblivion under Ubuntu with Wine

    First, a warning about my current config. I have about everything that works in Wine 'maxed out' when I play. I have a large shadowmap memory setting, large textures, and I even enabled more options than the default. I leave shadows and all that jazz enabled as well. I like how the refraction shader looks, so I leave that on as well. That's including turning on all the SM2.0 options including the SM2.0 lighting path. I use a 6800 GS btw, and I turn on a few extra threads for various options since I have an AMD64x2.

    I get 30-60fps 'indoors' and anywhere from 2-70fps 'outside' with the same 'maxed out config'. I can run around in caves with a torch throwing fireballs and fighting 2-3 people at once with 30-60fps, and that's typical usage for my gameplay. It's really uneven 'outside' due to the fact that at night you can get 70fps in the same area that gets 2fps in the sunlight. The way to get around this issue and not disable any shaders in the ini is to use 'Oblivion batch files' to toggle them on and off as needed. I can't remember, but I think 0.9.30 doesn't have this huge slowdown problem. Given 0.9.30 breaks mesh skinning you don't want to bother with it, since broken mesh animation/rendering ruins the game more than a slow down you can avoid.

    I think the slow down might be caused by only 1 or 2 shaders using a slow code path in Wine. The worst I've seen is where you have an ungodly amount dynamic lights across a rampart, but that's always going to be slow even if you were in Windows. I would try toggling the various shaders on and off to see what works best for your card.

    You can also use Ultra Ugly gobal lighting path, which seems to enable a vertex color light model. If you really wanted to max out performance you could find the trouble shaders and rewrite them. I think you can get over 200fps pretty easy then, but why would you want to at that point? =)

    I'm revising this HOWTO at my site, and plan to roll the 'fixes' back into this fourm post once I have time to take some screenshots.

    http://www.icculus.org/~mongoose/OblivionHOWTO.html

    Here's a link to an article on using batch files and console commands:
    http://www.tweakguides.com/Oblivion_11.html
    Last edited by Mongoose; February 2nd, 2007 at 01:47 AM. Reason: Link to batch guide.

  10. #10
    Join Date
    Jan 2007
    Location
    Louisiana
    Beans
    33
    Distro
    Ubuntu 7.04 Feisty Fawn

    Re: Oblivion under Ubuntu with Wine

    Thanks a lot, Mongoose. I was going to install a Windows partition just so I could play Oblivion trouble free, but your guide looks solid, and your explanation on your performance only solidifies my complete abstinence from Windows

Page 1 of 70 1231151 ... LastLast

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •