ladspa dsp module will not load after updating to pulseaudio 12.0_1 on voidlinux,
exaiyo opened this issue · 10 comments
I updated my system and noticed that dsp was no longer working, so I checked pacmd list-modules
and it is no longer there. My config hasn't changed, the sink is still the same name, but I cannot get the module to load.
The following command cannot successfully load the module but I see no error message.
pacmd load-module module-ladspa-sink sink_name=dsp sink_master=alsa_output.pci-0000_06_01.0.iec958-stereo plugin=ladspa_dsp label=ladspa_dsp
Reinstalling the newest version of your dsp plugin didn't help either.
Any idea what might be wrong? The one time I choose to update voidlinux without making a backup first, this happens...
Thanks, your plugin is the best!
Hard to say without an error message... Did you do a full rebuild (make distclean && make && make install
)? You could try running pulseaudio in verbose mode:
$ pulseaudio -k
$ pulseaudio -vv
I had not run the command "make distclean" I was unaware of that one. Now I have run make distclean && make && make
and run pulseaudio in verbose mode. It says "no such file or directory", but I do see ladspa_dsp.so in /usr/lib/ladspa with 755 permissions so I'm not sure why. Here is the relevant section.
I: [pulseaudio] module.c: Loaded "module-position-event-sounds" (index: #19; argument: "").
I: [pulseaudio] module.c: Loaded "module-filter-heuristics" (index: #20; argument: "").
I: [pulseaudio] module.c: Loaded "module-filter-apply" (index: #21; argument: "").
D: [pulseaudio] module-ladspa-sink.c: Using default input ladspa port mapping
D: [pulseaudio] module-ladspa-sink.c: Using default output ladspa port mapping
E: [pulseaudio] ltdl-bind-now.c: Failed to open module ladspa_dsp.so: ladspa_dsp.so: cannot open shared object file: No such file or directory
E: [pulseaudio] module-ladspa-sink.c: Failed to load LADSPA plugin: file not found
E: [pulseaudio] module.c: Failed to load module "module-ladspa-sink" (argument: "sink_name=dsp sink_master=alsa_output.pci-0000_06_01.0.iec958-stereo plugin=ladspa_dsp label=ladspa_dsp"): initialization failed.
E: [pulseaudio] main.c: Sink dsp does not exist.
D: [pulseaudio] main.c: Got org.PulseAudio1!
D: [pulseaudio] main.c: Got org.pulseaudio.Server!
I: [pulseaudio] main.c: Daemon startup complete.
E: [pulseaudio] bluez5-util.c: GetManagedObjects() failed: org.freedesktop.DBus.Error.ServiceUnknown: The name org.bluez was not provided by any .service files
D: [pulseaudio] module-udev-detect.c: /dev/snd/controlC2 is accessible: yes
D: [pulseaudio] module-udev-detect.c: Resuming all sinks and sources of card alsa_card.pci-0000_01_00.1.
D: [pulseaudio] module-udev-detect.c: /dev/snd/controlC1 is accessible: yes
D: [pulseaudio] module-udev-detect.c: Resuming all sinks and sources of card alsa_card.pci-0000_00_1b.0.
Now I have run
make distclean && make && make
Make sure you run make install
(as root), not just make
for that last command (not sure if this was a typo or not).
If it still doesn't work after running make install
, post the output of this command: ldd /usr/lib/ladspa/ladspa_dsp.so
.
Yes that was a typo, sorry. Here is the result of ldd:
# ldd /usr/lib/ladspa/ladspa_dsp.so
linux-vdso.so.1 (0x00007ffdb85f6000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f576937f000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007f5769032000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f5768c7d000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f5768a66000)
/lib/ld-linux-x86-64.so.2 (0x00007f576998f000)
Hmm... Maybe pulse just isn't looking in the right place for some reason (though it should be, according to the documentation...). Try running pulseaudio like this:
$ LADSPA_PATH="/usr/lib/ladspa" pulseaudio -vv
Yes that appears to have fixed the issue. Once again you are the best. Is there any way to make the change stick? In my .xinitrc file I had to add start-pulseaudio-x11 &
in order to get sound working alongside firejail. I'm not sure if that is relevant.
Setting that environment variable shouldn't be required, so someone must've broken something. It seems to work on Arch, so maybe it's a problem with Void's package.
Anyway, you could add export LADSPA_PATH="/usr/lib/ladspa"
somewhere (.xinitrc
, .bash_profile
, .profile
, /etc/profile.d/
...), then log out and log back in.
Another option is to go against the recommendations in the PulseAudio documentation and give the full plugin path in your pulseaudio configuration:
pacmd load-module module-ladspa-sink sink_name=dsp sink_master=alsa_output.pci-0000_06_01.0.iec958-stereo plugin=/usr/lib/ladspa/ladspa_dsp.so label=ladspa_dsp
You're welcome. Thanks for the kind words.
Hi
For me full path can not help.
Compile with ladspa 1.15 and pulseaudio 9 on Slackware distro.
I: [pulseaudio] module.c: Loaded "module-filter-heuristics" (index: #22; argument: "").
I: [pulseaudio] module.c: Loaded "module-filter-apply" (index: #23; argument: "").
E: [pulseaudio] module-ladspa-sink.c: Failed to parse module arguments.
E: [pulseaudio] module.c: Failed to load module "module-ladspa-sink" (argument: "sink_name=dsp master=alsa_output.pci-0000_00_1b.0.analog-stereo plugin=ladspa_dsp label=ladspa_dsp set-default-sink dsp"): initialization failed.
E: [pulseaudio] main.c: Module load failed.
E: [pulseaudio] main.c: Zainicjowanie usługi się nie powiodło.
I: [pulseaudio] module.c: Unloading "module-filter-apply" (index: #23).
I: [pulseaudio] module.c: Unloaded "module-filter-apply" (index: #23).
Distro Slackware64