Topping D50 DAC with Volumio in docker, wrong output format
maxdd opened this issue · 4 comments
Hi,
i'm trying to use Volumio inside a docker.
The host machine is Ubuntu 20.04 and the launching command is
docker run --restart=always -d \
--name volumio \
-e HOST=http://192.168.1.52:3000 \
-p 3000:3000 \
-v /media/ubuntu/E432F8DB32F8B420/Audio/:/var/lib/mpd/music/Audio/:ro \
-v /home/ubuntu/Music/:/var/lib/mpd/music/Music/:ro \
-v /home/ubuntu/docker/volumio/data/:/data \
-v /dev/shm:/dev/shm \
--device /dev/snd
jbonjean/volumio
I'm not sure if /dev/shm is even required
Basically the DAC is recognized as D50 but there is no sound coming out
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CX8200 Analog [CX8200 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: D50 [D50], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0
(docker) root@804417d6d5d3:/dev# aplay -L
surround21
2.1 Surround output to Front and Subwoofer speakers
surround40
4.0 Surround output to Front and Rear speakers
surround41
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50
5.0 Surround output to Front, Center and Rear speakers
surround51
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
null
Discard all samples (playback) or generate zero samples (capture)
samplerate
Rate Converter Plugin Using Samplerate Library
speexrate
Rate Converter Plugin Using Speex Resampler
jack
JACK Audio Connection Kit
oss
Open Sound System
pulse
PulseAudio Sound Server
upmix
Plugin for channel upmix (4,6,8)
vdownmix
Plugin for channel downmix (stereo) with a simple spacialization
default:CARD=PCH
HDA Intel PCH, CX8200 Analog
Default Audio Device
sysdefault:CARD=PCH
HDA Intel PCH, CX8200 Analog
Default Audio Device
front:CARD=PCH,DEV=0
HDA Intel PCH, CX8200 Analog
Front speakers
surround21:CARD=PCH,DEV=0
HDA Intel PCH, CX8200 Analog
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
HDA Intel PCH, CX8200 Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
HDA Intel PCH, CX8200 Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
HDA Intel PCH, CX8200 Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
HDA Intel PCH, CX8200 Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
HDA Intel PCH, CX8200 Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
hdmi:CARD=PCH,DEV=0
HDA Intel PCH, HDMI 0
HDMI Audio Output
hdmi:CARD=PCH,DEV=1
HDA Intel PCH, HDMI 1
HDMI Audio Output
hdmi:CARD=PCH,DEV=2
HDA Intel PCH, HDMI 2
HDMI Audio Output
hdmi:CARD=PCH,DEV=3
HDA Intel PCH, HDMI 3
HDMI Audio Output
hdmi:CARD=PCH,DEV=4
HDA Intel PCH, HDMI 4
HDMI Audio Output
dmix:CARD=PCH,DEV=0
HDA Intel PCH, CX8200 Analog
Direct sample mixing device
dmix:CARD=PCH,DEV=3
HDA Intel PCH, HDMI 0
Direct sample mixing device
dmix:CARD=PCH,DEV=7
HDA Intel PCH, HDMI 1
Direct sample mixing device
dmix:CARD=PCH,DEV=8
HDA Intel PCH, HDMI 2
Direct sample mixing device
dmix:CARD=PCH,DEV=9
HDA Intel PCH, HDMI 3
Direct sample mixing device
dmix:CARD=PCH,DEV=10
HDA Intel PCH, HDMI 4
Direct sample mixing device
dsnoop:CARD=PCH,DEV=0
HDA Intel PCH, CX8200 Analog
Direct sample snooping device
dsnoop:CARD=PCH,DEV=3
HDA Intel PCH, HDMI 0
Direct sample snooping device
dsnoop:CARD=PCH,DEV=7
HDA Intel PCH, HDMI 1
Direct sample snooping device
dsnoop:CARD=PCH,DEV=8
HDA Intel PCH, HDMI 2
Direct sample snooping device
dsnoop:CARD=PCH,DEV=9
HDA Intel PCH, HDMI 3
Direct sample snooping device
dsnoop:CARD=PCH,DEV=10
HDA Intel PCH, HDMI 4
Direct sample snooping device
hw:CARD=PCH,DEV=0
HDA Intel PCH, CX8200 Analog
Direct hardware device without any conversions
hw:CARD=PCH,DEV=3
HDA Intel PCH, HDMI 0
Direct hardware device without any conversions
hw:CARD=PCH,DEV=7
HDA Intel PCH, HDMI 1
Direct hardware device without any conversions
hw:CARD=PCH,DEV=8
HDA Intel PCH, HDMI 2
Direct hardware device without any conversions
hw:CARD=PCH,DEV=9
HDA Intel PCH, HDMI 3
Direct hardware device without any conversions
hw:CARD=PCH,DEV=10
HDA Intel PCH, HDMI 4
Direct hardware device without any conversions
plughw:CARD=PCH,DEV=0
HDA Intel PCH, CX8200 Analog
Hardware device with all software conversions
plughw:CARD=PCH,DEV=3
HDA Intel PCH, HDMI 0
Hardware device with all software conversions
plughw:CARD=PCH,DEV=7
HDA Intel PCH, HDMI 1
Hardware device with all software conversions
plughw:CARD=PCH,DEV=8
HDA Intel PCH, HDMI 2
Hardware device with all software conversions
plughw:CARD=PCH,DEV=9
HDA Intel PCH, HDMI 3
Hardware device with all software conversions
plughw:CARD=PCH,DEV=10
HDA Intel PCH, HDMI 4
Hardware device with all software conversions
usbstream:CARD=PCH
HDA Intel PCH
USB Stream Output
default:CARD=D50
D50, USB Audio
Default Audio Device
sysdefault:CARD=D50
D50, USB Audio
Default Audio Device
front:CARD=D50,DEV=0
D50, USB Audio
Front speakers
surround21:CARD=D50,DEV=0
D50, USB Audio
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=D50,DEV=0
D50, USB Audio
4.0 Surround output to Front and Rear speakers
surround41:CARD=D50,DEV=0
D50, USB Audio
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=D50,DEV=0
D50, USB Audio
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=D50,DEV=0
D50, USB Audio
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=D50,DEV=0
D50, USB Audio
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=D50,DEV=0
D50, USB Audio
IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=D50,DEV=0
D50, USB Audio
Direct sample mixing device
dsnoop:CARD=D50,DEV=0
D50, USB Audio
Direct sample snooping device
hw:CARD=D50,DEV=0
D50, USB Audio
Direct hardware device without any conversions
plughw:CARD=D50,DEV=0
D50, USB Audio
Hardware device with all software conversions
usbstream:CARD=D50
D50
USB Stream Output
after killing pulseaudio on host (it was keeping the resource busy) with the command:
aplay -D default:CARD=D50 test.wav
i was able to reproduce a sound but not at the expected sample rate.
Volumio is anyway not playing any sound.
by using pulseaudio
version: '3.2'
services:
volumio:
image: jbonjean/volumio
container_name: volumio
restart: unless-stopped
ports:
- '3000:3000'
volumes:
- /media/ubuntu/E432F8DB32F8B420/Audio/:/var/lib/mpd/music/Audio/:ro
- /home/ubuntu/Music/:/var/lib/mpd/music/Music/:ro
- /home/ubuntu/docker/volumio/data/:/data
- /run/user/1000/pulse:/pulse:ro
environment:
- HOST=http://192.168.1.52:3000
- PULSE_SERVER=unix:/pulse/native
- PULSE_COOKIE_DATA=home/ubuntu/.config/pulse/cookie
- HOST_USER=1000:1000
- AUDIO_OUTPUT=pulse
devices:
- /dev/snd:/dev/snd
i was able to make it work, is there a difference/reason?
The only issue i'm facing is that the DAC is reporting PCM 44.1Khz or 48Khz no matter what kind of song i play.
I've tried both DSD Direct as well as DoP with plenty DSD files but no luck.
Is there anything else i might want to do on the docker configuration?
If i play a 192Khz/24bit songs and use cat /proc/asound/D50/pcm0p/sub0/hw_params
from my host machine the output is
access: MMAP_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 48000 (48000/1)
period_size: 44100
buffer_size: 88200
I'm also encountering plugin issues where i can't basically see any installable plugins nor i can manually install via volumio plugin install
(installation is stuck at 10%) command. Any idea on this would be greatly appreciated
Some news about pulseAudio docker setup, by adding the following entry in the host daemon config of pulseaudio
avoid-resampling = true
About flac they are reproduced at 192Khz consistently (352.8Khz was resampled to 44.1Khz though)
About dsd instead i was able to play them but DSD64 was resampled to 44.1Khz PCM, DSD128 was resampled to 384Khz PCM and DSD256 was resampled to 384Khz PCM.
At 384Khz a switching noise can be heard which is not that pleasant.
My host pulseaudio version is currently 13.99.1
Still it would be plenty better to use ALSA directly bypassing pulseaudio especially because DSD are reproduced as DoP as far as i've understood. Any help would be greatly appreciated.
Sorry but docker is not officially supported, nor recommended (personally, I was never able to get sound out of it)
We can't help on that sorry