System Speakers Do Not Make Sound!

So my system’s speakers and the headphone jack don’t work, so I ran sudo pulseaudio -v to see what the problem was, and I found too many errors (hence the weird naming on this question) here’s the log of that command

Since I noticed that pulseaudio shouldn’t be run with root perms, so I decided to run pulseaudio -v and I got this:

I: [pulseaudio] main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted
I: [pulseaudio] main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted
I: [pulseaudio] core-util.c: Successfully gained nice level -11.
I: [pulseaudio] main.c: This is PulseAudio 15.99.1
I: [pulseaudio] main.c: Page size is 4096 bytes
I: [pulseaudio] main.c: Machine ID is 664d5eb40be146aaa89e6646ade8f191.
I: [pulseaudio] main.c: Using runtime directory /run/user/1000/pulse.
I: [pulseaudio] main.c: Using state directory /home/misery/.config/pulse.
I: [pulseaudio] main.c: Using modules directory /usr/lib/pulse-15.99.1+dfsg1/modules.
I: [pulseaudio] main.c: Running in system mode: no
E: [pulseaudio] pid.c: Daemon already running.
E: [pulseaudio] main.c: pa_pid_file_create() failed.

While trying to fix PulseAudio, I found two errors that I frequently see:

  • pa_pid_file_create() failed.
  • org.bluez.ProfileManager1.RegisterProfile() failed: org.bluez.Error.NotPermitted: UUID already registered

How do I go around fixing this?

Asked By: Misery


Note that each log message from PulseAudio begins with a priority level indicator: I: indicates an informative message, while E: is for error messages. Informative messages may indicate things like PulseAudio trying something it "knows" may fail, perhaps because it has multiple methods to achieve something and cannot know which method is appropriate for this particular system without trying them all.

I see only two actual error messages in your sudo pulseaudio -v run, indicating that Pulseaudio made two attempts to register with BlueZ for Bluetooth audio, but in both attempts, got a response indicating that such a registration was already done, i.e. there is another copy of PulseAudio already running.

Your second run with pulseaudio -v confirms that.

E: [pulseaudio] pid.c: Daemon already running.
E: [pulseaudio] main.c: pa_pid_file_create() failed.

You already have one PulseAudio instance running: you would need to stop it first before trying to start another.

Your sudo pulseaudio -v run indicates it is detecting three separate "sound cards" on your system:

  • card0: Intel HD Audio-type sound device at PCI device 0000:00:03.0. This device seems to have only HDMI-like audio outputs, so it is probably a GPU-integrated audio device for HDMI and/or DisplayPort audio. Since this is card0, it will probably be your default output if you haven’t actively selected something else. But if you don’t have a display with DP or HDMI audio capability connected and ready to play audio, you will hear nothing through this one.
  • card1: another Intel HD Audio-type sound device at PCI device 0000:00:1b.0. This one actually has analog inputs and outputs, and its product name is detected as "Wildcat Point-LP High Definition Audio Controller", so this is the audio chip on your motherboard. If you are using the headphone jack of the actual computer (and not of a HDMI/DP Audio-equipped display), this is the sound device you should be using.
  • card2: a "Loopback PCM" fake audio card, which can be useful if you want to e.g. record the sound output of an old application that uses raw ALSA or OSS sound interface, but has no use otherwise. If you accidentally have this selected as your default sound card, you will get no actual sound output.

So you have two "wrong" choices and one "right" one, and there is a reason to believe the system might be defaulting to one of the wrong choices unless you have explicitly chosen otherwise.

To confirm PulseAudio’s output choices, you might want to run the following command (as a regular user, not as root):

pacmd list-cards | grep -e -e device.bus_path -e device.description -e "active profile"

If I understood your situation correctly, you would want it to output something like:

        device.bus_path = "pci-0000:00:03.0"
active profile: <off>
        device.bus_path = "pci-0000:00:1b.0" = "Wildcat Point-LP High Definition Audio Controller"
        device.description = "Built-in Audio Analog Stereo"
active profile: <output:analog-stereo+input:analog-stereo>
        device.bus_path = "platform-snd_aloop.0"
        device.description = "Built-in Audio Analog Stereo"
active profile: <off>

(The output may include other lines, but essentially there should be a number of more deeply indented lines with device identification information, and then a less indented line identifying the currently selected PulseAudio profile for it.)

In other words, you’ll want the HDMI audio device at PCI device 0000:00:03.0 and the misleading platform-snd_aloop.0 device to be disabled in PulseAudio (by having the off profile selected for them), and the real analog-capable sound chip at PCI device 0000:00:1b.0 should be using the profile that will be probably listed as "Analog Stereo Duplex" in GUI tools.

If you have the PulseAudio configuration GUI tool pavucontrol installed, just start it (as a regular user), go to the "Configuration" tab, and switch the profiles, remembering that one of the two "Built-in Audio Analog Stereo" devices will be the fake created by the snd-aloop ALSA loopback module.

However, your desktop environment may be attempting to "remember" and "auto-restore" your sound configuration for you, and so trying to bypass the desktop configuration tools in this way may or may not persist over a reboot or a logout/login cycle. It might be better to find the corresponding sound profile settings in the desktop environment’s own Control Panel/System Settings application, and switch them from there instead. But you haven’t specified which desktop environment you’re using (or if you are even using one at all!) so I cannot give you specific instructions for that.

Also, if you don’t have a reason to use the snd-aloop ALSA module, you might want to try and stop it from loading and creating an additional source of confusion for you.

Answered By: telcoM
Categories: Answers Tags:
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.