CrossOver Support

Troubleshooting Sound Issues


Troubleshooting sound is not an easy task on Linux. There are many factors that can play into sound problems.
  1. Start Natively
  2. Test in CrossOver
    1. Check Sound Libraries
    2. Outlier Cases
  3. Advanced CrossOver Adjustments
  4. Advanced PulseAudio Adjustments
    1. Adjusting the buffer size
    2. Toggling the Timer-based scheduling
    3. Tell PulseAudio to use less memory
  5. Older Sound Articles

Start Natively


Before determining the problem is with CrossOver, please verify that native sound works.
  1. Find a local sound file
  2. Verify that it plays with a native media player
If it does not, please check the usual suspects.
  • Is it plugged in?
  • Is it turned on?
  • Is system sound muted?
  • Is it properly configured?

Testing Sound in CrossOver


Open up the Wine Configuration menu for the specific bottle.

From the GUI
  1. Open the bottle manager
  2. Select the bottle in question
  3. Select the "Control Panel" tab
  4. Launch "Wine Configuration"

From Terminal

/opt/cxoffice/bin/wine --bottle "nameofbottle" winecfg
or

~/cxoffice/bin/wine --bottle "nameofbottle" winecfg

With Wine Configuration launched, choose the Audio tab. Verify that either "winepulse.drv" or "winealsa.drv" is the selected driver. If it is not, please double-check your installed packages (see below) or file a support ticket.

From here, click the "Test Sound" button.
  • If this plays a sound, the problem may be within the game settings. We know from testing in-house that some games (like Diablo III) can benefit from toggling the in-game settings.
  • If this does not play a sound, and you are using the winealsa.drv driver, you can try adjusting the devices CrossOver is trying to use. Using "System Default" or "default" is recommended. If that doesn't work, you can try using one of the hardware devices directly, but that may prevent other applications from using your sound hardware simultaneously with CrossOver.


Check the Libraries


If the sound issue is not resolved, verify that the 32 bit libraries CrossOver needs to use are present.

From Terminal

/opt/cxoffice/bin/cxdiag
or
~/cxoffice/bin/cxdiag
If you are using PulseAudio (very common), make sure there are no warnings about missing "pulse" packages. If you are not, make sure there are no warnings about ALSA and/or asound. Some games and applications also require libmpg123, openal, and libgsm.

For more information about libraries missing on your system, please visit our full diagnostic page available here.


Outlier Cases


In rare cases, it is better to use a generic sound device rather than what the system defaults to, with caution, add the following line to the end of /etc/modprobe.d/alsa-base.conf:

options snd-hda-intel model=generic
Reboot the system for the changes to take effect. On reboot, launch Wine Configuration again and select the new audio device to see if sound works.

Advanced CrossOver Adjustments

with thanks to our community, advocates and developers
with CrossOver 15 this line should be removed from all CrossOver bottles

Go to the directory of the affected bottle. Make sure no applications within that bottle are running. Find a file called cxbottle.conf.

The path in a default installation is:

~/.cxoffice/bottlename/cxbottle.conf
Search for this line:

"PULSE_LATENCY_MSEC"="20"
Comment it out so that the line looks like this:

;;"PULSE_LATENCY_MSEC"="20"
If this works for that particular bottle, then do the same for any other bottles that have issues. If this is something that should be a permanent change to all future bottles, make the same adjustments to the bottle template file located at:

/opt/cxoffice/share/crossover/bottle_data/cxbottle.conf
or
~/cxoffice/share/crossover/bottle_data/cxbottle.conf

Advanced PulseAudio Adjustments

with thanks to our community, advocates and developers

Note that most links for additional information point to the Arch Linux wiki. As we searched for the best way to explain each setting, we consistently found ourselves on the Arch Linux wiki. We have provided these links as a convenience and a point of reference. There are other explanations and tutorials out there that explain each setting. These settings are generally the same over each Linux distribution.

The following tips are gathered from the community and should not be used without decent Linux knowledge. This section can always be improved upon and as Wine and Linux mature, the information here may become outdated. This is our polite way of saying proceed with caution.

Adjusting the buffer size

This setting can be useful if the sound quality is generally poor.

Before making this adjustment, it may be best to read about it here.

In some cases, PulseAudio's default settings are not ideal. With extreme caution, edit the configuration file at:

/etc/pulse/daemon.conf
search for default-fragment-size-msec and try a smaller number. This setting is usually 10 but putting a smaller number in place may yield better results. The line should look something like:

default-fragment-size-msec = 10
After making the adjustment, restart PulseAudio from terminal with:

pulseaudio -k

Toggling the Timer-based scheduling

this setting can be useful if the sound is skipping or glitching

Before making this adjustment, it may be best to read about it here.

With extreme caution, edit the configuration file at:

/etc/pulse/default.pa
look for the line that includes:

load-module module-udev-detect
And add tsched=0 to the end so that the above example would look like this:
if there are other parameters in this line, do not delete them, simply add tsched=0 to the end of the line.

load-module module-udev-detect tsched=0
After making the adjustment, restart PulseAudio from terminal with:

pulseaudio -k

Tell PulseAudio to use less memory


PulseAudio attempts to reserve more space than it actually needs and when Wine is using enough of that virtual memory, it causes an out of memory condition. It is possible to reduce the amount of memory PulseAudio reserves.

With caution, edit both /etc/pulse/client.conf and /etc/pulse/daemon.conf and add the following line to them:

shm-size-bytes=1048576

Older Sound Articles

 Games lose sound in CrossOver
 AVI file formats do not play nice
 Sound Issues in CrossOver
 Bad sound in CrossOver Games
 Changing CrossOver's sound backend

CrossOver 14 and older


Versions of CrossOver before 15 did not have direct support for PulseAudio and require an ALSA plugin.

On Debian-based distributions, the easiest way to get the libraries is to open a terminal and run:

sudo apt-get install libasound2:i386 libasound2-plugins:i386 libopenal1:i386 libmpg123-0:i386 libgsm1:i386
On rpm based distributions using yum, run:

yum install alsa-lib.i686 alsa-plugins-pulseaudio.i686 openal-soft.i686 libmpg123.i686 gsm.i686
If there are other libraries missing on your system, please visit our full diagnostic page available here.
Last modified on 2015-12-02 10:31:15 by Andrew Eikum
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/SoundTrouble
Please Wait...
eyJjYXJ0IjowLCJ0enMiOi01LCJjZG4iOiJodHRwczpcL1wvbWVkaWEuY29kZXdlYXZlcnMuY29tXC9wdWJcL2Nyb3Nzb3Zlclwvd2Vic2l0ZSIsImNkbnRzIjoxNTI1ODk4MDg2fQ==