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