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, see <http://www.gnu.org/licenses/>.
15
16; Default profile definitions for the ALSA backend of PulseAudio. This
17; is used as fallback for all cards that have no special mapping
18; assigned (and should be good enough for the vast majority of
19; cards). If you want to assign a different profile set than this one
20; to a device, either set the udev property PULSE_PROFILE_SET for the
21; card, or use the "profile_set" module argument when loading
22; module-alsa-card.
23;
24; So what is this about? Simply, what we do here is map ALSA devices
25; to how they are exposed in PA. We say which ALSA device string to
26; use to open a device, which channel mapping to use then, and which
27; mixer path to use. This is encoded in a 'mapping'. Multiple of these
28; mappings can be bound together in a 'profile' which is then directly
29; exposed in the UI as a card profile. Each mapping assigned to a
30; profile will result in one sink/source to be created if the profile
31; is selected for the card.
32;
33; Additionally, the path set configuration files can describe the
34; decibel values assigned to the steps of the volume elements. This
35; can be used to work around situations when the alsa driver doesn't
36; provide any decibel information, or when the information is
37; incorrect.
38
39
40; [General]
41; auto-profiles = no | yes                  # Instead of defining all profiles manually, autogenerate
42;                                           # them by combining every input mapping with every output mapping.
43;
44; [Mapping id]
45; device-strings = ...                      # ALSA device string. %f will be replaced by the card identifier.
46; channel-map = ...                         # Channel mapping to use for this device
47; description = ...                         # Description for the mapping. Note that it's better to set the description
48;                                           # in the well_known_descriptions table in alsa-mixer.c than with this
49;                                           # option, because the descriptions in alsa-mixer.c are translatable.
50; description-key = ...                     # A custom key for the well_known_descriptions table (by default the mapping
51;                                           # name is used).
52; paths-input = ...                         # A list of mixer paths to use. Every path in this list will be probed.
53;                                           # If multiple are found to be working they will be available as device ports
54; paths-output = ...
55; element-input = ...                       # Instead of configuring a full mixer path simply configure a single
56;                                           # mixer element for volume/mute handling. The value can be an element
57;                                           # name, or name and index separated by a comma.
58; element-output = ...
59; priority = ...
60; direction = any | input | output          # Only useful for?
61;
62; exact-channels = yes | no                 # If no, and the exact number of channels is not supported,
63;                                           # allow device to be opened with another channel count
64; fallback = no | yes                       # This mapping will only be considered if all non-fallback mappings fail
65; intended-roles = ...                      # Set the device.intended_roles property for the sink/source.
66;
67; [Profile id]
68; input-mappings = ...                      # Lists mappings for sources on this profile, those mapping must be
69;                                           # defined in this file too
70; output-mappings = ...                     # Lists mappings for sinks on this profile, those mappings must be
71;                                           # defined in this file too
72; description = ...
73; priority = ...                            # Numeric value to deduce priority for this profile
74; skip-probe = no | yes                     # Skip probing for availability? If this is yes then this profile
75;                                           # will be assumed as working without probing. Makes initialization
76;                                           # a bit faster but only works if the card is really known well.
77;
78; fallback = no | yes                       # This profile will only be considered if all non-fallback profiles fail
79; [DecibelFix element]                      # Decibel fixes can be used to work around missing or incorrect dB
80;                                           # information from alsa. A decibel fix is a table that maps volume steps
81;                                           # to decibel values for one volume element. The "element" part in the
82;                                           # section title is the name of the volume element (or name and index
83;                                           # separated by a comma).
84;                                           #
85;                                           # NOTE: This feature is meant just as a help for figuring out the correct
86;                                           # decibel values. PulseAudio is not the correct place to maintain the
87;                                           # decibel mappings!
88;                                           #
89;                                           # If you need this feature, then you should make sure that when you have
90;                                           # the correct values figured out, the alsa driver developers get informed
91;                                           # too, so that they can fix the driver.
92;
93; db-values = ...                           # The option value consists of pairs of step numbers and decibel values.
94;                                           # The pairs are separated with whitespace, and steps are separated from
95;                                           # the corresponding decibel values with a colon. The values must be in an
96;                                           # increasing order. Here's an example of a valid string:
97;                                           #
98;                                           #     "0:-40.50  1:-38.70  3:-33.00  11:0"
99;                                           #
100;                                           # The lowest step imposes a lower limit for hardware volume and the
101;                                           # highest step correspondingly imposes a higher limit. That means that
102;                                           # that the mixer will never be set outside those values - the rest of the
103;                                           # volume scale is done using software volume.
104;                                           #
105;                                           # As can be seen in the example, you don't need to specify a dB value for
106;                                           # each step. The dB values for skipped steps will be linearly interpolated
107;                                           # using the nearest steps that are given.
108
109[General]
110auto-profiles = yes
111
112[Mapping analog-stereo]
113device-strings = front:%f
114channel-map = left,right
115paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-headphones analog-output-headphones-2
116paths-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
117priority = 15
118
119# If everything else fails, try to use hw:0 as a stereo device...
120[Mapping stereo-fallback]
121device-strings = hw:%f
122fallback = yes
123channel-map = front-left,front-right
124paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-headphones analog-output-headphones-2
125paths-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
126priority = 1
127
128# ...and if even that fails, try to use hw:0 as a mono device.
129[Mapping mono-fallback]
130device-strings = hw:%f
131fallback = yes
132channel-map = mono
133paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono
134paths-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
135priority = 1
136
137[Mapping analog-surround-21]
138device-strings = surround21:%f
139channel-map = front-left,front-right,lfe
140paths-output = analog-output analog-output-lineout analog-output-speaker
141priority = 13
142direction = output
143
144[Mapping analog-surround-40]
145device-strings = surround40:%f
146channel-map = front-left,front-right,rear-left,rear-right
147paths-output = analog-output analog-output-lineout analog-output-speaker
148priority = 12
149direction = output
150
151[Mapping analog-surround-41]
152device-strings = surround41:%f
153channel-map = front-left,front-right,rear-left,rear-right,lfe
154paths-output = analog-output analog-output-lineout analog-output-speaker
155priority = 13
156direction = output
157
158[Mapping analog-surround-50]
159device-strings = surround50:%f
160channel-map = front-left,front-right,rear-left,rear-right,front-center
161paths-output = analog-output analog-output-lineout analog-output-speaker
162priority = 12
163direction = output
164
165[Mapping analog-surround-51]
166device-strings = surround51:%f
167channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
168paths-output = analog-output analog-output-lineout analog-output-speaker
169priority = 13
170direction = output
171
172[Mapping analog-surround-71]
173device-strings = surround71:%f
174channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
175description = Analog Surround 7.1
176paths-output = analog-output analog-output-lineout analog-output-speaker
177priority = 12
178direction = output
179
180[Mapping iec958-stereo]
181device-strings = iec958:%f
182channel-map = left,right
183paths-input = iec958-stereo-input
184paths-output = iec958-stereo-output
185priority = 5
186
187[Mapping iec958-ac3-surround-40]
188device-strings = a52:%f
189channel-map = front-left,front-right,rear-left,rear-right
190paths-output = iec958-stereo-output
191priority = 2
192direction = output
193
194[Mapping iec958-ac3-surround-51]
195device-strings = a52:%f
196channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
197paths-output = iec958-stereo-output
198priority = 3
199direction = output
200
201[Mapping iec958-dts-surround-51]
202device-strings = dca:%f
203channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
204paths-output = iec958-stereo-output
205priority = 3
206direction = output
207
208[Mapping hdmi-stereo]
209description = Digital Stereo (HDMI)
210device-strings = hdmi:%f
211paths-output = hdmi-output-0
212channel-map = left,right
213priority = 9
214direction = output
215
216[Mapping hdmi-surround]
217description = Digital Surround 5.1 (HDMI)
218device-strings = hdmi:%f
219paths-output = hdmi-output-0
220channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
221priority = 8
222direction = output
223
224[Mapping hdmi-surround71]
225description = Digital Surround 7.1 (HDMI)
226device-strings = hdmi:%f
227paths-output = hdmi-output-0
228channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
229priority = 8
230direction = output
231
232[Mapping hdmi-dts-surround]
233description = Digital Surround 5.1 (HDMI/DTS)
234device-strings = dcahdmi:%f
235paths-output = hdmi-output-0
236channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
237priority = 6
238direction = output
239
240[Mapping hdmi-stereo-extra1]
241description = Digital Stereo (HDMI 2)
242device-strings = hdmi:%f,1
243paths-output = hdmi-output-1
244channel-map = left,right
245priority = 7
246direction = output
247
248[Mapping hdmi-surround-extra1]
249description = Digital Surround 5.1 (HDMI 2)
250device-strings = hdmi:%f,1
251paths-output = hdmi-output-1
252channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
253priority = 6
254direction = output
255
256[Mapping hdmi-surround71-extra1]
257description = Digital Surround 7.1 (HDMI 2)
258device-strings = hdmi:%f,1
259paths-output = hdmi-output-1
260channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
261priority = 6
262direction = output
263
264[Mapping hdmi-dts-surround-extra1]
265description = Digital Surround 5.1 (HDMI 2/DTS)
266device-strings = dcahdmi:%f,1
267paths-output = hdmi-output-1
268channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
269priority = 6
270direction = output
271
272[Mapping hdmi-stereo-extra2]
273description = Digital Stereo (HDMI 3)
274device-strings = hdmi:%f,2
275paths-output = hdmi-output-2
276channel-map = left,right
277priority = 7
278direction = output
279
280[Mapping hdmi-surround-extra2]
281description = Digital Surround 5.1 (HDMI 3)
282device-strings = hdmi:%f,2
283paths-output = hdmi-output-2
284channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
285priority = 6
286direction = output
287
288[Mapping hdmi-surround71-extra2]
289description = Digital Surround 7.1 (HDMI 3)
290device-strings = hdmi:%f,2
291paths-output = hdmi-output-2
292channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
293priority = 6
294direction = output
295
296[Mapping hdmi-dts-surround-extra2]
297description = Digital Surround 5.1 (HDMI 3/DTS)
298device-strings = dcahdmi:%f,2
299paths-output = hdmi-output-2
300channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
301priority = 6
302direction = output
303
304[Mapping hdmi-stereo-extra3]
305description = Digital Stereo (HDMI 4)
306device-strings = hdmi:%f,3
307paths-output = hdmi-output-3
308channel-map = left,right
309priority = 7
310direction = output
311
312[Mapping hdmi-surround-extra3]
313description = Digital Surround 5.1 (HDMI 4)
314device-strings = hdmi:%f,3
315paths-output = hdmi-output-3
316channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
317priority = 6
318direction = output
319
320[Mapping hdmi-surround71-extra3]
321description = Digital Surround 7.1 (HDMI 4)
322device-strings = hdmi:%f,3
323paths-output = hdmi-output-3
324channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
325priority = 6
326direction = output
327
328[Mapping hdmi-dts-surround-extra3]
329description = Digital Surround 5.1 (HDMI 4/DTS)
330device-strings = dcahdmi:%f,3
331paths-output = hdmi-output-3
332channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
333priority = 6
334direction = output
335
336[Mapping hdmi-stereo-extra4]
337description = Digital Stereo (HDMI 5)
338device-strings = hdmi:%f,4
339paths-output = hdmi-output-4
340channel-map = left,right
341priority = 7
342direction = output
343
344[Mapping hdmi-surround-extra4]
345description = Digital Surround 5.1 (HDMI 5)
346device-strings = hdmi:%f,4
347paths-output = hdmi-output-4
348channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
349priority = 6
350direction = output
351
352[Mapping hdmi-surround71-extra4]
353description = Digital Surround 7.1 (HDMI 5)
354device-strings = hdmi:%f,4
355paths-output = hdmi-output-4
356channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
357priority = 6
358direction = output
359
360[Mapping hdmi-dts-surround-extra4]
361description = Digital Surround 5.1 (HDMI 5/DTS)
362device-strings = dcahdmi:%f,4
363paths-output = hdmi-output-4
364channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
365priority = 6
366direction = output
367
368[Mapping hdmi-stereo-extra5]
369description = Digital Stereo (HDMI 6)
370device-strings = hdmi:%f,5
371paths-output = hdmi-output-5
372channel-map = left,right
373priority = 7
374direction = output
375
376[Mapping hdmi-surround-extra5]
377description = Digital Surround 5.1 (HDMI 6)
378device-strings = hdmi:%f,5
379paths-output = hdmi-output-5
380channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
381priority = 6
382direction = output
383
384[Mapping hdmi-surround71-extra5]
385description = Digital Surround 7.1 (HDMI 6)
386device-strings = hdmi:%f,5
387paths-output = hdmi-output-5
388channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
389priority = 6
390direction = output
391
392[Mapping hdmi-dts-surround-extra5]
393description = Digital Surround 5.1 (HDMI 6/DTS)
394device-strings = dcahdmi:%f,5
395paths-output = hdmi-output-5
396channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
397priority = 6
398direction = output
399
400[Mapping hdmi-stereo-extra6]
401description = Digital Stereo (HDMI 7)
402device-strings = hdmi:%f,6
403paths-output = hdmi-output-6
404channel-map = left,right
405priority = 7
406direction = output
407
408[Mapping hdmi-surround-extra6]
409description = Digital Surround 5.1 (HDMI 7)
410device-strings = hdmi:%f,6
411paths-output = hdmi-output-6
412channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
413priority = 6
414direction = output
415
416[Mapping hdmi-surround71-extra6]
417description = Digital Surround 7.1 (HDMI 7)
418device-strings = hdmi:%f,6
419paths-output = hdmi-output-6
420channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
421priority = 6
422direction = output
423
424[Mapping hdmi-dts-surround-extra6]
425description = Digital Surround 5.1 (HDMI 7/DTS)
426device-strings = dcahdmi:%f,6
427paths-output = hdmi-output-6
428channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
429priority = 6
430direction = output
431
432[Mapping hdmi-stereo-extra7]
433description = Digital Stereo (HDMI 8)
434device-strings = hdmi:%f,7
435paths-output = hdmi-output-7
436channel-map = left,right
437priority = 7
438direction = output
439
440[Mapping hdmi-surround-extra7]
441description = Digital Surround 5.1 (HDMI 8)
442device-strings = hdmi:%f,7
443paths-output = hdmi-output-7
444channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
445priority = 6
446direction = output
447
448[Mapping hdmi-surround71-extra7]
449description = Digital Surround 7.1 (HDMI 8)
450device-strings = hdmi:%f,7
451paths-output = hdmi-output-7
452channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
453priority = 6
454direction = output
455
456[Mapping hdmi-dts-surround-extra7]
457description = Digital Surround 5.1 (HDMI 8/DTS)
458device-strings = dcahdmi:%f,7
459paths-output = hdmi-output-7
460channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
461priority = 6
462direction = output
463
464[Mapping hdmi-stereo-extra8]
465description = Digital Stereo (HDMI 9)
466device-strings = hdmi:%f,8
467paths-output = hdmi-output-8
468channel-map = left,right
469priority = 7
470direction = output
471
472[Mapping hdmi-surround-extra8]
473description = Digital Surround 5.1 (HDMI 9)
474device-strings = hdmi:%f,8
475paths-output = hdmi-output-8
476channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
477priority = 6
478direction = output
479
480[Mapping hdmi-surround71-extra8]
481description = Digital Surround 7.1 (HDMI 9)
482device-strings = hdmi:%f,8
483paths-output = hdmi-output-8
484channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
485priority = 6
486direction = output
487
488[Mapping hdmi-dts-surround-extra8]
489description = Digital Surround 5.1 (HDMI 9/DTS)
490device-strings = dcahdmi:%f,8
491paths-output = hdmi-output-8
492channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
493priority = 6
494direction = output
495
496[Mapping hdmi-stereo-extra9]
497description = Digital Stereo (HDMI 10)
498device-strings = hdmi:%f,9
499paths-output = hdmi-output-9
500channel-map = left,right
501priority = 7
502direction = output
503
504[Mapping hdmi-surround-extra9]
505description = Digital Surround 5.1 (HDMI 10)
506device-strings = hdmi:%f,9
507paths-output = hdmi-output-9
508channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
509priority = 6
510direction = output
511
512[Mapping hdmi-surround71-extra9]
513description = Digital Surround 7.1 (HDMI 10)
514device-strings = hdmi:%f,9
515paths-output = hdmi-output-9
516channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
517priority = 6
518direction = output
519
520[Mapping hdmi-dts-surround-extra9]
521description = Digital Surround 5.1 (HDMI 10/DTS)
522device-strings = dcahdmi:%f,9
523paths-output = hdmi-output-9
524channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
525priority = 6
526direction = output
527
528[Mapping hdmi-stereo-extra10]
529description = Digital Stereo (HDMI 11)
530device-strings = hdmi:%f,10
531paths-output = hdmi-output-10
532channel-map = left,right
533priority = 7
534direction = output
535
536[Mapping hdmi-surround-extra10]
537description = Digital Surround 5.1 (HDMI 11)
538device-strings = hdmi:%f,10
539paths-output = hdmi-output-10
540channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
541priority = 6
542direction = output
543
544[Mapping hdmi-surround71-extra10]
545description = Digital Surround 7.1 (HDMI 11)
546device-strings = hdmi:%f,10
547paths-output = hdmi-output-10
548channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
549priority = 6
550direction = output
551
552[Mapping hdmi-dts-surround-extra10]
553description = Digital Surround 5.1 (HDMI 11/DTS)
554device-strings = dcahdmi:%f,10
555paths-output = hdmi-output-10
556channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
557priority = 6
558direction = output
559
560[Mapping multichannel-output]
561device-strings = hw:%f
562channel-map = left,right,rear-left,rear-right
563exact-channels = false
564fallback = yes
565priority = 1
566direction = output
567
568[Mapping multichannel-input]
569device-strings = hw:%f
570channel-map = left,right,rear-left,rear-right
571exact-channels = false
572fallback = yes
573priority = 1
574direction = input
575
576; An example for defining multiple-sink profiles
577#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo]
578#description = Foobar
579#output-mappings = analog-stereo iec958-stereo
580#input-mappings = analog-stereo
581