ALSA does not go through PulseAudio

Table of Contents

ALSA and PulseAudio are two different way of letting applications play and record audio, with PulseAudio being the more modern and commonly used one these days.

The core issue is that only one process can access the sound card at a given time and it's the responsibility of PulseAudio and ALSA to arbitrate and mix the audio from all the applications that try to play or capture sounds. But when both are installed they will conflict too unless ALSA is set up to go through the PulseAudio backend.

CrossOver has a PulseAudio sound driver and uses it by default. If the sound works when running Windows applications in CrossOver then you can safely ignore this message.

The one time this check might be important is if you are using MIDI in a Windows application (this always goes through ALSA since PulseAudio does not support MIDI) at the same time another application is playing audio through PulseAudio. If ALSA does not go through PulseAudio the two sound systems might fight over resources and block each other.

Resolution

  1. If sound does not work in Windows applications then make sure that there is no issue with the libpulse library first.
  2. If you really need ALSA (e.g., for MIDI support), follow the instructions below. If that does not solve the issue you will need to delve into the ALSA configuration files to make sure it goes through the PulseAudio backend.

On CrossOver 17 and greater, the simplest solution to fix this issue is to run:

/path/to/cxoffice/bin/cxfix nonpulseaudioalsa nonpulseaudioalsa.amd64

Or add --show-all to see how CrossOver would fix it on your platform and others.

Alternatively you may try one of the commands below.

  • For 32-bit Windows applications
    • 32-bit Arch Linux : pacman -Syu alsa-plugins
    • 64-bit Arch Linux : pacman -Syu lib32-alsa-plugins
    • Debian 7 : apt-get install libasound2-plugins:i386
    • 32-bit Fedora 13 : yum install alsa-plugins-pulseaudio
    • 64-bit Fedora 13 : yum install alsa-plugins-pulseaudio.i686 alsa-plugins-pulseaudio.x86_64
    • 32-bit openSUSE 11.2 : zypper install alsa-plugins-pulse
    • 64-bit openSUSE 11.2 : zypper install alsa-plugins-pulse-32bit

 

  • For 64-bit Windows applications
    • Arch Linux : pacman -Syu alsa-plugins
    • Debian 7 : apt-get install libasound2-plugins:amd64
    • Fedora 13 : yum install alsa-plugins-pulseaudio.x86_64
    • openSUSE 11.2 : zypper install alsa-plugins-pulse

Notes:

  • cxfix --show-all may have more up-to-date fixes.
  • The commands usually also apply to newer versions of the distributions above as well as derived distributions. So for instance a fix for Debian 7 may still be valid for the latest Debian Testing and is typically also applicable to Ubuntu, Linux Mint, Deepin and Pop! OS. Similarly a fix for Fedora likely also works on Red Hat Enterprise Linux, CentOS, etc.

Next Step: Low X11 Screen Depth

Last modified on 2024-01-15 21:48:41 UTC by Andrew Balfour