Hi there,
I’m trying to set up an LXC container for Gui-Apps. I followed the blog of stgraber (https://stgraber.org/2014/02/09/lxc-1-0-gui-in-containers/) and the programs start.
But the sound is not working.
My host is running Void Linux with kernel 5.7.11_1
I created a debian sid container with lxc-create, installed nvidia drivers. It is an unprivileged container.
Then i tried to play some sound via
aplay test.wav
and that worked. Because many programs rely on pulseaudio, I then installed pulseaudio. There is no sound when pulseaudio is installed, and it only shows the “Dummy Output” as available devices.
I hope you can help me getting the sound work inside the container.
Container Config:
# Template used to create this container: /usr/share/lxc/templates/lxc-download
# Parameters passed to the template:
# Template script checksum (SHA-1): 9893b2e0dba7be0d74cf38537bebe0af939c269c
# For additional config options, please look at lxc.container.conf(5)
# Uncomment the following line to support nesting containers:
#lxc.include = /usr/share/lxc/config/nesting.conf
# (Be aware this has security implications)
#bind-mounts for nvidia proprietary driver
# Distribution configuration
lxc.include = /usr/share/lxc/config/common.conf
lxc.include = /usr/share/lxc/config/userns.conf
lxc.arch = linux64
# Container specific configuration
#lxc.mount.entry = tmpfs tmp tmpfs defaults
#lxc.mount.entry = /dev/nvidia-uvm dev/nvidia-uvm none bind,optional,create=file
lxc.mount.entry = /dev/dri dev/dri none bind,optional,create=dir
lxc.mount.entry = /dev/snd dev/snd none bind,optional,create=dir
lxc.mount.entry = /tmp/.X11-unix tmp/.X11-unix none bind,optional,create=dir
lxc.mount.entry = /dev/nvidia0 dev/nvidia0 none bind,optional,create=file
lxc.mount.entry = /dev/nvidiactl dev/nvidiactl none bind,optional,create=file
lxc.mount.entry = /dev/nvidia-modeset dev/nvidia-modeset none bind,optional,create=file
#audio test
#lxc.mount.entry = /home/k/.config/pulse home/k/.config/pulse none bind,optional,create=dir
#lxc.mount.entry = /run/user/1000/pulse/native tmp/pulse/native none rw,bind,create=file 0 0
#lxc.environment = PULSE_SERVER=unix:/tmp/pulse/native
#lxc.cgroup.devices.allow = c 116:* rwm
lxc.idmap = u 0 100000 1000
lxc.idmap = g 0 100000 1000
lxc.idmap = u 1000 1000 1
lxc.idmap = g 1000 1000 1
lxc.idmap = u 1001 101001 64535
lxc.idmap = g 1001 101001 64535
lxc.hook.pre-start=/home/k/.config/lxc/preStartHook.sh
lxc.rootfs.path = dir:/home/k/.local/share/lxc/sid/rootfs
lxc.uts.name = sid
# Network configuration
lxc.net.0.type = veth
lxc.net.0.link = virbr0
lxc.net.0.flags = up
preStartHook.sh:
#!/bin/sh
mountpoint -q "/sys/fs/cgroup/systemd" \
|| (sudo mkdir -p /sys/fs/cgroup/systemd && sudo mount -t cgroup cgroup -o none,name=systemd /sys/fs/cgroup/systemd)
for d in /sys/fs/cgroup/*; do
f=$(basename $d)
if [ "$f" = "unified" ]; then
continue
elif [ "$f" = "cpuset" ]; then
echo 1 | sudo tee -a $d/cgroup.clone_children;
elif [ "$f" = "memory" ]; then
echo 1 | sudo tee -a $d/memory.use_hierarchy;
fi
sudo mkdir -p $d/$USER
sudo chown -R $USER $d/$USER
echo $PPID > $d/$USER/tasks
done
PULSE_PATH=$LXC_ROOTFS_PATH/home/k/.pulse_socket
if [ ! -e "$PULSE_PATH" ] || [ -z "$(lsof -n $PULSE_PATH 2>&1)" ]; then
pactl load-module module-native-protocol-unix auth-anonymous=1 socket=$PULSE_PATH
fi
aplay -L
default
Playback/recording through the PulseAudio sound server
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)
lavrate
Rate Converter Plugin Using Libav/FFmpeg Library
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
hdmi:CARD=NVidia,DEV=0
HDA NVidia, HDMI 0
HDMI Audio Output
hdmi:CARD=NVidia,DEV=1
HDA NVidia, HDMI 1
HDMI Audio Output
hdmi:CARD=NVidia,DEV=2
HDA NVidia, HDMI 2
HDMI Audio Output
hdmi:CARD=NVidia,DEV=3
HDA NVidia, HDMI 3
HDMI Audio Output
hdmi:CARD=NVidia,DEV=4
HDA NVidia, HDMI 4
HDMI Audio Output
hdmi:CARD=NVidia,DEV=5
HDA NVidia, HDMI 5
HDMI Audio Output
hdmi:CARD=NVidia,DEV=6
HDA NVidia, HDMI 6
HDMI Audio Output
dmix:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
Direct sample mixing device
dmix:CARD=NVidia,DEV=7
HDA NVidia, HDMI 1
Direct sample mixing device
dmix:CARD=NVidia,DEV=8
HDA NVidia, HDMI 2
Direct sample mixing device
dmix:CARD=NVidia,DEV=9
HDA NVidia, HDMI 3
Direct sample mixing device
dmix:CARD=NVidia,DEV=10
HDA NVidia, HDMI 4
Direct sample mixing device
dmix:CARD=NVidia,DEV=11
HDA NVidia, HDMI 5
Direct sample mixing device
dmix:CARD=NVidia,DEV=12
HDA NVidia, HDMI 6
Direct sample mixing device
dsnoop:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
Direct sample snooping device
dsnoop:CARD=NVidia,DEV=7
HDA NVidia, HDMI 1
Direct sample snooping device
dsnoop:CARD=NVidia,DEV=8
HDA NVidia, HDMI 2
Direct sample snooping device
dsnoop:CARD=NVidia,DEV=9
HDA NVidia, HDMI 3
Direct sample snooping device
dsnoop:CARD=NVidia,DEV=10
HDA NVidia, HDMI 4
Direct sample snooping device
dsnoop:CARD=NVidia,DEV=11
HDA NVidia, HDMI 5
Direct sample snooping device
dsnoop:CARD=NVidia,DEV=12
HDA NVidia, HDMI 6
Direct sample snooping device
hw:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
Direct hardware device without any conversions
hw:CARD=NVidia,DEV=7
HDA NVidia, HDMI 1
Direct hardware device without any conversions
hw:CARD=NVidia,DEV=8
HDA NVidia, HDMI 2
Direct hardware device without any conversions
hw:CARD=NVidia,DEV=9
HDA NVidia, HDMI 3
Direct hardware device without any conversions
hw:CARD=NVidia,DEV=10
HDA NVidia, HDMI 4
Direct hardware device without any conversions
hw:CARD=NVidia,DEV=11
HDA NVidia, HDMI 5
Direct hardware device without any conversions
hw:CARD=NVidia,DEV=12
HDA NVidia, HDMI 6
Direct hardware device without any conversions
plughw:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
Hardware device with all software conversions
plughw:CARD=NVidia,DEV=7
HDA NVidia, HDMI 1
Hardware device with all software conversions
plughw:CARD=NVidia,DEV=8
HDA NVidia, HDMI 2
Hardware device with all software conversions
plughw:CARD=NVidia,DEV=9
HDA NVidia, HDMI 3
Hardware device with all software conversions
plughw:CARD=NVidia,DEV=10
HDA NVidia, HDMI 4
Hardware device with all software conversions
plughw:CARD=NVidia,DEV=11
HDA NVidia, HDMI 5
Hardware device with all software conversions
plughw:CARD=NVidia,DEV=12
HDA NVidia, HDMI 6
Hardware device with all software conversions
usbstream:CARD=NVidia
HDA NVidia
USB Stream Output
sysdefault:CARD=Generic
HD-Audio Generic, ALC892 Analog
Default Audio Device
front:CARD=Generic,DEV=0
HD-Audio Generic, ALC892 Analog
Front speakers
surround21:CARD=Generic,DEV=0
HD-Audio Generic, ALC892 Analog
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Generic,DEV=0
HD-Audio Generic, ALC892 Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=Generic,DEV=0
HD-Audio Generic, ALC892 Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Generic,DEV=0
HD-Audio Generic, ALC892 Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Generic,DEV=0
HD-Audio Generic, ALC892 Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Generic,DEV=0
HD-Audio Generic, ALC892 Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Generic,DEV=0
HD-Audio Generic, ALC892 Digital
IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=Generic,DEV=0
HD-Audio Generic, ALC892 Analog
Direct sample mixing device
dmix:CARD=Generic,DEV=1
HD-Audio Generic, ALC892 Digital
Direct sample mixing device
dsnoop:CARD=Generic,DEV=0
HD-Audio Generic, ALC892 Analog
Direct sample snooping device
dsnoop:CARD=Generic,DEV=1
HD-Audio Generic, ALC892 Digital
Direct sample snooping device
hw:CARD=Generic,DEV=0
HD-Audio Generic, ALC892 Analog
Direct hardware device without any conversions
hw:CARD=Generic,DEV=1
HD-Audio Generic, ALC892 Digital
Direct hardware device without any conversions
plughw:CARD=Generic,DEV=0
HD-Audio Generic, ALC892 Analog
Hardware device with all software conversions
plughw:CARD=Generic,DEV=1
HD-Audio Generic, ALC892 Digital
Hardware device with all software conversions
usbstream:CARD=Generic
HD-Audio Generic
USB Stream Output
sysdefault:CARD=U192k
UMC202HD 192k, USB Audio
Default Audio Device
front:CARD=U192k,DEV=0
UMC202HD 192k, USB Audio
Front speakers
surround21:CARD=U192k,DEV=0
UMC202HD 192k, USB Audio
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=U192k,DEV=0
UMC202HD 192k, USB Audio
4.0 Surround output to Front and Rear speakers
surround41:CARD=U192k,DEV=0
UMC202HD 192k, USB Audio
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=U192k,DEV=0
UMC202HD 192k, USB Audio
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=U192k,DEV=0
UMC202HD 192k, USB Audio
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=U192k,DEV=0
UMC202HD 192k, USB Audio
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=U192k,DEV=0
UMC202HD 192k, USB Audio
IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=U192k,DEV=0
UMC202HD 192k, USB Audio
Direct sample mixing device
dsnoop:CARD=U192k,DEV=0
UMC202HD 192k, USB Audio
Direct sample snooping device
hw:CARD=U192k,DEV=0
UMC202HD 192k, USB Audio
Direct hardware device without any conversions
plughw:CARD=U192k,DEV=0
UMC202HD 192k, USB Audio
Hardware device with all software conversions
usbstream:CARD=U192k
UMC202HD 192k
USB Stream Output
pacmd list-cards
0 card(s) available.