mirror of
https://github.com/owntone/owntone-server.git
synced 2024-12-26 23:25:56 -05:00
[pulseaudio] Description of recommended desktop setup moved to README_PULSE.md
This commit is contained in:
parent
540d771648
commit
bd95d2293a
@ -1,11 +1,66 @@
|
|||||||
# forked-daapd and Pulseaudio
|
# forked-daapd and Pulseaudio
|
||||||
Credit: [Rob Pope](http://robpope.co.uk/blog/post/setting-up-forked-daapd-with-bluetooth)
|
Credit: [Rob Pope](http://robpope.co.uk/blog/post/setting-up-forked-daapd-with-bluetooth)
|
||||||
|
|
||||||
|
System mode is generally only recommended for headless servers, i.e.,
|
||||||
|
systems without desktop users.
|
||||||
|
|
||||||
|
|
||||||
|
## User Mode with Network Access
|
||||||
|
|
||||||
|
If there is a desktop user logged in most of the time, a setup with
|
||||||
|
[network access via localhost
|
||||||
|
only](http://billauer.co.il/blog/2014/01/pa-multiple-users/)
|
||||||
|
for daemons is a more appropriate solution, since the normal user
|
||||||
|
administration (with, e.g., `pulseaudio -k`) works as
|
||||||
|
advertised. Also, the user specific configuration for pulseaudio is
|
||||||
|
preserved across sessions as expected.
|
||||||
|
|
||||||
|
Quoting from the above blog, the necessary setup (per user) boils down
|
||||||
|
to:
|
||||||
|
|
||||||
|
|
||||||
|
### Step1: Copy system pulseaudio configuration to the users home directory
|
||||||
|
|
||||||
|
```
|
||||||
|
mkdir -p ~/.pulse
|
||||||
|
cp /etc/pulse/default.pa ~/.pulse/
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Step 2: Enable TCP access from localhost only
|
||||||
|
|
||||||
|
Edit the file `~/.pulse/default.pa` , adding the following line at the end:
|
||||||
|
|
||||||
|
```
|
||||||
|
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Step 3: Restart the pulseaudio deamon
|
||||||
|
|
||||||
|
```
|
||||||
|
pulseaudio -k
|
||||||
|
# OR
|
||||||
|
pulseaudio -D
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Step 4:
|
||||||
|
|
||||||
|
In the `audio` section of `/etc/forked-daapd.conf`, set `server` to `localhost`:
|
||||||
|
|
||||||
|
```
|
||||||
|
server = "localhost"
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## System Mode
|
||||||
|
|
||||||
This guide was written based on headless Debian Jessie platforms. Most of the
|
This guide was written based on headless Debian Jessie platforms. Most of the
|
||||||
instructions will require that you are root.
|
instructions will require that you are root.
|
||||||
|
|
||||||
|
|
||||||
## Step 1: Setting up Pulseaudio in system mode with Bluetooth support
|
### Step 1: Setting up Pulseaudio in system mode with Bluetooth support
|
||||||
|
|
||||||
If you see a "Connection refused" error when starting forked-daapd, then you
|
If you see a "Connection refused" error when starting forked-daapd, then you
|
||||||
will probably need to setup Pulseaudio to run in system mode [1]. This means
|
will probably need to setup Pulseaudio to run in system mode [1]. This means
|
||||||
@ -30,12 +85,12 @@ WantedBy=multi-user.target
|
|||||||
```
|
```
|
||||||
|
|
||||||
If you want Bluetooth support, you must also configure Pulseaudio to load the
|
If you want Bluetooth support, you must also configure Pulseaudio to load the
|
||||||
Bluetooth module. First install it (Debian:
|
Bluetooth module. First install it (Debian:
|
||||||
`apt install pulseaudio-module-bluetooth`) and then add the following to
|
`apt install pulseaudio-module-bluetooth`) and then add the following to
|
||||||
/etc/pulse/system.pa:
|
/etc/pulse/system.pa:
|
||||||
|
|
||||||
```
|
```
|
||||||
### Enable Bluetooth
|
#### Enable Bluetooth
|
||||||
.ifexists module-bluetooth-discover.so
|
.ifexists module-bluetooth-discover.so
|
||||||
load-module module-bluetooth-discover
|
load-module module-bluetooth-discover
|
||||||
.endif
|
.endif
|
||||||
@ -55,7 +110,7 @@ Phew, almost done with Pulseaudio! Now you should:
|
|||||||
3. check that the Bluetooth module is loaded with `pactl list modules short`
|
3. check that the Bluetooth module is loaded with `pactl list modules short`
|
||||||
|
|
||||||
|
|
||||||
## Step 2: Setting up forked-daapd
|
### Step 2: Setting up forked-daapd
|
||||||
|
|
||||||
Add the user forked-daapd is running as (typically "daapd") to the
|
Add the user forked-daapd is running as (typically "daapd") to the
|
||||||
"pulse-access" group:
|
"pulse-access" group:
|
||||||
@ -67,7 +122,7 @@ adduser daapd pulse-access
|
|||||||
Now (re)start forked-daapd.
|
Now (re)start forked-daapd.
|
||||||
|
|
||||||
|
|
||||||
## Step 3: Adding a Bluetooth device
|
### Step 3: Adding a Bluetooth device
|
||||||
|
|
||||||
To connect with the device, run `bluetoothctl` and then:
|
To connect with the device, run `bluetoothctl` and then:
|
||||||
|
|
||||||
@ -82,11 +137,10 @@ trust [MAC address]
|
|||||||
connect [MAC address]
|
connect [MAC address]
|
||||||
```
|
```
|
||||||
|
|
||||||
Now the speaker should appear in forked-daapd. You can also verify that
|
Now the speaker should appear in forked-daapd. You can also verify that
|
||||||
Pulseaudio has detected the speaker with `pactl list sinks short`.
|
Pulseaudio has detected the speaker with `pactl list sinks short`.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
[1] Note that Pulseaudio will warn against system mode. However, in this use
|
[1] Note that Pulseaudio will warn against system mode. However, in this use
|
||||||
case it is actually the solution recommended by the [Pulseaudio folks themselves](https://lists.freedesktop.org/archives/pulseaudio-discuss/2016-August/026823.html).
|
case it is actually the solution recommended by the [Pulseaudio folks themselves](https://lists.freedesktop.org/archives/pulseaudio-discuss/2016-August/026823.html).
|
||||||
|
|
||||||
|
@ -177,11 +177,9 @@ audio {
|
|||||||
# Type of the output (alsa, pulseaudio, dummy or disabled)
|
# Type of the output (alsa, pulseaudio, dummy or disabled)
|
||||||
# type = "alsa"
|
# type = "alsa"
|
||||||
|
|
||||||
# For pulseaudio output, an optional server can be specified.
|
# For pulseaudio output, an optional server can be specified.
|
||||||
# See http://billauer.co.il/blog/2014/01/pa-multiple-users/
|
# If not set, connection is made via local socket.
|
||||||
# for an example how to set up access to the daemon started
|
# server = ""
|
||||||
# by a logged-in user.
|
|
||||||
# server = "localhost"
|
|
||||||
|
|
||||||
# Audio PCM device name for local audio output - ALSA only
|
# Audio PCM device name for local audio output - ALSA only
|
||||||
# card = "default"
|
# card = "default"
|
||||||
|
Loading…
Reference in New Issue
Block a user