1. #!/usr/bin/pulseaudio -nF
  2. #
  3. # This file is part of PulseAudio.
  4. #
  5. # PulseAudio is free software; you can redistribute it and/or modify it
  6. # under the terms of the GNU Lesser General Public License as published by
  7. # the Free Software Foundation; either version 2 of the License, or
  8. # (at your option) any later version.
  9. #
  10. # PulseAudio is distributed in the hope that it will be useful, but
  11. # WITHOUT ANY WARRANTY; without even the implied warranty of
  12. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  13. # General Public License for more details.
  14. #
  15. # You should have received a copy of the GNU Lesser General Public License
  16. # along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
  17. # This startup script is used only if PulseAudio is started per-user
  18. # (i.e. not in system mode)
  19. .nofail
  20. ### Load something into the sample cache
  21. #load-sample-lazy x11-bell /usr/share/sounds/freedesktop/stereo/bell.oga
  22. #load-sample-lazy pulse-hotplug /usr/share/sounds/freedesktop/stereo/device-added.oga
  23. #load-sample-lazy pulse-coldplug /usr/share/sounds/freedesktop/stereo/device-added.oga
  24. #load-sample-lazy pulse-access /usr/share/sounds/freedesktop/stereo/message.oga
  25. .fail
  26. ### Automatically restore the volume of streams and devices
  27. load-module module-device-restore
  28. load-module module-stream-restore
  29. load-module module-card-restore
  30. ### Automatically augment property information from .desktop files
  31. ### stored in /usr/share/application
  32. load-module module-augment-properties
  33. ### Should be after module-*-restore but before module-*-detect
  34. load-module module-switch-on-port-available
  35. ### Load audio drivers statically
  36. ### (it's probably better to not load these drivers manually, but instead
  37. ### use module-udev-detect -- see below -- for doing this automatically)
  38. #load-module module-alsa-sink
  39. #load-module module-alsa-source device=hw:1,0
  40. #load-module module-oss device="/dev/dsp" sink_name=output source_name=input
  41. #load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
  42. #load-module module-null-sink
  43. #load-module module-pipe-sink
  44. ### Automatically load driver modules depending on the hardware available
  45. .ifexists module-udev-detect.so
  46. load-module module-udev-detect
  47. .else
  48. ### Use the static hardware detection module (for systems that lack udev support)
  49. load-module module-detect
  50. .endif
  51. ### Automatically connect sink and source if JACK server is present
  52. .ifexists module-jackdbus-detect.so
  53. .nofail
  54. load-module module-jackdbus-detect channels=2
  55. .fail
  56. .endif
  57. ### Automatically load driver modules for Bluetooth hardware
  58. .ifexists module-bluetooth-policy.so
  59. load-module module-bluetooth-policy
  60. .endif
  61. .ifexists module-bluetooth-discover.so
  62. load-module module-bluetooth-discover
  63. .endif
  64. ### Load several protocols
  65. .ifexists module-esound-protocol-unix.so
  66. load-module module-esound-protocol-unix
  67. .endif
  68. load-module module-native-protocol-unix
  69. ### Network access (may be configured with paprefs, so leave this commented
  70. ### here if you plan to use paprefs)
  71. #load-module module-esound-protocol-tcp
  72. #load-module module-native-protocol-tcp
  73. #load-module module-zeroconf-publish
  74. ### Load the RTP receiver module (also configured via paprefs, see above)
  75. #load-module module-rtp-recv
  76. ### Load the RTP sender module (also configured via paprefs, see above)
  77. #load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
  78. #load-module module-rtp-send source=rtp.monitor
  79. ### Load additional modules from GConf settings. This can be configured with the paprefs tool.
  80. ### Please keep in mind that the modules configured by paprefs might conflict with manually
  81. ### loaded modules.
  82. .ifexists module-gconf.so
  83. .nofail
  84. load-module module-gconf
  85. .fail
  86. .endif
  87. ### Automatically restore the default sink/source when changed by the user
  88. ### during runtime
  89. ### NOTE: This should be loaded as early as possible so that subsequent modules
  90. ### that look up the default sink/source get the right value
  91. load-module module-default-device-restore
  92. ### Automatically move streams to the default sink if the sink they are
  93. ### connected to dies, similar for sources
  94. load-module module-rescue-streams
  95. ### Make sure we always have a sink around, even if it is a null sink.
  96. load-module module-always-sink
  97. ### Honour intended role device property
  98. load-module module-intended-roles
  99. ### Automatically suspend sinks/sources that become idle for too long
  100. load-module module-suspend-on-idle
  101. ### If autoexit on idle is enabled we want to make sure we only quit
  102. ### when no local session needs us anymore.
  103. .ifexists module-console-kit.so
  104. load-module module-console-kit
  105. .endif
  106. .ifexists module-systemd-login.so
  107. load-module module-systemd-login
  108. .endif
  109. ### Enable positioned event sounds
  110. load-module module-position-event-sounds
  111. ### Cork music/video streams when a phone stream is active
  112. load-module module-role-cork
  113. ### Modules to allow autoloading of filters (such as echo cancellation)
  114. ### on demand. module-filter-heuristics tries to determine what filters
  115. ### make sense, and module-filter-apply does the heavy-lifting of
  116. ### loading modules and rerouting streams.
  117. load-module module-filter-heuristics
  118. load-module module-filter-apply
  119. # X11 modules should not be started from default.pa so that one daemon
  120. # can be shared by multiple sessions.
  121. ### Load X11 bell module
  122. #load-module module-x11-bell sample=x11-bell
  123. ### Register ourselves in the X11 session manager
  124. #load-module module-x11-xsmp
  125. ### Publish connection data in the X11 root window
  126. #.ifexists module-x11-publish.so
  127. #.nofail
  128. #load-module module-x11-publish
  129. #.fail
  130. #.endif
  131. ### Make some devices default
  132. #set-default-sink output
  133. #set-default-source input
  134. set-card-profile 0 output:analog-stereo+input:analog-stereo