wine

using wine in linux to run windows programs

wow && wine && intel i915 pt. 7

i added the following to my Config.wtf

SET hwDetect "0"
SET particleDensity "1.000000"
SET pixelShaders "0"
SET M2UseShaders "0"
SET M2UsePixelShaders "1"
SET Sound_EnableAllSound "0"
SET baseMip "1"
SET environmentDetail "0.5"
SET weatherDensity "0"
SET showfootprints "0"

now i get 16-20fps if i am inside of a building. in major cities (other than dalaran) i get 12-16fps. as soon as i go into the world environment, i get 4-6fps and sometimes it will jump to 8fps.

wow && wine && intel i915 pt. 6

i made the following changes to the dll overrides on the libraries tab in winecfg. on the wine homepage the recommend not making a lot of changes in the overrides.

i also downloaded two more .dll files and put them in the /.wine/drive_c/windows/system32/ directory -
mscoree.dll
streamci.dll

here is an excerpt from my user.reg (dont just add these lines into the user.reg you need to manually specify them in the libraries tab in winecfg otherwise you will get errors)

[SoftwareWineAppDefaultsWow.exeDllOverrides] 1241954756
"d3d8"="builtin"
"d3d9"="builtin"
"d3dim"="native"
"d3drm"="native"
"d3dx8"="native"
"d3dxof"="native"
"dciman32"="native"
"ddrawex"="native"
"devenum"="native"
"dinput"="builtin"
"dinput8"="builtin"
"dmband"="native"
"dmcompos"="native"
"dmime"="native"
"dmloader"="native"
"dmscript"="native"
"dmstyle"="native"
"dmsynth"="native"
"dmusic"="native"
"dmusic32"="native"
"dnsapi"="native"
"dplay"="native"
"dplayx"="native"
"dpnaddr"="native"
"dpnet"="native"
"dpnhpast"="builtin,native"
"dpnlobby"="native"
"dsound"="builtin"
"dswave"="native"
"dxdiagn"="native"
"mscoree"="native"
"msdmo"="native"
"msvcr80"="builtin,native"
"msvcrt"="builtin,native"
"qcap"="native"
"quartz"="native"
"streamci"="native"

i get 8-10fps inside of buildings and in some major cities (aside from dalaran) as soon as i go outside to the world environment i drop to 2-4 fps.

wine 1.1.21

i decided to download the latest development release of wine. here is a quick how to.

do not compile wine while in root.

download the latest source from the wine homepage.

put wine-1.1.21.tar.bz2 in a directory (i just put it in my user accounts home)

run tar jxf wine-1.1.21.tar.bz2

cd into the wine-1.1.21/ directory

run ./configure --with-x && make depend && make

after its done run make install

wow && wine && intel i915 pt. 5

i changed around my config.wtf and now i have a stable 6fps in game. not that 6fps is great, but at least wow is playable and stable. here is my config.wtf -

SET pixelShaders "0"
SET shadowLevel "0"
SET farclip "397"
SET ffxDeath "0"
SET ffxGlow "0"
SET ffxSpecial "0"
SET UIFaster "0"
SET readTOS "1"
SET readEULA "1"
SET readScanning "-1"
SET readContest "-1"
SET readTerminationWithoutNotice "-1"
SET installType "Retail"
SET locale "enUS"
SET movie "0"
SET showToolsUI "1"
SET realmList "us.logon.worldofwarcraft.com"
SET patchlist "us.version.worldofwarcraft.com"
SET coresDetected "1"
SET hwDetect "0"
SET gxRefresh "60"
SET gxMultisampleQuality "0.000000"
SET gxFixLag "0"
SET videoOptionsVersion "1"
SET textureFilteringMode "0"
SET mouseSpeed "1"
SET Gamma "1.000000"
SET Sound_VoiceChatInputDriverName "System Default"
SET Sound_VoiceChatOutputDriverName "System Default"
SET Sound_OutputDriverName "System Default"
SET ChatMusicVolume "0"
SET ChatSoundVolume "0"
SET ChatAmbienceVolume "0"
SET Sound_MusicVolume "1"
SET Sound_AmbienceVolume "0.30000001192093"
SET particleDensity "1.000000"
SET spellEffectLevel "6"
SET realmName "Sargeras"
SET gameTip "129"
SET VoiceActivationSensitivity "0.39999997615814"
SET gxWindow "1"
SET Sound_ZoneMusicNoDelay "1"
SET accounttype "LK"
SET EnableMicrophone "0"
SET EnableVoiceChat "1"
SET PushToTalkButton "LCTRL"
SET Sound_EnableErrorSpeech "0"
SET Sound_EnablePetSounds "0"
SET Sound_SFXVolume "0.60000002384186"
SET accountName "michael.a.pass@gmail.com"
SET gxResolution "800x600"

i really hope someone out there is using the same hardware i am and has a success story of using wine and wow. the specific problem is the i915 graphics card. apparently it doesnt play nice with opengl……..

my current system is as follows -
DELL XPS M140
Intel(R) Pentium(R) M processor 1.86GHz
Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller
2g DDR RAM
60G IDE HDD

wow && wine && intel i915 pt. 4

so i have decided a whole new approach. i used cfdisk to delete my xp partition and split the 42g into two more partitions for /home and /extra. /extra is going to be for packages, media, and the like.

i made sure i backed up the following folders and files from the windows world of warcraft directory –
Patches/
Updates/
WTF/
WoW-3.0.1-to-3.0.2-enUS-Win-Update-downloader.exe*
WoW-3.0.2.9056-to-3.0.3.9183-enUS-downloader.exe*
WoW-3.0.2.9056-to-3.0.3.9183-enUS-patch.exe*
WoW-3.0.3.9183-to-3.0.8.9464-enUS-downloader.exe*
WoW-3.0.3.9183-to-3.0.8.9464-enUS-patch.exe*
WoW-3.0.8.9464-to-3.0.8.9506-enUS-downloader.exe*
WoW-3.0.8.9464-to-3.0.8.9506-enUS-patch.exe*
WoW-3.0.8.9506-to-3.0.9.9551-enUS-downloader.exe*
WoW-3.0.8.9506-to-3.0.9.9551-enUS-patch.exe*
WoW-3.0.9.9551-to-3.1.0.9767-enUS-downloader.exe*
WoW-3.1.0.9767-to-3.1.1.9806-enUS-downloader.exe*
WoW-3.1.0.9767-to-3.1.1.9806-enUS-patch.exe*
WoW-3.1.1.9806-to-3.1.1.9835-enUS-downloader.exe*
WoW-3.1.1.9806-to-3.1.1.9835-enUS-patch.exe*

this way i didnt need to wait for the humongous download when i update wow, i can just patch it after installing the 3 dvds. so i need to resintall wow all over again. i have the wow trial install dvd, but the .exe is hidden, so i mounted the dvd manually –
mike@elizebeth:~$ sudo mount -t udf -o ro,unhide /dev/cdrom /media/cdrom/

then i went into the directory and ran the install file – mike@elizebeth:/media/cdrom$ wine Installer.exe

the wow install screen loaded up fine (i think it looked better than it did in windows, with windows wow seemed very grainy) - wowinstall
the wow install went very smoothly with no errors and i also installed DirectX while i had the wow dvd mounted. i mounted the burning crusade same as i did the wow cd and installed them - wowbcinstall1

i mounted the WotLK dvd the same as i did the previous dvds. when i ran the installer i got the following – mike@elizebeth:/media/cdrom$ wine Installer.exe
err:wineboot:pendingRename couldn't get file attributes (2)
wine: could not load L"D:Installer.exe": Module not found

i read on another forum that there were 2 more .dll files i may need to get WotLK working with wine -
mshtml.dll
wininet.dll

i downloaded both files and put them in /mike/.wine/drive_c/windows/system32/

after copying those files, i tried a different method of mounting the dvd -
mike@elizebeth:/media$ sudo mount /dev/cdrom/ -o ro,unhide,uid=1000 /media/cdrom/

finally, after copying the .dll files over and changing the way i mounted the dvd drive i was able to access the files on the WotLK dvd and install the game - wowwotlkinstall

then i moved all the wow files and folders i backed up earlier into the new wow directory and ran wow. it went through and updated and patched everything perfect. i launched the game and i am still hovering around 4fps in major cities and outside of major cities i can usually get around 8+ fps. looks like i need to tweak wine a little more.

wine 1.1.20

wine 1.1.20 was release last week.  i downloaded it this morning and upgraded to 1.1.20 from 1.1.19.  the new fixes may be an encrouagement to people trying to play graphics intensive windows games on a linux box using wine.  the shortlog has a list of all the new fixes.

there has been several changes to the wineD3D as well.  i am hoping the changes may help windows games dependant on D3D to run better in linux.

wow && wine && intel i915 pt. 3

so i did some more searching and found that this site has some useful troubleshooting tips. i tried the following.

editing my Config.wtf again and added -
SET ffxDeath "0"
SET ffxGlow "0"
SET ffxSpecial "0"
SET UIFaster "x"

for SET UIFaster "x" x =
0 – this turns off all ui acceleration
2 – enables partial uI acceleration only.
3 – enables all ui acceleration.

i set mine to “2″ to test and see if it works.

this site also recommended putting .dll files into the wine source directory. i grabbed all 4 and put them in /home/mike/.wine/drive_c/windows/system32

here are the links they have to the .dll downloads -

i also ran winecfg and went to the graphics tab and unchecked allow pixel shader

lastly, i removed the opengl registry fix i added in a previous post.

i got the log in screen to load nicely, with sound -
wowlogin

it worked great, in the city of ironforge i ranged from 5-10 fps. outside of any major city the fps would be up over 10. i also joined a battleground (arathi basin) and the fps stayed around 6fps. it was tolerable but by no means super awesome. next i want to try and find a way to get my fps up to what it normally is under windows, which ranges from 28-36 fps

wow && wine && intel i915 pt. 2

so i removed the lines i added to the Config.wtf and left the registry change i made and tried to launch world of wow again. here are the results -

mike@elizebeth:~$ wine /home/mike/.wine/drive_c/wow/Wow.exe
fixme:advapi:SetSecurityInfo stub
archive DataenUSpatch-enUS.MPQ opened
archive Datapatch.MPQ opened
archive DataenUSpatch-enUS-2.MPQ opened
archive Datapatch-2.MPQ opened
archive Dataexpansion.MPQ opened
archive Datalichking.MPQ opened
archive Datacommon.MPQ opened
archive Datacommon-2.MPQ opened
archive DataenUSlocale-enUS.MPQ opened
archive DataenUSspeech-enUS.MPQ opened
archive DataenUSexpansion-locale-enUS.MPQ opened
archive DataenUSlichking-locale-enUS.MPQ opened
archive DataenUSexpansion-speech-enUS.MPQ opened
archive DataenUSlichking-speech-enUS.MPQ opened
fixme:win:EnumDisplayDevicesW ((null),0,0x39edac,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x39ebf4,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x39f3f0,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x39f588,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x39f584,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x39f578,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x39f600,0x00000000), stub!
fixme:d3d:WineD3D_ChoosePixelFormat Add OpenGL context recreation support to SetDepthStencilSurface
fixme:d3d:IWineD3DDeviceImpl_CreateQuery (0x13c3a0) Event query: Unimplemented, but pretending to be supported
fixme:win:EnumDisplayDevicesW ((null),0,0x39f140,0x00000000), stub!
fixme:dsalsa:IDsDriverBufferImpl_SetVolumePan (0x150c68,0x150b68): stub
fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (9800000c)
fixme:win:EnumDisplayDevicesW ((null),0,0x39deec,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x39df24,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x39df04,0x00000000), stub!
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (5000): STUB
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT 5000
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (5000): STUB
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT 5000
fixme:reg:GetNativeSystemInfo (0x37404084) using GetSystemInfo()
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONTEXT_VALUE; STUB
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONTEXT_VALUE; STUB
Mesa 7.0.3 implementation error: i915_program_error: Exceeded max nr indirect texture lookups
Please report at bugzilla.freedesktop.org
DRM_I830_CMDBUFFER: -22

so then i tried to run wow using -opengl
mike@elizebeth:~$ wine /home/mike/.wine/drive_c/wow/Wow.exe -opengl
the game opens and goes to the login screen, sound works, but video is awful and was the same as my previous post.

wow && wine && intel i915 pt. 1

the only reason i currently have dual boot with slackware 12.2 and windows xp is because i like to play world of warcraft.  now i know it is possible to get wow working in linux using crossover games (no, i did not pay for this, the owner of codeweavers did a 1 day deal where you could download both crossover games and pro for free).  i was never able to get crossover games to even successfully load wow at all.  with wine i was able to get wow installed, configured, loaded and was able to play, however i was only getting 2-4 fps in game.  now that i have the proper drivers for my video card, i want to figure out a way to get wow working flawlessly with wine.  if windows can run it then slackware can do it better.

i already have world off warcraft installed on a windows partition on my hard drive. so i sym linked the world of warcraft folder to my wine directory using
root@elizebeth:/# ln -s /xp/World of Warcraft /home/mike/.wine/drive_c/wow

i added the following to my Config.wtf (it is located in /World of Warcraft/WTF/)

SET gxAPI "opengl"
SET ffxdeath "0"
SET M2UseShaders "0"
SET SoundOutputSystem "1"
SET SoundBufferSize "150"

then i ran regedit for wine and went to HKEY_CURRENT_USER/Software/Wine. then right-click then choose new -> string value and name it OpenGL. then double click on the newly created string and under value data add GL_ARB_vertex_buffer_object

then i tried to launch wow
root@elizebeth:/home/mike/.wine/drive_c/wow# wine Wow.exe

here is a screenshot -
wowfail

the graphics are not rendering properly. time to revert the previous registry and Config.wtf changes i made and try again.

wine 1.1.19

i followed this site for more on setting up wine.

i already installed wine 1.1.19 from winehq

edit /etc/rc.d/rc.modules
and uncomment
/sbin/modprobe binfmt_misc
(i think its line 613)

add
none /proc/sys/fs/binfmt_misc binfmt_misc defaults 0 0
to your /etc/fstab

add
echo ':windows:M::MZ::/path/to/wine:' > /proc/sys/fs/binfmt_misc/register
echo ':windowsPE:M::PE::/path/to/wine:' > /proc/sys/fs/binfmt_misc/register
to your /etc/rc.d/rc.local. this makes it so you can sat any .exe to be executable and it will launch with wine.