shairport-sync/OPENBSD.md

3.0 KiB

Shairport Sync on OpenBSD [AirPlay 2 Not Supported]

This is a note about installing Shairport Sync on OpenBSD. Shairport Sync compiles and runs natively on OpenBSD using the sndio back end. For general information on sndio please follow this link.

Unlike FreeBSD, it seems that OpenBSD does not use the directory /usr/local/etc as a system configuration directory ("sysconfdir") but follows the same practice as Linux in using /etc as the default sysconfdir.

General

This build was done on a default build of OpenBSD 6.6 GENERIC.MP#5 amd64. Following this guide, /etc/installurl was created with the to refer to the standard repository:

https://ftp.openbsd.org/pub/OpenBSD

You might have a closer or faster repository to use instead.

Next, although it may not always be necessary, apply any outstanding system updates and update the packages.

First, update the system:

# syspatch

Now update the packages:

# pkg_add -Uu

Install the Avahi subsystem (search using, for example, # pkg_info -Q avahi).

# pkg_add avahi

A number of libraries will be installed to support Avahi, including the D-Bus system. Enable the D-Bus and Avahi subsystems to start automatically:

# rcctl enable messagebus avahi_daemon 
# rcctl start messagebus avahi_daemon 

Building

Install the following packages (e.g. using pkg_add in superuser mode) needed to download and build Shairport Sync:

# pkg_add autoconf automake popt libconfig git

Note the versions of autoconf and automake you choose (2.69 and 1.16 at the time of writing) and add them as shell variable definitions for -- they could be placed in the user's .profile file to be automatically executed at login:

export AUTOCONF_VERSION=2.69
export AUTOMAKE_VERSION=1.16

Now, download Shairport Sync from GitHub:

$ git clone https://github.com/mikebrady/shairport-sync.git
$ cd shairport-sync

Next, configure and compile shairport-sync:

$ autoreconf -fi
$ ./configure --sysconfdir=/etc --with-avahi --with-ssl=openssl --with-libdaemon \
     --with-sndio --with-os=openbsd
$ make

The application is called shairport-sync. Check that it's running correctly by executing the following command:

$ ./shairport-sync -V

This will execute the application and it will return its version information and terminate, for example:

3.3.6-libdaemon-OpenSSL-Avahi-sndio-sysconfdir:/etc

There is no make install yet -- you're on your own.

Using the sndio backend

The sndio back end does not yet have a hardware volume control facility. You should set the volume to maximum before use, using, for example, the mixerctl command.