]> code.delx.au - pulseaudio/blob - src/modules/alsa/mixer/profile-sets/default.conf
93262458233a90ed22a6bb61c67be7d44660050b
[pulseaudio] / src / modules / alsa / mixer / profile-sets / default.conf
1 # This file is part of PulseAudio.
2 #
3 # PulseAudio is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU Lesser General Public License as
5 # published by the Free Software Foundation; either version 2.1 of the
6 # License, or (at your option) any later version.
7 #
8 # PulseAudio is distributed in the hope that it will be useful, but
9 # WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 # General Public License for more details.
12 #
13 # You should have received a copy of the GNU Lesser General Public License
14 # along with PulseAudio; if not, write to the Free Software Foundation,
15 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
16
17 ; Default profile definitions for the ALSA backend of PulseAudio. This
18 ; is used as fallback for all cards that have no special mapping
19 ; assigned (and should be good enough for the vast majority of
20 ; cards). If you want to assign a different profile set than this one
21 ; to a device, either set the udev property PULSE_PROFILE_SET for the
22 ; card, or use the "profile_set" module argument when loading
23 ; module-alsa-card.
24 ;
25 ; So what is this about? Simply, what we do here is map ALSA devices
26 ; to how they are exposed in PA. We say which ALSA device string to
27 ; use to open a device, which channel mapping to use then, and which
28 ; mixer path to use. This is encoded in a 'mapping'. Multiple of these
29 ; mappings can be bound together in a 'profile' which is then directly
30 ; exposed in the UI as a card profile. Each mapping assigned to a
31 ; profile will result in one sink/source to be created if the profile
32 ; is selected for the card.
33 ;
34 ; Additionally, the path set configuration files can describe the
35 ; decibel values assigned to the steps of the volume elements. This
36 ; can be used to work around situations when the alsa driver doesn't
37 ; provide any decibel information, or when the information is
38 ; incorrect.
39
40
41 ; [General]
42 ; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate
43 ; # them by combining every input mapping with every output mapping.
44 ;
45 ; [Mapping id]
46 ; device-strings = ... # ALSA device string. %f will be replaced by the card identifier.
47 ; channel-map = ... # Channel mapping to use for this device
48 ; description = ...
49 ; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed.
50 ; # If multiple are found to be working they will be available as device ports
51 ; paths-output = ...
52 ; element-input = ... # Instead of configuring a full mixer path simply configure a single
53 ; # mixer element for volume/mute handling
54 ; element-output = ...
55 ; priority = ...
56 ; direction = any | input | output # Only useful for?
57 ;
58 ; [Profile id]
59 ; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be
60 ; # defined in this file too
61 ; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be
62 ; # defined in this file too
63 ; description = ...
64 ; priority = ... # Numeric value to deduce priority for this profile
65 ; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile
66 ; # will be assumed as working without probing. Makes initialization
67 ; # a bit faster but only works if the card is really known well.
68 ;
69 ; [DecibelFix element] # Decibel fixes can be used to work around missing or incorrect dB
70 ; # information from alsa. A decibel fix is a table that maps volume steps
71 ; # to decibel values for one volume element. The "element" part in the
72 ; # section title is the name of the volume element.
73 ; #
74 ; # NOTE: This feature is meant just as a help for figuring out the correct
75 ; # decibel values. PulseAudio is not the correct place to maintain the
76 ; # decibel mappings!
77 ; #
78 ; # If you need this feature, then you should make sure that when you have
79 ; # the correct values figured out, the alsa driver developers get informed
80 ; # too, so that they can fix the driver.
81 ;
82 ; db-values = ... # The option value consists of pairs of step numbers and decibel values.
83 ; # The pairs are separated with whitespace, and steps are separated from
84 ; # the corresponding decibel values with a colon. The values must be in an
85 ; # increasing order. Here's an example of a valid string:
86 ; #
87 ; # "0:-40.50 1:-38.70 3:-33.00 11:0"
88 ; #
89 ; # The lowest step imposes a lower limit for hardware volume and the
90 ; # highest step correspondingly imposes a higher limit. That means that
91 ; # that the mixer will never be set outside those values - the rest of the
92 ; # volume scale is done using software volume.
93 ; #
94 ; # As can be seen in the example, you don't need to specify a dB value for
95 ; # each step. The dB values for skipped steps will be linearly interpolated
96 ; # using the nearest steps that are given.
97
98 [General]
99 auto-profiles = yes
100
101 [Mapping analog-mono]
102 device-strings = hw:%f
103 channel-map = mono
104 paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-desktop-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono
105 paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headset-mic
106 priority = 1
107
108 [Mapping analog-stereo]
109 device-strings = front:%f hw:%f
110 channel-map = left,right
111 paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-desktop-speaker analog-output-headphones analog-output-headphones-2
112 paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headphone-mic analog-input-headset-mic
113 priority = 10
114
115 [Mapping analog-surround-40]
116 device-strings = surround40:%f
117 channel-map = front-left,front-right,rear-left,rear-right
118 paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-desktop-speaker
119 priority = 7
120 direction = output
121
122 [Mapping analog-surround-41]
123 device-strings = surround41:%f
124 channel-map = front-left,front-right,rear-left,rear-right,lfe
125 paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-desktop-speaker
126 priority = 8
127 direction = output
128
129 [Mapping analog-surround-50]
130 device-strings = surround50:%f
131 channel-map = front-left,front-right,rear-left,rear-right,front-center
132 paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-desktop-speaker
133 priority = 7
134 direction = output
135
136 [Mapping analog-surround-51]
137 device-strings = surround51:%f
138 channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
139 paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-desktop-speaker
140 priority = 8
141 direction = output
142
143 [Mapping analog-surround-71]
144 device-strings = surround71:%f
145 channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
146 description = Analog Surround 7.1
147 paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-desktop-speaker
148 priority = 7
149 direction = output
150
151 [Mapping analog-4-channel-input]
152 # Alsa doesn't currently provide any better device name than "hw" for 4-channel
153 # input. If this causes trouble at some point, then we will need to get a new
154 # device name standardized in alsa.
155 device-strings = hw:%f
156 channel-map = aux0,aux1,aux2,aux3
157 priority = 1
158 direction = input
159
160 [Mapping iec958-stereo]
161 device-strings = iec958:%f
162 channel-map = left,right
163 paths-input = iec958-stereo-input
164 paths-output = iec958-stereo-output
165 priority = 5
166
167 [Mapping iec958-ac3-surround-40]
168 device-strings = a52:%f
169 channel-map = front-left,front-right,rear-left,rear-right
170 paths-output = iec958-stereo-output
171 priority = 2
172 direction = output
173
174 [Mapping iec958-ac3-surround-51]
175 device-strings = a52:%f
176 channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
177 paths-output = iec958-stereo-output
178 priority = 3
179 direction = output
180
181 [Mapping iec958-dts-surround-51]
182 device-strings = dca:%f
183 channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
184 paths-output = iec958-stereo-output
185 priority = 3
186 direction = output
187
188 [Mapping hdmi-stereo]
189 device-strings = hdmi:%f
190 channel-map = left,right
191 priority = 4
192 direction = output
193 paths-output = hdmi-output-0
194
195 ; An example for defining multiple-sink profiles
196 #[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo]
197 #description = Foobar
198 #output-mappings = analog-stereo iec958-stereo
199 #input-mappings = analog-stereo