19

When adding a USB device to my system (I deliberately run no modern stack for device detection), Pulseaudio can't pickup it without restart (pulseaudio -k; pulseaudio --start).

Is there an option for, say, pactl, which will make pulseaudio to "detect" and start using newly plugged in devices?

  • I'm confused how udev, which has been around since 2005, is too modern, and yet pulseaudio is fine... And given that udev doesn't even do device detection (the kernel does), "no modern stack for device detection" would kinda imply a kernel with no USB support. – user1686 Nov 27 '14 at 12:35
  • I'm not sure if I understood your question properly. The matter involving auto detection of audio devices (and possibly selecting the correct profile) seems to be solved once for all in Debian Buster: you simply say what is the default input/output devices you prefer and once connected Pulseaudio switches to those devices. If you are using something a bit older, you can try gist.github.com/pylover/d68be364adac5f946887b85e6ed6e7ae – Richard Gomes May 27 '18 at 9:07
  • You may (or may not) find this useful: superuser.com/questions/1324152/… – Richard Gomes May 27 '18 at 9:08
33

Actually, yes, there is a way to do so without restarting Pulseaudio:

pacmd unload-module module-udev-detect && pacmd load-module module-udev-detect

I use it everytime I plug in my external-soundcard or after waking up my laptop. Pulseaudio cleans up his room and bring back my Spotify music on my external soundcard automatically (as it is my default soundcard).

You will need pacmd to do so; it is included in the pulseaudio-utils package on Ubuntu.

| improve this answer | |
  • Sometimes works sometimes not. I guess it's a fully correct answer anyway. – Stéphane Gourichon Jun 13 '17 at 12:00
  • My Ubuntu 18.04 system on a Dell Latitude E5470 rarely loses the audio device after wake-up from suspend, but when it does, this command fixes it. – Quolonel Questions Oct 9 '19 at 13:19
  • This has been the only thing that has worked after loosing output devices after suspend, without rebooting. – Justin Apr 17 at 15:54
  • Also works beautifully on Linux Mint that usually loses my HDMI audio output device upon suspend nowadays, since I added an HDMI switch between my monitor and pc. Anyhow, the command does instantly add it back to the list of devices in "Sound Settings". I saved it in /etc/pm/sleep.d to be executed automatically upon resume, it seems to be working (unless I didn't suspend long enough, will see tomorrow). – Ronny D'Hoore Jun 12 at 16:19
  • Interesting. Seems to be working and still valid in 2020 with KDE Neon. I have a question though, is it possible to run this as a command on USB plug/unplug? I have a Corsair VOID Pro Elite headset which goes nuts when I dualboot, so sometimes I have audio, sometimes I don't, but when I ran this command it worked beautifully. I even tried to replug the dongle and it didn't work until I ran this command. – DARKGuy Sep 18 at 8:48
8

Running

pulseaudio -k && pactl load-module module-detect

worked for me. This will restart pulseaudio and therefore forget existing devices. Afterwards it will rescan for devices. The difference here is not to use udev, maybe there is an issue with the setup that prevents udev support.

This was necessary for me, as I'm using external devices at my laptop, but sometimes internal speakers.

For some reason you might need to add a sleep between both commands.

| improve this answer | |
0

You're not restarting PulseAudio correctly. The correct way to restart PulseAudio in Ubuntu 20 is with this command:

systemctl --user restart pulseaudio

Restarting PulseAudio will detect new audio devices.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.