Troubleshooting sound is not an easy task on Linux. There are many factors that can play into sound problems.
Before determining the problem is with CrossOver, please verify that native sound works.
Open up the Wine Configuration menu for the specific bottle.
From the GUI
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 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.
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.
++color:blue++with thanks to our community, advocates and developers++
++color:red++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
++color:blue++with thanks to our community, advocates and developers++
++background-color:cornsilk++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.
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:
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:
++color:green++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 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