Wine/Misc

In this article you may read all sorts of useful information and relevant extra tips and tricks to the Wine guide.

Voice Chat
If you choose to configure Wine to use OSS for sound, then you will experience an issue with making voice chat applications and WoW use sound input and output simultaneously. You need to be able to mix sound in order for this to work, but most modern onboard soundcards don't support hardware sound mixing, so either you'll have to get a PCI soundcard, which supports this feature, or use software mixing. The issue with software mixing comes down to the two different sound interface architectures available in Linux, OSS and ALSA.

OSS (old/legacy): Doesn't allow you to use software mixing. Meaning only ONE application will be able to use sound at a time.

ALSA (new): Allows software mixing. Meaning several programs can use sound simultaneously.

However, as stated previously in this howto, for some people the sound may stutter or be otherwise corrupted when using ALSA, this may force you to use OSS.

So you see the problem:
 * WoW runs in Wine, ergo uses OSS (newer versions of wine 0.9.46+ have a good ALSA support, so no need to use alsa-oss for WoW)
 * Ventrilo runs in Wine, ergo uses OSS
 * The GNU/Linux version of TeamSpeak is based on OSS

Only one of these applications will be able to use sound at a time, but this can be solved by using alsa-oss, which channels OSS applications through ALSA, making them work more or less like regular ALSA programs. You should check for distro native installation methods, or just install it from a tarball file found here: ftp://ftp.alsa-project.org/pub/oss-lib/

One uses Alsa-Oss by starting the programs with the "aoss" command in front, something like this: aoss /path-to-program/TeamSpeak

aoss wine /path-to-program/Ventrilo.exe

aoss wine /path-to-program/WoW.exe

Remember that both the voice chat program and WoW need to be run with the aoss command in front.

Another somewhat more advanced method of fixing this problem is to use Dmix. Follow these wonderful instructions: http://alsa.opensrc.org/index.php?title=DmixPlugin

Example .asound.rc for Dmix
pcm.dsp0 { type plug slave.pcm "hw:0" } ctl.mixer0 { type hw    card 0 } pcm.dsp0 { type plug slave.pcm "dmix" } ctl.mixer0 { type hw    card 0 }
 * 1) ALSA
 * 1) OSS

Ventrilo
For installation and configuration instructions on Ventrilo see: http://appdb.winehq.org/appview.php?iVersionId=3936

Mangler
If you don't want to fuss around with getting Ventrilo working in wine, you can use Mangler, which is compatible with current Ventrilo servers, Mangler uses Pulseaudio only. See: http://www.mangler.org/

PulseAudio
If you use PulseAudio as your sound system and want to take advantage of the features of PulseAudio, you will need a version of Wine patched with PulseAdio support. You can try Neil Wilson’s Wine package or compile Wine from source using Art's instructions. I have successfully used both methods.

After you've installed the patched version of Wine, simply run winecfg and in the Sound tab, check 'PulseAudio'. Wine should now use PulseAudio directly. You can verify this by starting the PulseAdio volume control (pavucontrol). In the Playback tab you should no longer see any references to ALSA.

You no longer need any additional commands to get sound - a simple "wine /path-to-program/WoW.exe" and/or "wine /path-to-program/Vertrillo.exe" should be enough.

In-Game Voice Chat with USB Headsets
Here are the steps I took to get World of Warcraft Voice Chat working on Linux + Wine. On my system, I like game sound over speakers, and voice chat all via the Headset.

Requirements:
 * 1) Working ALSA drivers for your sound card(s).
 * 2) Working Wine installation and are able to play WoW using Wine. (Wine version 0.9.46)

1) Configure ALSA.

First thing we need to know is what device number or headset is. Open up a terminal and type the following:

cat /proc/asound/cards

You should then see something like this: 0 [Audigy        ]: Audigy - Audigy 1 [SB0090] Audigy 1 [SB0090] (rev.3, serial:0x511102) at 0xe880, irq 23 1 [Headset       ]: USB-Audio - Logitech USB Headset Logitech Logitech USB Headset at usb-0000:00:0a.0-6, full speed

This shows us our main card, and our USB Headset. - Device #0 is our Audigy - Device #1 is our Logitech USB Headset.

Now edit your ~/.asoundrc file and add the following. pcm.headset { type hw     card 1 } ctl.headset { type hw     card 1 }

2) Edit the Wine registry file located in ~/.wine/user.reg and add the following section to the end of the file:

[Software\\Wine\\Alsa Driver] "AutoScanCards"="N" "DeviceCount"="2" "DevicePCM1"="default" "DevicePCM2"="headset"

3) Configure Wine to use ALSA. Open up a terminal and run: winecfg

Once the winecfg main windows is up, navigate to the "Audio" tab. Here you will see a list of Sound Drivers available to Wine.
 * 1) UN CHECK "OSS Driver"
 * 2) CHECK "ALSA Driver"

Within the "Alsa Driver" tree you should now see your device(s) within the "Wave Out Devices" and "Wave In Devices". Here is what my Alsa Driver tree looks like:

- - Sound Drivers |- Alsa Driver |- Wave Out Devices |- ADC Capture/Standard PCM Playback (or however it lists your sound card) |- USB Audio |- Wave In Devices |- ADC Capture/Standard PCM Playback (or however it lists your sound card) |- USB Audio

Now, at the bottom of this tab we need to change some options. Make sure the following options are set:
 * 1) "Hardware Acceleration:" to "Full"
 * 2) "Default Sample Rate:" to "44100"
 * 3) "Default Bits Per Sample:" to "16"
 * 4) CHECK "Driver Emulation"

Now click "Apply", then click "OK".

4) Start WoW

Now configure your voice chat settings just as you would on windows!

In-Game Voice Chat with USB Headsets using PulseAudio
See Wine_miscellaneous_info to setup Wine to use PulseAudio.

If you have sound working via PulseAudio, everything should work just like as it would on Windows.

Be sure you have PulseAudio configured to be able to record from your headset. You can do this by using the Input Devices tab in the Volume Control (pavucontrol). You can test recording by using the Sound Recorder (or any other recording program).

You can configure the voice chat settings from within WoW (just like on Windows). You'll see the full name of the headset in the devices list. Mine reads "Logitech_G35_Headset Analog Mono" (for the microphone) and "Logitech_G35_Headset Analog Stereo" for the speakers.

It is also possible to use pavucontrol to (re-)direct sound input and output. For the best usage, set all devices to "System Default" within WoW. In the Playback (and Recording) tab of pavucontrol you should see WINE [WoW.exe]. Simply click on the button to the right and select the device you want to attach to the audio stream. The advantage of using this method is that WoW will not re-initialize the sound system.

AntiAlias OpenGL nVidia
Verified working (very obvious difference) using nvidia driver version 9755 and WoW 2.0.12. You MUST disable full screen glow to make this work. In config.WTF, that's:

SET ffxGlow "0"

With this done, and antialiasing set in nvidia-settings, antialiasing works. If you remove this line, the antialiasing doesn't work, although setting it high still slows things down as though it was working.

Not verified for ATI.

The Wine OpenGL maintainer says that this won't work; my guess is this refers to actually setting multisampling inside WoW. You can override the settings, but once again, this works only if full screen glow is off -- a commonly reported symptom for WoW users, apparently.

Don't forget to place in your .xinitrc file, or add to the Sessions/Startup Programs (when using Gnome) the following command:

nvidia-settings --load-config-only

That command will load the configuration file, send the values specified therein to the X server, and exit. Thus, all your settings will be automatically loaded next time you log on.

Scalable WoW Icon


Simply save this SVG to a location in your home path, and assign you launcher to use it. With Gnome it's as simple as right clicking the launcher, going to properties, and then finally clicking the button with the current icon, and finding the replacement. This icon should be far more appealing and allow you to make it larger, with no text as is a current desktop fad, without horrible pixelation.

Make the Video Options menu partially work
Use the mod listed here
 * You will not be able to adjust things like resolution, window mode, etc. But, this does mean however you can modify everything else and not crash on clicking 'Okay".
 * As of May 23 2007 it seems to work by clicking "Okay"

All Available Options
Config.wtf_defaults

Typical Config.wtf
SET gxResolution "1024x768" SET gxRefresh "60" SET hwDetect "0" SET movie "0" SET readTOS "1" SET realmList "us.logon.worldofwarcraft.com" SET gxMultisampleQuality "0.000000" SET readEULA "1" SET readScanning "-1" SET realmName "" SET gameTip "54" SET gxCursor "0" SET SmallCull "0.040000" SET frillDensity "32" SET farclip "357" SET Gamma "0.600000" SET MusicVolume "0.60000002384186" SET SoundVolume "1" SET SoundOutputSystem "1" SET SoundBufferSize "150" SET MasterVolume "1" SET ffx "0" SET AmbienceVolume "0.60000002384186" SET uiScale "1" SET mouseSpeed "1" SET cameraPitchMoveSpeed "90" SET cameraYawMoveSpeed "180" SET cameraPitchSmoothSpeed "45" SET cameraYawSmoothSpeed "180" SET cameraSmoothStyle "0" SET cameraSmoothTrackingStyle "0" SET cameraDistanceMaxFactor "1" SET SoundZoneMusicNoDelay "1" SET gxColorBits "24" SET gxApi "opengl" SET statusBarText "1" SET ffxDeath "0" SET minimapZoom "0" SET guildMemberNotify "1" SET profanityFilter "0" SET readContest "-1" SET minimapInsideZoom "5" SET gxDepthBits "24" SET accountName ""

Performance Boost
Note: If your Kernel runs the CFS Scheduler this performance boost doesn't work since this command will make it really a low priority process (Eg. If you're watching a website and it refreshes major CPU power will be destined to the browser, slowing down WoW). Newer distributions as Ubuntu 7.10 use CFS Scheduler.

You may improve the overall game performance and FPS if you change the default priority WoW runs with by starting it with the nice command. Using a terminal window type the following command:

nice -15 wine wow

But if you want to change the priority of a WoW process that is already running, the command to use is renice. For both nice and renice commands the priority values range from -20 to +19 and negative numbers raise the priority of a task while positive numbers lower it. Only the superuser can specify negative numbers (thus raising the priority of a process).

Lets imagine you are running WoW and want to change the priority without leaving the game. First you need to discover what is the Process ID (PID) of WoW (wich is running under Wine). In a terminal window type:

ps -ef | grep wineserver

The PID is that number in the first line, second column of the output text. Remember that the PID will always be a different number every time you execute WoW. Lets suppose that this time the PID is 12345. Change its priority with the following command:

renice -15 -p 12345

You will immediately notice the difference. If you want to make sure this really made some difference then change it back to the default priority:

renice 0 -p 12345

Check your distro documentation for ps, nice and renice commands for more information; ps may produce slightly different outputs according to the shell you are executing.

Using RAWR in Linux
RAWR is gear comparison tool. Written in .NET is available under address : http://www.codeplex.com/Rawr

Under linux can be used thanks to .MONO project.

to install mono, ( if you are user of Debian based linux - in my case Ubuntu ) command to get mono is :

sudo apt-get install libmono-winforms2.0-cil

When you download RAWR, after unpacking it DELETE configuration file , and then run rawr using command :

mono Rawr.exe