[pulseaudio-discuss] alsa-mixer: add "Front Panel" element support

Submitted by Tanu Kaskinen on July 12, 2017, 8:04 p.m.

Details

Message ID 20170712200415.31820-1-tanuk@iki.fi
State New
Headers show
Series "alsa-mixer: add "Front Panel" element support" ( rev: 1 ) in PulseAudio

Not browsing as part of any series.

Commit Message

Tanu Kaskinen July 12, 2017, 8:04 p.m.
Asus Xonar DX requires toggling the Front Panel switch when changing
output between the front and back panel.

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=99479
---
 src/modules/alsa/mixer/paths/analog-output-headphones.conf | 7 +++++++
 src/modules/alsa/mixer/paths/analog-output-lineout.conf    | 7 +++++++
 2 files changed, 14 insertions(+)

Patch hide | download patch | download mbox

diff --git a/src/modules/alsa/mixer/paths/analog-output-headphones.conf b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
index b6ee70ba8..04ad9f132 100644
--- a/src/modules/alsa/mixer/paths/analog-output-headphones.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
@@ -97,6 +97,13 @@  override-map.2 = all-left,all-right
 switch = on
 required-any = any
 
+# Asus Xonar DX uses the "Front Panel" element to switch output between the
+# front and back panel. We treat the front panel output as the headphone path
+# and the back panel output as the lineout path.
+[Element Front Panel]
+switch = on
+required-any = any
+
 ; This profile path is intended to control the first headphones, not
 ; the second headphones. But it should not hurt if we leave the second
 ; headphone jack enabled nonetheless.
diff --git a/src/modules/alsa/mixer/paths/analog-output-lineout.conf b/src/modules/alsa/mixer/paths/analog-output-lineout.conf
index 4add78d76..875f37d03 100644
--- a/src/modules/alsa/mixer/paths/analog-output-lineout.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-lineout.conf
@@ -129,6 +129,13 @@  volume = off
 switch = off
 required-any = any
 
+# Asus Xonar DX uses the "Front Panel" element to switch output between the
+# front and back panel. We treat the front panel output as the headphone path
+# and the back panel output as the lineout path.
+[Element Front Panel]
+switch = off
+required-any = any
+
 ; This profile path is intended to control line out, let's mute headphones
 ; else there will be a spike when plugging in headphones
 [Element Headphone]