CrossOver Support

Dealing with sound issues in CrossOver applications.

This information is highly outdated and should only be used on old versions of CrossOver and Linux. Please see our sound troubleshooting guide

Generally speaking, if your sound system works fine in Linux applications then it should work in CrossOver applications.

However there are some cases where the sound system has bugs and will not work at some sampling rates or in some sound formats, whether in CrossOver or other Linux applications. One case that we know of is the combination of a CMI8738 sound card with the OSS drivers. Such a configuration will not play sounds at an 11kHz or 22kHz sampling rate, regardless of the application being used ('cat >/dev/dsp', bplay or xmms). Fortunately, in this specific case switching to ALSA drivers solves the problem and this is the recommended solution.

CrossOver also has to use some advanced and rarely used features in order to provide compatiblity with the Windows interfaces, and in particular with DirectSound. This can cause the sound to fail in CrossOver although everything appears to work fine in Linux applications such as xmms.

Thus CrossOver has a number of knobs and options in the Wine configuration tool and in the registry to let you work around these problems... if at all possible. To use winecfg use the following command line: $ ~/cxoffice/bin/wine --bottle bottlename --wl-app winecfg

Note however that not all options are supported under the audio tab at this time. Most of the following information will require manually editing of the registry unless otherwise noted. To edit the registry for the current bottle, run the following command: $ ~/cxoffice/bin/cxrun

Select the correct bottle, type in regedit for the command, run it and go to the following Key: HKEY_CURRENT_USER\Software\Wine

It is hard to predict exactly which option will fix a given problem so that some experimentation will most likely be needed. Below you will find a description of the various knobs and their effects.

If you have sound problems and one of the tweaks below solves the problem, please let us know about the characteristics of your sound system and the settings you had to use so that we can share this information with the other CrossOver users.

If you are using the OSS sound backend, you can force CrossOver to use a specific sound format. You could use this if the sound appears to play too fast or too slow (as in the CMI8738 case mentioned above). For instance, to force CrossOver to convert all audio to 48kHz, 16bits, stereo, before handing it to the sound card, locate the 'OSS Driver' Key and add the following string values: [OSS Driver] "LockFormat" = "16" "LockStereo" = "1" "LockRate" = "48000"

If you are using the OSS sound backend, you can also force CrossOver to not make any attempt to use full-duplex sound. This should let you work around any full-duplex related bug in the sound driver without significantly reducing functionality as very few applications use full-duplex. So to disable full-duplex sound, locate the 'OSS Driver' Key and edit it as follows: [OSS Driver] "FullDuplex" = "0"

If you get no sound in DirectSound applications you may try to tell it not to do direct accesses to the sound device. To do so, follow the directions in the DirectSound upgrade FAQ below. If you get sound then that's progress. It may be choppy though. If that's the case, then you can try to solve the problem by adding the 'HELmargin' and 'HELqueue' parameters under the DirectSound key: [DirectSound] "HELmargin" = "16" "HELqueue" = "16"

The HELmargin is the Number of waveOut fragments ahead to mix in new buffers. The HELqueue is the Number of waveOut fragments ahead to queue to driver.

This may eliminate the choppiness at the cost of increasing the sound latency, usually an acceptable trade-off. Note that the value that provides the best results depends on each system so make sure to experiment.

If the sound is choppy in DirectSound applications and you are not using the emulation mode described above, then you may be able to solve the problem by increasing the 'SndQueueMin' and 'SndQueueMax' parameters in the DirectSound key: [DirectSound] "SndQueueMax" = "64" "SndQueueMin" = "32"

SndQueueMax being the Max number of fragments to prebuffer and SndQueueMin being the Min number of fragments to prebuffer.

This may eliminate the choppiness at the cost of increasing the sound latency, usually an acceptable trade-off. Note that the value that provides the best results depends on each system so make sure to experiment.
Last modified on 2015-06-29 13:13:43 by Caron Wills
Are you sure you want to delete this page?
Note: Any nested pages that are under this one will be moved up one level. Any attachments tied to this page will be deleted.
Move / Rename Page
Unknown Error, unable to move!
That page exists already!
One or more of the parent pages specified in new path do not exist!
/support/wiki/ /support/wiki/linux/faq/cxoffice_soundissues
Please Wait...
eyJjYXJ0IjowLCJ0enMiOi01LCJjZG4iOiJodHRwczpcL1wvbWVkaWEuY29kZXdlYXZlcnMuY29tXC9wdWJcL2Nyb3Nzb3Zlclwvd2Vic2l0ZSIsImNkbnRzIjoxNTM2NjA4NDkzfQ==