World of Warcraft on FreeBSD

(Not really a question, but just an observation. :))

I recently migrated my main workstation, a Dell XPS M1530 laptop, from ArchLinux64 to i386 FreeBSD 8-CURRENT. I wanted to go for amd64 FreeBSD, but it seems that the nVidia driver is still in development and the i386 driver doesn't work with PAE. Kinda bummed that I end loosing 512mb of ram, but hopefully that will be remedied eventually.

Anyways, the main reason I decided to switch was because I run FreeBSD 7.1 on my dedicated server, and I am developing a web hosting CP in python aimed at FreeBSD. It was getting increasingly difficult to test under Linux, and I didn't really want to test features/changes on my production server. That, and I had fell in love with the ports system. :) I had a couple little bumps in getting it all setup, but everything is working well now.

Which brings me back to my main topic... the other thing I spend a good chunk of my free time doing is playing WoW (World of Warcraft). After I rsync'd back my home directory after getting FreeBSD setup and wine installed from ports, I fired up WoW.

I was blown away. My framerates under FreeBSD are almost double then they were under Linux! :O Under Linux, to get decent performance I had to write a shell wrapper script to renice the Wow.exe process and use schedtool to make WoW use the second core, else I'd get lots of framerate drops even with nothing running. Forget trying to have firefox in the background. With FreeBSD, I need not to do any of that and it's far better performance!

Is FreeBSD's scheduler really that much better than Linux for wine games? Or is it the fact that my 64bit Linux was giving me a huge performance hit compared to 32bit? (Never ran 32bit Linux on this laptop)

Either way, I'm very impressed and totally sold on FreeBSD for the desktop aswell as servers now. :)

(Sorry for the backstory :p)
 
I really didn't need to do anything special, as I just copied over my WoW folder Linux.

Basically, just install the emulators/wine port. Then you can install from the cds/dvds. I believe the only changes I had to make to my Config.wtf was to enable opengl. (I can post later if you want)

Then I have the following as a wrapper script.
Code:
#!/bin/sh

xset r off
wine ~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/Wow.exe
xset r on

The xset's are for disabling/enabling key repeating with the new Xorg. WoW really doesn't like it on with new version.
 
Hi Kano,

do you remember any pitfalls you faced and solved while setting up wow in wine? I have it working too, but it is slow, the mouse cursor has an high delay and hickups every few seconds make it unplayable. libGL(nvidia's one) is loaded, openGL works.
I'm curious if there are some tricks with the crude HAL maybe? The same settings working flawless under Slackware, but no luck with FBSD so far. Unfortunately I have no error messages to post nor logs to watch. So I'm down to trail 'n error an meta questions.
Any idea?

7.2-RELEASE-p2
wine-1.1.27,1
NVIDIA-FreeBSD-x86-185.18.31


Best regards, Dexom
 
My Config.wtf contains
Code:
SET gxApi "opengl"
For the case that something is wrong with this setting (eg. syntax), 'wine path_to_exe -opengl' gave the same results in performance.
 
I don't think I did anything special to get it working under FreeBSD, but I had it working decent under Linux before and copied my entire ~/.wine directory when I switched.

OS is set to Windows XP in winecfg.

I am using:
FreeBSD 8.0-BETA2 (debugging disabled)
wine-1.1.27,1
nvidia-driver-185.18.29

Hardware is a nVidia 8600M GT, Intel Core 2 Duo 2.4GHz, 4gb of DDR2 (3.5gb by FreeBSD cause of i386 :/). I run at 1440x900 resolution.


Here's my Config.WTF.
Code:
SET locale "enUS"
SET realmList "us.logon.worldofwarcraft.com"
SET patchlist "us.version.worldofwarcraft.com"
SET coresDetected "2"
SET hwDetect "0"
SET gxRefresh "50"
SET gxMultisampleQuality "0.000000"
SET gxApi "opengl"
SET videoOptionsVersion "2"
SET movie "0"
SET Gamma "1.000000"
SET showToolsUI "1"
SET Sound_OutputDriverName "pcm0:mixer"
SET Sound_MusicVolume "1"
SET Sound_AmbienceVolume "1"
SET farclip "617"
SET gxWindow "1"
SET gxMaximize "1"
SET gxResolution "1440x900"
SET mouseSpeed "1"
SET readTOS "1"
SET readEULA "1"
SET accounttype "LK"
SET VoiceActivationSensitivity "0.39999997615814"
SET ChatMusicVolume "0.29999998211861"
SET ChatSoundVolume "0.39999997615814"
SET ChatAmbienceVolume "0.29999998211861"
SET realmName "Eonar"
SET gameTip "44"
SET gxVSync "0"
SET windowResizeLock "1"
SET textureFilteringMode "0"
SET readScanning "-1"
SET readContest "-1"
SET readTerminationWithoutNotice "-1"
SET installType "Retail"
SET Sound_EnableErrorSpeech "0"
SET Sound_ZoneMusicNoDelay "1"
SET environmentDetail "0.75"
SET uiScale "0.84999996423721"
SET useUiScale "1"
SET Sound_MasterVolume "1"
SET groundEffectDist "80"
SET Sound_NumChannels "64"
SET Sound_SFXVolume "1"
SET weatherDensity "0"
SET ffxGlow "0"
SET lastCharacterIndex "6"
SET particleDensity "0.40000000596046"
SET accountName "me@domain.com"
SET gxFixLag "0"
SET componentTextureLevel "9"
SET projectedTextures "1"
SET checkAddonVersion "0"
SET Sound_OutputQuality "2"
SET groundEffectDensity "24"
SET ffxDeath "0"
SET Sound_EnableReverb "1"
SET Sound_OutputDriverIndex "1"
SET Sound_EnableSoundWhenGameIsInBG "1"
 
Thanks for your attention Djn and kano. And sorry for the delay, I'm short on time.

Today I had a look again on the issue and it turned out that I made a plain dumb mistake. Building the nvidia module without freebsd-agp support but having agp in the kernel is not that smart.
Recompiling the nvidia-driver with "FREEBSD_AGP" did the job.
The game runs now smooth and stable.

Regards, Dexom
 
Back
Top