3 # This file is part of PulseAudio.
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.
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.
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.
19 # This startup script is used only if PulseAudio is started per-user
20 # (i.e. not in system mode)
21 changequote(`[', `]')dnl Set up m4 quoting
25 ### Load something into the sample cache
26 ifelse(@OS_IS_WIN32@, 1, [dnl
27 load-sample x11-bell %WINDIR%\Media\ding.wav
28 load-sample-dir-lazy %WINDIR%\Media\*.wav
30 #load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav
31 #load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav
32 #load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav
33 #load-sample-lazy pulse-access /usr/share/sounds/generic.wav
38 ### Automatically restore the volume of streams and devices
39 load-module module-device-restore
40 load-module module-stream-restore
41 load-module module-card-restore
43 ### Automatically augment property information from .desktop files
44 ### stored in /usr/share/application
45 load-module module-augment-properties
47 ### Should be after module-*-restore but before module-*-detect
48 load-module module-switch-on-port-available
50 ### Load audio drivers statically
51 ### (it's probably better to not load these drivers manually, but instead
52 ### use module-udev-detect -- see below -- for doing this automatically)
53 ifelse(@HAVE_ALSA@, 1, [dnl
54 #load-module module-alsa-sink
55 #load-module module-alsa-source device=hw:1,0
57 ifelse(@HAVE_OSS_OUTPUT@, 1, [dnl
58 #load-module module-oss device="/dev/dsp" sink_name=output source_name=input
59 #load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
61 ifelse(@HAVE_WAVEOUT@, 1, [dnl
62 load-module module-waveout sink_name=output source_name=input
64 #load-module module-null-sink
65 ifelse(@HAVE_MKFIFO@, 1, [dnl
66 #load-module module-pipe-sink
69 ### Automatically load driver modules depending on the hardware available
70 ifelse(@HAVE_UDEV@, 1, [dnl
71 .ifexists module-udev-detect@PA_SOEXT@
72 load-module module-udev-detect
75 .ifexists module-detect@PA_SOEXT@
77 ### Use the static hardware detection module (for systems that lack udev support)
78 load-module module-detect
81 ### Automatically connect sink and source if JACK server is present
82 .ifexists module-jackdbus-detect@PA_SOEXT@
84 load-module module-jackdbus-detect channels=2
88 ifelse(@HAVE_BLUEZ@, 1, [dnl
89 ### Automatically load driver modules for Bluetooth hardware
90 .ifexists module-bluetooth-policy@PA_SOEXT@
91 load-module module-bluetooth-policy
94 .ifexists module-bluetooth-discover@PA_SOEXT@
95 load-module module-bluetooth-discover
99 ifelse(@HAVE_AF_UNIX@, 1, [dnl
100 ### Load several protocols
101 .ifexists module-esound-protocol-unix@PA_SOEXT@
102 load-module module-esound-protocol-unix
104 load-module module-native-protocol-unix
107 ### Network access (may be configured with paprefs, so leave this commented
108 ### here if you plan to use paprefs)
109 #load-module module-esound-protocol-tcp
110 #load-module module-native-protocol-tcp
111 ifelse(@HAVE_AVAHI@, 1, [dnl
112 #load-module module-zeroconf-publish
115 ifelse(@OS_IS_WIN32@, 0, [dnl
116 ### Load the RTP receiver module (also configured via paprefs, see above)
117 #load-module module-rtp-recv
119 ### Load the RTP sender module (also configured via paprefs, see above)
120 #load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
121 #load-module module-rtp-send source=rtp.monitor
123 ### Load additional modules from GConf settings. This can be configured with the paprefs tool.
124 ### Please keep in mind that the modules configured by paprefs might conflict with manually
126 .ifexists module-gconf@PA_SOEXT@
128 load-module module-gconf
132 ### Automatically restore the default sink/source when changed by the user
134 ### NOTE: This should be loaded as early as possible so that subsequent modules
135 ### that look up the default sink/source get the right value
136 load-module module-default-device-restore
138 ### Automatically move streams to the default sink if the sink they are
139 ### connected to dies, similar for sources
140 load-module module-rescue-streams
142 ### Make sure we always have a sink around, even if it is a null sink.
143 load-module module-always-sink
145 ### Honour intended role device property
146 load-module module-intended-roles
148 ### Automatically suspend sinks/sources that become idle for too long
149 load-module module-suspend-on-idle
151 ### If autoexit on idle is enabled we want to make sure we only quit
152 ### when no local session needs us anymore.
153 .ifexists module-console-kit@PA_SOEXT@
154 load-module module-console-kit
156 .ifexists module-systemd-login@PA_SOEXT@
157 load-module module-systemd-login
160 ### Enable positioned event sounds
161 load-module module-position-event-sounds
163 ### Cork music/video streams when a phone stream is active
164 load-module module-role-cork
166 ### Modules to allow autoloading of filters (such as echo cancellation)
167 ### on demand. module-filter-heuristics tries to determine what filters
168 ### make sense, and module-filter-apply does the heavy-lifting of
169 ### loading modules and rerouting streams.
170 load-module module-filter-heuristics
171 load-module module-filter-apply
174 ifelse(@HAVE_X11@, 1, [dnl
175 # X11 modules should not be started from default.pa so that one daemon
176 # can be shared by multiple sessions.
178 ### Load X11 bell module
179 #load-module module-x11-bell sample=bell-windowing-system
181 ### Register ourselves in the X11 session manager
182 #load-module module-x11-xsmp
184 ### Publish connection data in the X11 root window
185 #.ifexists module-x11-publish@PA_SOEXT@
187 #load-module module-x11-publish
192 ### Make some devices default
193 #set-default-sink output
194 #set-default-source input