From 15a4f702e95b5a3cb8f1bba8d1c3f6dd007259ee Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Sun, 16 Apr 2017 17:55:47 +0100 Subject: [PATCH 1/5] Update FREEBSD.md --- FREEBSD.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/FREEBSD.md b/FREEBSD.md index bf5fae14..286cad08 100644 --- a/FREEBSD.md +++ b/FREEBSD.md @@ -1,4 +1,4 @@ -This is a very quick initial note about installing Shairport Sync on FreeBSD. Some manual installation is required. +This is a very quick initial note about installing Shairport Sync on FreeBSD. Some manual installation is required. Please see important notes at the end about using the `sndio` back end. The build instrctions here install back ends of `sndio` (native to OpenBSD) and ALSA. ALSA is, or course, the Advanced Linux Sound Architecture, so it is not "native" to FreeBSD. It has, however, been ported, so it should work pretty well. @@ -63,3 +63,13 @@ $ mixer vol 100 # sets overall volume $ mixer pcm 100 # sets maximum volume level for the default sndio device used by Shairport Sync ``` +Using the `sndio` back end. +The `sndio` back end does synchronisation, using informatin supplied by the `sndio` subsystem. The format of the information is not the same as that coming from the ALSA subsystem, so Shairport Sync cannot yet use it properly. As a workaround, use the following settings: + +In the `general` stanza, make the following settings: +``` +drift_tolerance_in_seconds = 0.005; // allow some more tolerance before attempting to correct +resync_threshold_in_seconds = 0.0; // ignore a large error in the initial estimation of synchrnoisation time... +``` +Note that there are workarounds -- it is hoped that they won't be necessary for too long. + From 0763185859b23d307aa747869824116c95d0df38 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Sun, 16 Apr 2017 18:00:25 +0100 Subject: [PATCH 2/5] Update FREEBSD.md --- FREEBSD.md | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/FREEBSD.md b/FREEBSD.md index 286cad08..037f804e 100644 --- a/FREEBSD.md +++ b/FREEBSD.md @@ -1,7 +1,13 @@ -This is a very quick initial note about installing Shairport Sync on FreeBSD. Some manual installation is required. Please see important notes at the end about using the `sndio` back end. +Introduction +---- +This is a very quick initial note about installing Shairport Sync on FreeBSD. Some manual installation is required. + +Please see important notes at the end about using the `sndio` back end -- some workarounds are needed for the present. The build instrctions here install back ends of `sndio` (native to OpenBSD) and ALSA. ALSA is, or course, the Advanced Linux Sound Architecture, so it is not "native" to FreeBSD. It has, however, been ported, so it should work pretty well. +General +---- This build was done on a default build of `FreeBSD 11.0-RELEASE-p9`. First, update everything: @@ -16,6 +22,8 @@ Next, install the `pkg` package manager and update its lists: # pkg update ``` +Subsystems +---- Now, install the ALSA and Avahi subsystems. Note: `avahi-app` is chosen because it doesn’t require X11 and `nss_mdns` allows FreeBSD to resolve mDNS-originated addresses. Thanks to [reidransom](https://gist.github.com/reidransom/6033227) for this: @@ -33,6 +41,9 @@ hosts: files dns mdns ``` Reboot for these changes to take effect. +Building +---- + Next, install the packages that are needed for Shairport Sync to be downloaded and build successfully: ``` # pkg install git autotools pkgconf popt libconfig openssl sndio @@ -52,19 +63,16 @@ $ CPPFLAGS="-I/usr/local/include" ./configure --with-alsa --with-avahi --with-s $ make ``` +What's Next +---- After this, you're on your own – the `$ sudo make install` step does not work for FreeBSD. Maybe some day... To continue, you should create a configuration file at `/usr/local/etc/shairport-sync.conf`. Please see the sample configuration file for more details. -Note, the `mixer` command is useful for setting the output device's overall volume settings. With the default settings for the `sndio` back end, the `pcm` mixer controls its maximum output: +Using the `sndio` backend +---- -``` -$ mixer vol 100 # sets overall volume -$ mixer pcm 100 # sets maximum volume level for the default sndio device used by Shairport Sync -``` - -Using the `sndio` back end. -The `sndio` back end does synchronisation, using informatin supplied by the `sndio` subsystem. The format of the information is not the same as that coming from the ALSA subsystem, so Shairport Sync cannot yet use it properly. As a workaround, use the following settings: +The `sndio` back end does synchronisation, using information from the `sndio` subsystem. The format of the information is not the same as that coming from the ALSA subsystem, so Shairport Sync cannot yet use it properly. As a workaround, please use the following settings: In the `general` stanza, make the following settings: ``` @@ -73,3 +81,11 @@ resync_threshold_in_seconds = 0.0; // ignore a large error in the initial estima ``` Note that there are workarounds -- it is hoped that they won't be necessary for too long. +Setting Overall Volume +---- +Note, the `mixer` command is useful for setting the output device's overall volume settings. With the default settings for the `sndio` back end, the `pcm` mixer controls its maximum output: + +``` +$ mixer vol 100 # sets overall volume +$ mixer pcm 100 # sets maximum volume level for the default sndio device used by Shairport Sync +``` From e8fc368f017914fecf9ca5099ff108e903606410 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Sun, 16 Apr 2017 18:03:20 +0100 Subject: [PATCH 3/5] Update FREEBSD.md --- FREEBSD.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/FREEBSD.md b/FREEBSD.md index 037f804e..3484c077 100644 --- a/FREEBSD.md +++ b/FREEBSD.md @@ -4,7 +4,7 @@ This is a very quick initial note about installing Shairport Sync on FreeBSD. So Please see important notes at the end about using the `sndio` back end -- some workarounds are needed for the present. -The build instrctions here install back ends of `sndio` (native to OpenBSD) and ALSA. ALSA is, or course, the Advanced Linux Sound Architecture, so it is not "native" to FreeBSD. It has, however, been ported, so it should work pretty well. +The build instrctions here install back ends for `sndio` (native to OpenBSD) and ALSA. ALSA is, or course, the Advanced Linux Sound Architecture, so it is not "native" to FreeBSD. It has, however, been ported, so it should work pretty well. General ---- @@ -63,7 +63,7 @@ $ CPPFLAGS="-I/usr/local/include" ./configure --with-alsa --with-avahi --with-s $ make ``` -What's Next +Manual Installation ---- After this, you're on your own – the `$ sudo make install` step does not work for FreeBSD. Maybe some day... From d09f125b7db30a8caf35a049aabfac97cb0a58c1 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Sun, 16 Apr 2017 18:14:22 +0100 Subject: [PATCH 4/5] Update FREEBSD.md --- FREEBSD.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/FREEBSD.md b/FREEBSD.md index 3484c077..5b62a435 100644 --- a/FREEBSD.md +++ b/FREEBSD.md @@ -72,12 +72,12 @@ To continue, you should create a configuration file at `/usr/local/etc/shairport Using the `sndio` backend ---- -The `sndio` back end does synchronisation, using information from the `sndio` subsystem. The format of the information is not the same as that coming from the ALSA subsystem, so Shairport Sync cannot yet use it properly. As a workaround, please use the following settings: +The `sndio` back end does synchronisation, thanks to the work of [t6](https://github.com/t6), using information from the `sndio` subsystem. The format of the information is not the same as that coming from the ALSA subsystem, so Shairport Sync cannot yet use it properly. As a workaround, please use the following settings: -In the `general` stanza, make the following settings: +In the `general` stanza of the configuration file at `/usr/local/etc/shairport-sync.conf`, make the following settings: ``` drift_tolerance_in_seconds = 0.005; // allow some more tolerance before attempting to correct -resync_threshold_in_seconds = 0.0; // ignore a large error in the initial estimation of synchrnoisation time... +resync_threshold_in_seconds = 0.0; // ignore a large error in the initial estimation of synchronisation time... ``` Note that there are workarounds -- it is hoped that they won't be necessary for too long. From 5ab3c3b99870413a22234009e69f02724a94959c Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Sun, 16 Apr 2017 18:15:08 +0100 Subject: [PATCH 5/5] Update FREEBSD.md --- FREEBSD.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FREEBSD.md b/FREEBSD.md index 5b62a435..241e3dfc 100644 --- a/FREEBSD.md +++ b/FREEBSD.md @@ -4,7 +4,7 @@ This is a very quick initial note about installing Shairport Sync on FreeBSD. So Please see important notes at the end about using the `sndio` back end -- some workarounds are needed for the present. -The build instrctions here install back ends for `sndio` (native to OpenBSD) and ALSA. ALSA is, or course, the Advanced Linux Sound Architecture, so it is not "native" to FreeBSD. It has, however, been ported, so it should work pretty well. +The build instructions here install back ends for `sndio` (native to OpenBSD) and ALSA. ALSA is, or course, the Advanced Linux Sound Architecture, so it is not "native" to FreeBSD. It has, however, been ported, so it should work pretty well. General ----