From a stock rawhide installation, try to run pulse-audio: Feb 27 14:16:25 randel pulseaudio[3753]: main.c: pa_pid_file_create() failed. Feb 27 14:16:25 randel pulseaudio[3747]: module.c: Failed to open module "module-x11-bell": module-x11-bell.so: cannot open shared object file: No such file or directory Feb 27 14:16:25 randel pulseaudio[3747]: module.c: Failed to open module "module-x11-publish": module-x11-publish.so: cannot open shared object file: No such file or directory Feb 27 14:16:25 randel pulseaudio[3747]: module.c: Failed to open module "module-gconf": module-gconf.so: cannot open shared object file: No such file or directory Feb 27 14:16:25 randel pulseaudio[3747]: main.c: Module load failed. The modules should be required either as dependencies, or builtin: pulseaudio-module-gconf (for module-gconf) pulseaudio-module-x11 (for module-x11-bell) pulseaudio-module-zeroconf (for module-x11-publish)
Those modules are in a "nofail" section of the default configuration, so they do not prevent startup. Startup might be a bit noisy with those things missing, but it allows us to have a configuration where the user just has to install the extra packages to get the extra functionality. The reason they're separate packages is that pulse isn't just used for the desktop so we do not want to pull in everything but the kitchen sink.
Maybe the error message could be a bit clearer that it's not fatal.
Indeed, but it is technically difficult as the code that prints the error has no idea if it is fatal or not.
PulseAudio 0.9.6 adds a new .ifexists directive which we can use to load modules only when they are actually installed.
The new default config file iin the package I commited to Rawhide today we use .ifexists to not load modules which are not installed. Thus these warning messages are no more.