Skip to content

Commit e6e0a9f

Browse files
authored
[Feature] Drop support for ALSA as OUTPUT_MODE (already deprecated) #225 (#240)
1 parent 293810d commit e6e0a9f

File tree

8 files changed

+12
-217
lines changed

8 files changed

+12
-217
lines changed

Dockerfile

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -71,24 +71,6 @@ ENV DATABASE_PROXY_PORT ""
7171
ENV MPD_BIND_ADDRESS ""
7272
ENV MPD_PORT ""
7373

74-
ENV ALSA_PRESET ""
75-
ENV ALSA_DEVICE_NAME ""
76-
ENV MPD_AUDIO_DEVICE ""
77-
ENV MIXER_TYPE ""
78-
ENV MIXER_DEVICE ""
79-
ENV MIXER_CONTROL ""
80-
ENV MIXER_INDEX ""
81-
ENV DOP ""
82-
ENV ALSA_ALLOWED_FORMATS ""
83-
ENV ALSA_ALLOWED_FORMATS_PRESET ""
84-
ENV ALSA_OUTPUT_FORMAT ""
85-
ENV AUTO_RESAMPLE ""
86-
ENV THESYCON_DSD_WORKAROUND ""
87-
ENV INTEGER_UPSAMPLING ""
88-
ENV ALSA_AUTO_FIND_MIXER ""
89-
90-
ENV OUTPUT_MODE ""
91-
9274
# ALSA Outputs
9375
ENV ALSA_OUTPUT_CREATE ""
9476
ENV ALSA_OUTPUT_ENABLED ""

README.md

Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,15 @@ Keep in mind that the `legacy` branch will not be updated with new features. Onl
6060

6161
### Important changes
6262

63-
Starting with release `2023-02-04`, you will not be able to use the deprecated `PULSE` as `OUTPUT_MODE`. Refer to the next chapter for more information about how to change the configuration. Please note that PulseAudio is still supported, it just needs to be configured a little differently.
64-
In case of difficulties, you can fall back to any image before `2023-02-04` or to the `legacy` versions, as those will still work with this deprecated configuration.
63+
Starting with release `2023-02-04`, you will not be able to use the deprecated `PULSE` and `ALSA` as `OUTPUT_MODE`. Refer to the next chapter for more information about how to change the configuration. Please note that Alsa and PulseAudio are still supported: you just need to slightly modify your docker configurations.
64+
In case of difficulties, you can fall back to the `legacy` image versions, as those will still work with these deprecated configurations.
6565

6666
### What is about to change
6767

6868
If you have been using this container image for a while, you might have seen that the output might contain some warnings, telling you that you are using a `deprecated` configuration. The message usually tries to suggest how to switch to a `recommended` configuration.
6969
This is happening because this whole project started with the idea of supporting ALSA only (hence the name `mpd-alsa-docker`). Down the road, I added PulseAudio support, and eventually HTTPD outputs, SHOUTCAST outputs, also in multiple instances.
7070
So now a few variables have a misleading name: the most misleading being `ALSA_DEVICE_NAME` which, despite the name, refers to the output name, and not to the device name.
71-
So currently, `OUTPUT_MODE` still defaults to `ALSA` for compatibility and will yield the creation of a ALSA *main* player, but the default for this variable will eventually become `NONE` (no *main* player). At the end of the process, the variable `OUTPUT_MODE` will completely disappear.
71+
So currently, `OUTPUT_MODE` is not available anymore.
7272
In any case, I suggest you change the configuration as suggested, and use the variables from the appropriate sections below for [Alsa](https://github.com/GioF71/mpd-alsa-docker#alsa-additional-outputs) and [PulseAudio](https://github.com/GioF71/mpd-alsa-docker#pulseaudio-additional-outputs), otherwise, in time, your configurations will not be functional anymore.
7373
Feel free to contact me with an issue if you need support. I cannot guarantee a timing, but I will try to help if I can.
7474

@@ -113,7 +113,6 @@ DATABASE_MODE|Can be `simple` (default) or `proxy`
113113
DATABASE_PROXY_HOST|MPD server hostname, only used when `DATABASE_MODE` is set to `proxy`
114114
DATABASE_PROXY_PORT|MPD server port, only used when `DATABASE_MODE` is set to `proxy`
115115
MUSIC_DIRECTORY|Location of music files, defaults to `/music`
116-
OUTPUT_MODE|Output mode, can be `alsa` (still default but **deprecated**, you should use `ALSA_OUTPUT_CREATE` set to `yes`) or `none`.
117116
MPD_BIND_ADDRESS|The MPD listen address, defaults to `0.0.0.0`
118117
MPD_PORT|The MPD port, defaults to `6600`
119118
USER_MODE|Set to `Y` or `YES` for user mode. Case insensitive. See [User mode](#user-mode). Required when using any PulseAudio outputs (so when `PULSE_AUDIO_OUTPUT_CREATE` is set to `yes`)
@@ -135,30 +134,6 @@ STATE_FILE_INTERVAL|Auto-save the state file this number of seconds after each s
135134
ENFORCE_PLAYER_STATE|If set to `yes`, it will remove player state information from the state file, so the player state will only depend on the environment variables. Defaults to `yes`
136135
STARTUP_DELAY_SEC|Delay before starting the application in seconds, defaults to `0`.
137136

138-
#### Main output as ALSA (**Deprecated**)
139-
140-
Please find here the relevant (but *deprecated*) variables when OUTPUT_MODE is set to `ALSA`
141-
142-
VARIABLE|DESCRIPTION
143-
:---|:---
144-
ALSA_PRESET|Use an alsa preset. See file [alsa-presets.conf](https://github.com/GioF71/mpd-alsa-docker/blob/main/app/assets/alsa-presets.conf) for the existing presets. Additional presets can be passed to the container through the file `/user/config/additional-alsa-presets.conf`
145-
ALSA_AUTO_FIND_MIXER|If set to `yes` and `MIXER_DEVICE` is still empty, the run script will try to find the hardware mixer using `amixer`. This is not guaranteed to work for every dac. Some experiments will be needed. Sharing the results will be **very** helpful. Defaults to `no`
146-
MPD_AUDIO_DEVICE|The audio device. Common examples: `hw:DAC` or `hw:x20` or `hw:X20` for usb dac based on XMOS chips. Defaults to `default`
147-
ALSA_DEVICE_NAME|Name of the Alsa Device, defaults to `Alsa Device`. The name if unfortunately misleading: this variable refers to the mpd output name.
148-
MIXER_TYPE|Mixer type, defaults to `hardware`
149-
MIXER_DEVICE|Mixer device, defaults to `default`
150-
MIXER_CONTROL|Mixer Control, defaults to `PCM`
151-
MIXER_INDEX|Mixer Index, defaults to `0`
152-
DOP|Enables Dsd-Over-Pcm. Possible values: `yes` or `no`. Empty by default: this it lets mpd handle dop setting.
153-
ALSA_OUTPUT_FORMAT|Sets `alsa` output format. Example value: `192000:24:2`
154-
ALSA_ALLOWED_FORMATS|Sets the `alsa` output allowed formats
155-
AUTO_RESAMPLE|If set to no, then libasound will not attempt to resample. In this case, the user is responsible for ensuring that the requested sample rate can be produced natively by the device, otherwise an error will occur.
156-
THESYCON_DSD_WORKAROUND|If enabled, enables a workaround for a bug in Thesycon USB audio receivers. On these devices, playing DSD512 or PCM causes all subsequent attempts to play other DSD rates to fail, which can be fixed by briefly playing PCM at 44.1 kHz.
157-
ALSA_ALLOWED_FORMATS_PRESET|Alternative to `ALSA_ALLOWED_FORMATS`. Possible values: `8x`, `4x`, `2x`, `8x-nodsd`, `4x-nodsd`, `2x-nodsd`
158-
INTEGER_UPSAMPLING|If one or more `ALSA_ALLOWED_FORMATS` are set and `INTEGER_UPSAMPLING` is set to `yes`, the formats which are evenly divided by the source sample rate are preferred. The `ALSA_ALLOWED_FORMATS` list is processed in order as provided to the container. So if you want to upsample, put higher sampling rates first. Using this feature causes a patched version of mpd to be run. Use at your own risk.
159-
160-
Avoid deprecated configurations and refer to [this](https://github.com/GioF71/mpd-alsa-docker/blob/main/README.md#alsa-additional-outputs) section.
161-
162137
#### SOXR Plugin
163138

164139
Please find here the variables used to configure the SOXR plugin.

app/bin/any-of.sh

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ any_pulse() {
1313

1414
any_alsa() {
1515
result=0
16-
if [ "${OUTPUT_MODE^^}" == "ALSA" ]; then
17-
result=1
18-
fi
1916
if [[ $result -eq 0 ]]; then
2017
# if at least one additional ALSA output is requested
2118
if [[ "${ALSA_OUTPUT_CREATE^^}" == "YES" ]]; then

app/bin/run-mpd.sh

Lines changed: 0 additions & 156 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,6 @@ DEFAULT_OUTPUT_MODE=alsa
2020
DEFAULT_ALSA_DEVICE_NAME="Alsa-Device"
2121
DEFAULT_MPD_AUDIO_DEVICE="default"
2222

23-
if [ -z "${OUTPUT_MODE}" ]; then
24-
OUTPUT_MODE=${DEFAULT_OUTPUT_MODE}
25-
fi
26-
2723
if [ -n "${MAX_ADDITIONAL_OUTPUTS_BY_TYPE}" ]; then
2824
max_outputs_by_type=$MAX_ADDITIONAL_OUTPUTS_BY_TYPE
2925
else
@@ -137,9 +133,6 @@ if [[ "${ANY_PULSE}" -eq 1 ]] ||
137133
if [ -n "${AUDIO_GID}" ]; then
138134
create_audio_gid
139135
fi
140-
else
141-
echo "Invalid output mode [${OUTPUT_MODE}]";
142-
exit 2;
143136
fi
144137
chown -R $USER_NAME:$GROUP_NAME /log
145138
chown -R $USER_NAME:$GROUP_NAME /db
@@ -316,155 +309,6 @@ if [[ "${QOBUZ_PLUGIN_ENABLED^^}" == "Y" || "${QOBUZ_PLUGIN_ENABLED^^}" == "YES"
316309
echo "}" >> $MPD_ALSA_CONFIG_FILE
317310
fi
318311

319-
if [ "${OUTPUT_MODE^^}" == "ALSA" ]; then
320-
echo "OUTPUT_MODE [$OUTPUT_MODE] is deprecated and will be removed in the future"
321-
echo "You should use ALSA_OUTPUT_CREATE=yes instead"
322-
# see if user is using a preset
323-
if [ -n "${ALSA_PRESET}" ]; then
324-
echo "Using alsa preset ${ALSA_PRESET}"
325-
# NAME
326-
alsa_preset_key="${ALSA_PRESET}.name"
327-
alsa_preset_value="${alsa_presets[${alsa_preset_key}]}"
328-
if [[ -v alsa_preset_value ]]; then
329-
if [ -z ${ALSA_DEVICE_NAME} ]; then
330-
ALSA_DEVICE_NAME=${alsa_preset_value}
331-
fi
332-
fi
333-
# DEVICE
334-
alsa_preset_key="${ALSA_PRESET}.device"
335-
alsa_preset_value="${alsa_presets[${alsa_preset_key}]}"
336-
if [[ -v alsa_preset_value ]]; then
337-
if [ -z ${MPD_AUDIO_DEVICE} ]; then
338-
MPD_AUDIO_DEVICE=$alsa_preset_value
339-
fi
340-
fi
341-
# MIXER TYPE
342-
alsa_preset_key="${ALSA_PRESET}.mixer-type"
343-
alsa_preset_value="${alsa_presets[${alsa_preset_key}]}"
344-
if [[ -v alsa_preset_value ]]; then
345-
MIXER_TYPE=$alsa_preset_value
346-
fi
347-
# MIXER DEVICE
348-
alsa_preset_key="${ALSA_PRESET}.mixer-device"
349-
alsa_preset_value="${alsa_presets[${alsa_preset_key}]}"
350-
if [[ -v alsa_preset_value ]]; then
351-
MIXER_DEVICE=$alsa_preset_value
352-
fi
353-
# MIXER CONTROL
354-
alsa_preset_key="${ALSA_PRESET}.mixer-control"
355-
alsa_preset_value="${alsa_presets[${alsa_preset_key}]}"
356-
if [[ -v alsa_preset_value ]]; then
357-
MIXER_CONTROL=$alsa_preset_value
358-
fi
359-
# MIXER INDEX
360-
alsa_preset_key="${ALSA_PRESET}.mixer-index"
361-
alsa_preset_value="${alsa_presets[${alsa_preset_key}]}"
362-
if [[ -v alsa_preset_value ]]; then
363-
MIXER_INDEX=$alsa_preset_value
364-
fi
365-
else
366-
echo "Alsa preset has not been specified"
367-
fi
368-
# if allowed, try to find the mixer
369-
echo "ALSA_AUTO_FIND_MIXER=[${ALSA_AUTO_FIND_MIXER}]"
370-
if [[ "${ALSA_AUTO_FIND_MIXER^^}" == "YES" || "${ALSA_AUTO_FIND_MIXER^^}" == "Y" ]]; then
371-
if [ -z "${MIXER_CONTROL}" ]; then
372-
echo "Trying to find mixer ..."
373-
MIXER_TYPE="hardware"
374-
RAW_MIXER_DEVICE="$(amixer -D ${MPD_AUDIO_DEVICE} scontrols | head -n 1)"
375-
echo "RAW_MIXER_DEVICE = [$RAW_MIXER_DEVICE]"
376-
mixer=$(echo ${RAW_MIXER_DEVICE} | cut -d "'" -f 2)
377-
echo "Mixer=[$mixer]"
378-
MIXER_CONTROL=$mixer
379-
# assuming mixer device to be same as audio device
380-
MIXER_DEVICE=$MPD_AUDIO_DEVICE
381-
else
382-
echo "MIXER_CONTROL already set to [${MIXER_CONTROL}]"
383-
fi
384-
elif [ -z "${ALSA_AUTO_FIND_MIXER}" ]; then
385-
echo "ALSA_AUTO_FIND_MIXER not allowed"
386-
elif [[ "${ALSA_AUTO_FIND_MIXER^^}" != "NO" && "${ALSA_AUTO_FIND_MIXER^^}" != "N" ]]; then
387-
echo "Invalid ALSA_AUTO_FIND_MIXER=[${ALSA_AUTO_FIND_MIXER}]"
388-
exit 9
389-
fi
390-
# fallback to software mixer if MIXER_TYPE is still empty
391-
if [ -z "${MIXER_TYPE}" ]; then
392-
MIXER_TYPE="software"
393-
echo "Falling back to MIXER_TYPE=[$MIXER_TYPE]"
394-
fi
395-
## Add alsa output
396-
echo "audio_output {" >> $MPD_ALSA_CONFIG_FILE
397-
echo " type \"alsa\"" >> $MPD_ALSA_CONFIG_FILE
398-
if [ -z "${ALSA_DEVICE_NAME}" ]; then
399-
ALSA_DEVICE_NAME=$DEFAULT_ALSA_DEVICE_NAME
400-
fi
401-
echo " name \"${ALSA_DEVICE_NAME}\"" >> $MPD_ALSA_CONFIG_FILE
402-
if [ -z "${MPD_AUDIO_DEVICE}" ]; then
403-
MPD_AUDIO_DEVICE=$DEFAULT_MPD_AUDIO_DEVICE
404-
fi
405-
echo " device \"${MPD_AUDIO_DEVICE}\"" >> $MPD_ALSA_CONFIG_FILE
406-
if [ -n "${AUTO_RESAMPLE}" ]; then
407-
if [[ "${AUTO_RESAMPLE^^}" == "YES" || "${AUTO_RESAMPLE^^}" == "Y" ]]; then
408-
AUTO_RESAMPLE=yes
409-
elif [[ "${AUTO_RESAMPLE^^}" == "NO" || "${AUTO_RESAMPLE^^}" == "N" ]]; then
410-
AUTO_RESAMPLE=no
411-
else
412-
echo "Invalid configuration for AUTO_RESAMPLE [${AUTO_RESAMPLE}]"
413-
exit 6
414-
fi
415-
echo " auto_resample \"${AUTO_RESAMPLE}\"" >> $MPD_ALSA_CONFIG_FILE
416-
fi
417-
if [ -n "${THESYCON_DSD_WORKAROUND}" ]; then
418-
if [[ "${THESYCON_DSD_WORKAROUND^^}" == "YES" || "${THESYCON_DSD_WORKAROUND^^}" == "Y" ]]; then
419-
THESYCON_DSD_WORKAROUND=yes
420-
elif [[ "${THESYCON_DSD_WORKAROUND^^}" == "NO" || "${THESYCON_DSD_WORKAROUND^^}" == "N" ]]; then
421-
THESYCON_DSD_WORKAROUND=no
422-
else
423-
echo "Invalid configuration for THESYCON_DSD_WORKAROUND [${THESYCON_DSD_WORKAROUND}]"
424-
exit 7
425-
fi
426-
echo " thesycon_dsd_workaround \"${THESYCON_DSD_WORKAROUND}\"" >> $MPD_ALSA_CONFIG_FILE
427-
fi
428-
if [ -n "${MIXER_TYPE}" ]; then
429-
echo " mixer_type \"${MIXER_TYPE}\"" >> $MPD_ALSA_CONFIG_FILE
430-
fi
431-
if [ -n "${MIXER_DEVICE}" ]; then
432-
echo " mixer_device \"${MIXER_DEVICE}\"" >> $MPD_ALSA_CONFIG_FILE
433-
fi
434-
if [ -n "${MIXER_CONTROL}" ]; then
435-
echo " mixer_control \"${MIXER_CONTROL}\"" >> $MPD_ALSA_CONFIG_FILE
436-
fi
437-
if [ -n "${MIXER_INDEX}" ]; then
438-
echo " mixer_index \"${MIXER_INDEX}\"" >> $MPD_ALSA_CONFIG_FILE
439-
fi
440-
if [ -n "${ALSA_OUTPUT_FORMAT}" ]; then
441-
echo " format \"${ALSA_OUTPUT_FORMAT}\"" >> $MPD_ALSA_CONFIG_FILE
442-
fi
443-
if [ -n "${ALSA_ALLOWED_FORMATS_PRESET}" ]; then
444-
af_value="${allowed_formats_presets[${ALSA_ALLOWED_FORMATS_PRESET}]}"
445-
if [[ -v af_value ]]; then
446-
ALSA_ALLOWED_FORMATS=$af_value
447-
fi
448-
fi
449-
if [ -n "${ALSA_ALLOWED_FORMATS}" ]; then
450-
echo " allowed_formats \"${ALSA_ALLOWED_FORMATS}\"" >> $MPD_ALSA_CONFIG_FILE
451-
fi
452-
if [ -n "${INTEGER_UPSAMPLING}" ]; then
453-
echo " integer_upsampling \"${INTEGER_UPSAMPLING}\"" >> $MPD_ALSA_CONFIG_FILE
454-
mpd_binary=$UPSAMPLING_MPD_BINARY
455-
fi
456-
if [ -n "${DOP}" ]; then
457-
echo " dop \"${DOP}\"" >> $MPD_ALSA_CONFIG_FILE
458-
fi
459-
echo " enabled \"yes\"" >> $MPD_ALSA_CONFIG_FILE
460-
echo "}" >> $MPD_ALSA_CONFIG_FILE
461-
elif [ "${OUTPUT_MODE^^}" == "NONE" ]; then
462-
echo "OUTPUT_MODE is ${OUTPUT_MODE}, so master output is not created"
463-
else
464-
echo "Invalid output mode [${OUTPUT_MODE}]";
465-
exit 2;
466-
fi
467-
468312
output_by_type_limit=$((${max_outputs_by_type}-1))
469313

470314
## ALSA output

app/bin/user-management.sh

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
#!/bin/bash
22

33
create_audio_gid() {
4-
echo "Mode [${OUTPUT_MODE}] Adding $USER_NAME to group audio"
4+
echo "ANY_PULSE [$ANY_PULSE] ANY_ALSA [$ANY_ALSA] Running create_audio_gid"
5+
echo " Adding $USER_NAME to group audio"
56
if [ $(getent group $AUDIO_GID) ]; then
6-
echo "Mode [${OUTPUT_MODE}] Group with gid $AUDIO_GID already exists"
7+
echo " Group with gid $AUDIO_GID already exists"
78
else
8-
echo "Mode [${OUTPUT_MODE}] Creating group with gid $AUDIO_GID"
9+
echo " Creating group with gid $AUDIO_GID"
910
groupadd -g $AUDIO_GID mpd-audio
1011
fi
11-
echo "Mode [${OUTPUT_MODE}] Adding $USER_NAME to gid $AUDIO_GID"
12+
echo " Adding $USER_NAME to gid $AUDIO_GID"
1213
AUDIO_GRP=$(getent group $AUDIO_GID | cut -d: -f1)
13-
echo "gid $AUDIO_GID -> group $AUDIO_GRP"
14+
echo " gid $AUDIO_GID -> group $AUDIO_GRP"
1415
if id -nG "$USER_NAME" | grep -qw "$AUDIO_GRP"; then
15-
echo "Mode [${OUTPUT_MODE}] User $USER_NAME already belongs to group audio (GID ${AUDIO_GID})"
16+
echo " User $USER_NAME already belongs to group audio (GID ${AUDIO_GID})"
1617
else
1718
usermod -a -G $AUDIO_GRP $USER_NAME
18-
echo "Mode [${OUTPUT_MODE}] AnyPulse [$ANY_PULSE] - Successfully added $USER_NAME to group audio (GID ${AUDIO_GID})"
19+
echo " Successfully added $USER_NAME to group audio (GID ${AUDIO_GID})"
1920
fi
2021
}

doc/change-history.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
Date|Major Changes
44
:---|:---
5+
2023-02-11|Dropped `OUTPUT_MODE` (including *deprecated* `ALSA` mode)
56
2023-02-11|Dropped `NULL` as `OUTPUT_MODE`
67
2023-02-11|Support additional `NULL` outputs
78
2023-02-09|Clarified `legacy` releases

doc/example-configurations.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ docker run -d \
1212
--rm \
1313
--device /dev/snd \
1414
-p 6600:6600 \
15-
-e OUTPUT_MODE=none \
1615
-e ALSA_OUTPUT_CREATE=yes \
1716
-v ${HOME}/Music:/music:ro \
1817
-v ${HOME}/.mpd/playlists:/playlists \
@@ -48,7 +47,6 @@ services:
4847
- SOXR_PLUGIN_PASSBAND_END=95
4948
- SOXR_PLUGIN_STOPBAND_BEGIN=105
5049
- SOXR_PLUGIN_ATTENUATION=4
51-
- OUTPUT_MODE=none
5250
- ALSA_OUTPUT_CREATE=yes
5351
- ALSA_OUTPUT_NAME=aune-s6
5452
- ALSA_OUTPUT_DEVICE=hw:DAC
@@ -84,7 +82,6 @@ services:
8482
- AUDIO_GID=29
8583
- SOXR_PLUGIN_ENABLE=Y
8684
- SOXR_PLUGIN_PRESET=goldilocks
87-
- OUTPUT_MODE=none
8885
- ALSA_OUTPUT_CREATE=yes
8986
- ALSA_OUTPUT_NAME=aune-s6
9087
- ALSA_OUTPUT_DEVICE=hw:DAC
@@ -117,7 +114,6 @@ docker run -d \
117114
--rm \
118115
--device /dev/snd \
119116
-p 6600:6600 \
120-
-e OUTPUT_MODE=none \
121117
-e PULSE_AUDIO_OUTPUT_CREATE=yes \
122118
-v ${HOME}/Music:/music:ro \
123119
-v ${HOME}/.mpd/playlists:/playlists \

pulse/mpd-pulse.service

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ ExecStart=/usr/bin/docker run -i \
1313
--network=mpd-pulse \
1414
-e PUID=%U \
1515
-e PGID=%G \
16-
-e OUTPUT_MODE=none \
1716
-e PULSE_AUDIO_OUTPUT_CREATE=yes \
1817
-v /run/user/%U/pulse:/run/user/%U/pulse \
1918
-v %h/Music:/music:ro \

0 commit comments

Comments
 (0)