Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,15 @@
# 3 and 4 the right one. Map the channels in slot order so stereo reaches both
# speakers, and copy it to the rear channels so no slot stays silent; the link
# only takes S16 at 48 kHz. J172 is assumed to match.
#
# Match the Speaker node only. The headphone jack is a second PCM on the same
# card (hw:N,1) that only accepts S32_LE; a card-name match applied this
# format to both, and PipeWire never created the headphones sink.
monitor.alsa.rules = [
{
matches = [
{ alsa.card_name = "J171 Speakers" }
{ alsa.card_name = "J172 Speakers" }
{ alsa.card_name = "J171 Speakers", node.name = "alsa_output.platform-sound.HiFi__Speaker__sink" }
{ alsa.card_name = "J172 Speakers", node.name = "alsa_output.platform-sound.HiFi__Speaker__sink" }
]
actions = {
update-props = {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
# The speakers' output keeps ALSA's PCM name as its short name
# ("s8000-mca-HiFi HiFi-0"), and the shell's audio menu shows the short name.
# Name it for what it is. The node is the built-in sound card's (the
# simple-audio-card at /sound), with the UCM Speaker device of
# /usr/share/alsa/ucm2/Orchard on every iPad that has one.
# Name it for what it is. Match the UCM Speaker node only; headphones are a
# second output on the same simple-audio-card and must not be named Speakers.
monitor.alsa.rules = [
{
matches = [ { node.name = "~alsa_output.platform-sound.*" } ]
matches = [ { node.name = "alsa_output.platform-sound.HiFi__Speaker__sink" } ]
actions = {
update-props = {
node.nick = "Speakers"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# The headphone jack on the shared iPad 6 and 7 card is a second PCM
# (hw:N,1): S32_LE, 2ch, 48 kHz. Name it Headphones, and raise its session
# priority above the speakers (WirePlumber ranks PCM 0 at 1000 and PCM 1 at
# 728, so the speakers stay the default even with the jack in). UCM
# PlaybackPriority only ranks routes. While the jack is out, the Headphones
# route is unavailable and this node is skipped. A user-saved default (a
# Bluetooth sink) still wins while it is connected.
monitor.alsa.rules = [
{
matches = [
{ node.name = "alsa_output.platform-sound.HiFi__Headphones__sink" }
]
actions = {
update-props = {
node.nick = "Headphones"
audio.format = "S32LE"
audio.rate = 48000
audio.position = [ FL, FR ]
priority.driver = 1100
priority.session = 1100
}
}
}
]
Loading