Pulseaudio not working properly and causing a very slow boot

Hey guys, I recently installed LEAP 42.3 on my HP EliteBook 850 G4 and have been having issues with pulseaudio.

When pulseaudio is active I get a +1 minute black screen before login screen on bootup. My laptop also creates loud crackling noises at the start of the boot and upon system shutdown/reboot. After a while of troubleshooting I noticed it was pulseaudio causing these issues. I disabled pulseaudio and my laptop seems to boot fine now. I started facing the above issues the moment I did a clean install, the only way I got sound when pulseaudio was enabled was by running alsamixer, selecting my sound card and tweaking the volume a bit. This did however not solve the extremely slow bootup time.

This is the result I get when I type in cat /proc/asound/cards
0 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0x1ff1010000 irq 283

Things I’ve tried:
YaST -> hardware -> sound -> configure sound card
This set my sound card (PCH) as the default sound card, problems persist.

alsamixer -> select right card -> sudo alsactl store
To try and store settings after sound worked, problems persist.

Does anyone know what might be a good solution to make sound work properly for me?

Can you please outline the steps you used to disable pulseaudio? AFAIU, it shouldn’t start until the user logs in to a desktop. If you start it (as user) from a terminal when logged in to your desktop does it behave ok?

I guess disabled wasn’t the right word, my apologies. I uninstalled the pulseaudio package in YaST to get the system to boot fast again.

So now I reinstalled pulseaudio and it’s dependencies, the list of installed packages concerning it are:

alsa-plugins-pulse

pavucontrol
libpulse-mainloop-glib0

libpulse0
mpg123-pulse
paman
paprefs
pavucontrol

pulseaudio-bash-completion

pulseaudio-lang

pulseaudio-module-bluetooth

pulseaudio-module-gconf

pulseaudio-module-jack

pulseaudio-module-lirc

pulseaudio-module-zeroconf
pulseaudio-system-wide
pulseaudio-utils

Enable pulseaudio support is also enabled within YaST -> hardware

The strange thing is that I don’t find any abnormalties in my boot time using with pulseaudio enabled
systemd-analyze blame
The following processes took the longest:

5.362s NetworkManager-wait-online.service
1.521s SuSEfirewall2.service
1.013s postfix.service
989ms display-manager.service
741ms boot-grub2-i386\x2dpc.mount
709ms var-lib-mailman.mount
681ms var-tmp.mount
641ms var-cache.mount
622ms vboxdrv.service
612ms var-opt.mount

When I restart the pulseaudio service in terminal I continue to have sound.

This link contains the info dump from running the alsa-info.sh script:
http://www.alsa-project.org/db/?f=18f0b15215adebef4f248815c3eecf993d759c7d

Hmmm… I wonder if this a udev-related issue, or some PA configuration issue perhaps. This is pure speculation on my part. You could try editing /et/cpulseaudio/default.conf and commenting out

load-module module-udev-detect

then save and reboot. Any different?

A bug report might be needed to help progress this.

A possible workaround might be to disable pulseuadio using YaST or via CLI using

sudo setup-pulseaudio --disable

and then create an autostart script so that it starts as user only when you login in to your desktop.

Either one of the solutions you posted seem to effectively disable pulse on startup, eliminating the slow boot.

When “load-module module-udev-detect” is commented out from /etc/pulse/default.pa and I use the command

pulseaudio -D

The daemon instantly starts but I don’t seem to get any sound. Pavucontrol does seem to pick something up though.

When I restart the system after using “sudo setup-pulseaudio --disable”, I am able to get sound by starting the daemon.
Starting the daemon in this case does take long though. I suppose my system waits for the daemon to start before allowing me to log in when the setup is enabled.

This is what using “time pulseaudio -D” yields:
real1m54.018s
user0m0.011s
sys0m0.022s

I wonder what’s causing pulseaudio to take so long to start though.

I guess I’ll make a startup script to run pulseaudio -D in the background on login with the gnome tweak tool for now and see if that works.

They (GUI and command) both do the same thing, which is to prevent pulseaudio from auto-spawning by setting ‘autospwan = no’ in /etc/pulse/client.conf.d/50-system.conf

I wonder what’s causing pulseaudio to take so long to start though.

I did find a bug report describing similar behaviour, and where it was suspected that sound card probing for some audio hardware might be the underlying cause (refer comment #4 onwards). A bug report would be needed to help progress this.

I guess I’ll make a startup script to run pulseaudio -D in the background on login with the gnome tweak tool for now and see if that works.

Yes, hopefully by doing that the start-up time won’t impact on the user experience. Let us know how this workaround goes for you.