docs: guides for running multiple AirPlay 2 instances and splitting a surround card - #2289
Merged
Merged
Conversation
Add two ADVANCED TOPICS guides for building a multi-room system: - RunningMultipleInstances.md: running one AirPlay 2 instance per room on a single host, VM or set of containers. Each instance is given a name and a distinct port; the device id and the nqptp shared-memory name are derived from the name, so several instances share one configuration file and differ only in name, port and output device. Covers the one-shared-nqptp model, sharing one IP vs one IP per room, setting the identity explicitly, and a container example. - SplittingASurroundCard.md: carving one multichannel ALSA card into several independent per-room stereo PCMs with dmix/route/plug, including the shared-IPC requirement for doing the split across containers and a note on pinning USB cards by name. Link both from the ADVANCED TOPICS index, and add a pointer from AIRPLAY2.md.
haavar
force-pushed
the
docs/multiple-instances
branch
from
September 11, 2026 21:44
ee91c90 to
cce6596
Compare
Owner
|
Thanks again. |
|
Thanks @haavar for all your PRs. This weekend I'm going to switch my docker compose to no longer use macvlan and use env vars to set the name, device and port with one common config. |
Author
|
Sure. I just converted my setup to port based and config template today using the development branch. No local changes. I made some updates to the instructions in another PR. There is probably a more elegant way to run avahi and nqptp, but this works. If you are using mqtt to send updates to home assistant, you need to delete the mqtt devices in HA to get the updates. The devices gets recreated, and I did not have to make any other changes. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this is
Two new ADVANCED TOPICS guides for building a multi-room AirPlay 2 system, plus an index entry and a pointer from
AIRPLAY2.md:RunningMultipleInstances.md— running one AirPlay 2 instance per room on a single host, VM or set of containers. Each instance gets a name and a distinct port (or address); the AirPlay 2 device id and the nqptp shared-memory name are derived from the name, so several instances share one configuration file and differ only in name, port and output device. Covers the one-shared-nqptp model, per-room Avahi, a container example, and pointers to the ALSA guide.SplittingASurroundCard.md— carving one multichannel ALSA card into several independent per-room stereo PCMs withdshare/bindings(andplug), including the shared-IPC requirement for doing the split across containers, and a note on pinning USB cards by name.It also updates
AIRPLAY2.md: the old "multiple instances can not be hosted on the same system" line is replaced by a pointer to the new guide.Depends on two open PRs
RunningMultipleInstances.mddocuments the system as it will behave once these are merged, so this should land after them:ENABLE_NQPTPin the container launcher. The guide's container example setsENABLE_NQPTP=0on the room containers so a single shared nqptp serves them all.SplittingASurroundCard.mdis pure ALSA configuration and has no dependency on either PR.I've written the guides against the merged behaviour rather than hedging every line with version caveats; happy to add a "requires version X" note once there's a release, or to hold this until #2287 and #2288 are in.