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, write to the Free Software Foundation,
  17. # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  18.  
  19. # This startup script is used only if PulseAudio is started per-user
  20. # (i.e. not in system mode)
  21.  
  22. .nofail
  23.  
  24. ### Load something into the sample cache
  25. #load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav
  26. #load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav
  27. #load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav
  28. #load-sample-lazy pulse-access /usr/share/sounds/generic.wav
  29.  
  30. .fail
  31.  
  32. ### Automatically restore the volume of streams and devices
  33. load-module module-device-restore
  34. load-module module-stream-restore
  35. load-module module-card-restore
  36.  
  37. ### Automatically augment property information from .desktop files
  38. ### stored in /usr/share/application
  39. load-module module-augment-properties
  40.  
  41. ### Load audio drivers statically
  42. ### (it's probably better to not load these drivers manually, but instead
  43. ### use module-udev-detect -- see below -- for doing this automatically)
  44. #load-module module-alsa-sink
  45. #load-module module-alsa-source device=hw:1,0
  46. #load-module module-alsa-source device=hw:0,0
  47. #load-module module-oss device="/dev/dsp" sink_name=output source_name=input
  48. #load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
  49. #load-module module-null-sink
  50. #load-module module-pipe-sink
  51.  
  52. ### Automatically load driver modules depending on the hardware available
  53. .ifexists module-udev-detect.so
  54. load-module module-udev-detect
  55. .else
  56. ### Use the static hardware detection module (for systems that lack udev support)
  57. load-module module-detect
  58. .endif
  59.  
  60. ### Automatically connect sink and source if JACK server is present
  61. #.ifexists module-jackdbus-detect.so
  62. #.nofail
  63. #load-module module-jackdbus-detect
  64. #.fail
  65. #.endif
  66.  
  67. ### Automatically load driver modules for Bluetooth hardware
  68. .ifexists module-bluetooth-policy.so
  69. load-module module-bluetooth-policy
  70. .endif
  71.  
  72. .ifexists module-bluetooth-discover.so
  73. load-module module-bluetooth-discover
  74. .endif
  75.  
  76. ### Load several protocols
  77. .ifexists module-esound-protocol-unix.so
  78. load-module module-esound-protocol-unix
  79. .endif
  80. load-module module-native-protocol-unix
  81.  
  82. ### Network access (may be configured with paprefs, so leave this commented
  83. ### here if you plan to use paprefs)
  84. #load-module module-esound-protocol-tcp
  85. #load-module module-native-protocol-tcp
  86. #load-module module-zeroconf-publish
  87.  
  88. ### Load the RTP receiver module (also configured via paprefs, see above)
  89. #load-module module-rtp-recv
  90.  
  91. ### Load the RTP sender module (also configured via paprefs, see above)
  92. #load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
  93. #load-module module-rtp-send source=rtp.monitor
  94.  
  95. ### Load additional modules from GConf settings. This can be configured with the paprefs tool.
  96. ### Please keep in mind that the modules configured by paprefs might conflict with manually
  97. ### loaded modules.
  98. .ifexists module-gconf.so
  99. .nofail
  100. load-module module-gconf
  101. .fail
  102. .endif
  103.  
  104. ### Automatically restore the default sink/source when changed by the user
  105. ### during runtime
  106. ### NOTE: This should be loaded as early as possible so that subsequent modules
  107. ### that look up the default sink/source get the right value
  108. load-module module-default-device-restore
  109.  
  110. ### Automatically move streams to the default sink if the sink they are
  111. ### connected to dies, similar for sources
  112. load-module module-rescue-streams
  113.  
  114. ### Make sure we always have a sink around, even if it is a null sink.
  115. load-module module-always-sink
  116.  
  117. ### Honour intended role device property
  118. load-module module-intended-roles
  119.  
  120. ### Automatically suspend sinks/sources that become idle for too long
  121. load-module module-suspend-on-idle
  122.  
  123. ### If autoexit on idle is enabled we want to make sure we only quit
  124. ### when no local session needs us anymore.
  125. .ifexists module-console-kit.so
  126. .nofail
  127. load-module module-console-kit
  128. .fail
  129. .endif
  130. .ifexists module-systemd-login.so
  131. load-module module-systemd-login
  132. .endif
  133.  
  134. ### Enable positioned event sounds
  135. load-module module-position-event-sounds
  136.  
  137. ### Cork music/video streams when a phone stream is active
  138. load-module module-role-cork
  139.  
  140. ### Modules to allow autoloading of filters (such as echo cancellation)
  141. ### on demand. module-filter-heuristics tries to determine what filters
  142. ### make sense, and module-filter-apply does the heavy-lifting of
  143. ### loading modules and rerouting streams.
  144. load-module module-filter-heuristics
  145. load-module module-filter-apply
  146.  
  147. ### Load DBus protocol
  148. .ifexists module-dbus-protocol.so
  149. load-module module-dbus-protocol
  150. .endif
  151.  
  152. # X11 modules should not be started from default.pa so that one daemon
  153. # can be shared by multiple sessions.
  154.  
  155. ### Load X11 bell module
  156. #load-module module-x11-bell sample=bell-windowing-system
  157.  
  158. ### Register ourselves in the X11 session manager
  159. #load-module module-x11-xsmp
  160.  
  161. ### Publish connection data in the X11 root window
  162. #.ifexists module-x11-publish.so
  163. #.nofail
  164. #load-module module-x11-publish
  165. #.fail
  166. #.endif
  167.  
  168. load-module module-switch-on-port-available
  169.  
  170. ### Make some devices default
  171. #set-default-sink output
  172. #set-default-source input