Monday, November 17, 2014

HOWTO: configure PulseAudio to work with Audinst HUD-mx2 in Ubuntu

Problem

My Audinst HUD-mx2 USB DAC refused to work out of the box with Ubuntu 14.04 (same situation with Linux Mint).
Although device was properly recognized by ALSA and PulseAudio (it was visible in card list via aplay -l command and in PulseAudio GUI pavucontrol), and audinst status led was green during music playback , there was no actual sound.

After some googling I found, that I'm not alone with this problem, but no working solution anywhere, unfortunately.

Actually, I was successful (to some extent) with completely purging PulseAudio, and configure ALSA to use proper card, but the price is losing all PulseAudio features (I failed to setup proper mixing, only one application was able to output sound at a time).



Solution

Luckily for us all, there is quite simple solution: turn off pulse audio automatic device detection (that selects wrong subdevice  in Audinst hardware for some unknown reason) and load proper device module manually.

What you need to do

1. Get list of playback hardware devices:
aplay -l | grep card
aplay -l | grep card
Find device [Audinst HUD-mx2] [USB Audio #1]. In my case it was card 1 and device 1.

2. Open PulseAudio config file:
sudo gedit /etc/pulse/default.pa
sudo gedit /etc/pulse/default.pa

 3. In default.pa file find
### Load audio drivers statically 
string and add command to load our device below it:

load-module module-alsa-sink device=hw:1,1

Use proper numbers obtained from step 1 in hw:1,1 (that is card number, device number).

Next, find autoload part of the script:
### Automatically load driver modules depending on the hardware available
and comment all code using # symbol:

### Automatically load driver modules depending on the hardware available
#.ifexists module-udev-detect.so
#load-module module-udev-detect
#.else
### Use the static hardware detection module (for systems that lack udev support)
#load-module module-detect
#.endif  


4. Save file and reboot
That's all! Now you can enjoy your Audinst DAC:
It works!
5. Configure your daemon settings to use 24bit output (look here for example).

Possible issues

Because driver is statically loaded, something will probably broke when you'll try to play sound without Audinst HUD-mx2 connected. I don't even want to try it right now:)