Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Pulseeffects not finding equalizer plugin
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Multimedia
View previous topic :: View next topic  
Author Message
nichiren
n00b
n00b


Joined: 03 Jul 2014
Posts: 3

PostPosted: Sat May 30, 2020 12:47 pm    Post subject: Pulseeffects not finding equalizer plugin Reply with quote

I've been using autoeq equalizer profile for my headphones via Pulseeffects for quite a while now. For some reason, it has stopped working between now and 2-3 weeks ago since I last actually had the headphones on.
The issue appears to be pulseeffects not finding the requisite plugin, but upon investigating it seems to go a bit deeper.

By my understanding, the equalizer plugin used is a LV2 plugin from lsp-plugins package (para_equalizer_x32_lr), loaded via GStreamer (using gst-plugins-lv2).
Now, this plugin is installed and found eg. by lv2ls:
Code:
$ lv2ls
...
http://lsp-plug.in/plugins/lv2/para_equalizer_x32_lr
...


However, GStreamer seems to blacklist this plugin which is strange, since it used to work for a long time.
Code:
$ gst-inspect-1.0 --print-blacklist
Blacklisted files:
  libgstlv2.so


I've tried reinstalling all involved packages, ie:
    dev-libs/serd
    dev-libs/sord
    media-libs/gst-plugins-bad
    media-libs/gst-plugins-good
    media-libs/gstreamer
    media-libs/lilv
    media-libs/lsp-plugins
    media-libs/lv2
    media-libs/sratom
    media-plugins/gst-plugins-lv2
    media-sound/pulseeffects


Also, no help from resetting Pulseeffects or cleaning GStreamer cache. One curious thing results from cleaning the cache, first time running gst-inspect-1.0 after cleaning produces a warning:
Code:
$ rm -rf ~/.cache/gstreamer-1.0/ && gst-inspect-1.0

(gst-plugin-scanner:339634): GStreamer-WARNING **: 15:37:20.909: Failed to load plugin '/usr/lib64/gstreamer-1.0/libgstlv2.so': /usr/lib64/gstreamer-1.0/libgstlv2.so: undefined symbol: center_left_role


Which is strange, the symbol looks to be present in the so:
Code:
$ readelf -s /usr/lib64/gstreamer-1.0/libgstlv2.so|rg center_left_role
    17: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND center_left_role


Sadly my I know next to nothing about GStreamer so I'm stumped here, any tips what to try next appreciated.


As a side note, some time ago did emerge --emptytree @world using gcc-10.1.0, thinking this was the culprit, I reinstalled the packages in question using gcc-9.3.0. Before doing this, I noted that dev-libs/sord seems somehow broken when built using gcc-10. At least lv2ls and lilv-bench installed by media-libs/lilv segfault with backtrace pointing at sord library. This went away just by rebuilding sord with gcc-9.3.0. Maybe warrants a bugreport?
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 21715

PostPosted: Sat May 30, 2020 4:29 pm    Post subject: Re: Pulseeffects not finding equalizer plugin Reply with quote

nichiren wrote:
However, GStreamer seems to blacklist this plugin which is strange, since it used to work for a long time.
Code:
$ gst-inspect-1.0 --print-blacklist
Blacklisted files:
  libgstlv2.so
A blacklist is probably an intentional action, due to known bugs or incompatibilities. Can you get GStreamer to describe why it blacklisted the plugin?
nichiren wrote:
Also, no help from resetting Pulseeffects or cleaning GStreamer cache. One curious thing results from cleaning the cache, first time running gst-inspect-1.0 after cleaning produces a warning:
Code:
$ rm -rf ~/.cache/gstreamer-1.0/ && gst-inspect-1.0

(gst-plugin-scanner:339634): GStreamer-WARNING **: 15:37:20.909: Failed to load plugin '/usr/lib64/gstreamer-1.0/libgstlv2.so': /usr/lib64/gstreamer-1.0/libgstlv2.so: undefined symbol: center_left_role
Which is strange, the symbol looks to be present in the so:
Code:
$ readelf -s /usr/lib64/gstreamer-1.0/libgstlv2.so|rg center_left_role
    17: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND center_left_role
You are misreading this output. UND means the symbol is undefined. It is shown to confirm that this shared object needs the symbol, not to report that it is available. Some other shared object must provide the symbol, or this plugin cannot be loaded. It's possible that GStreamer blacklisted this plugin because the load failed due to the missing symbol, and that fixing the symbol will cause the blacklist to resolve itself (possibly only after clearing the cache).
nichiren wrote:
Sadly my I know next to nothing about GStreamer so I'm stumped here, any tips what to try next appreciated.
Find what shared object provides that symbol, or find a way to make this plugin not use that symbol.
nichiren wrote:
Before doing this, I noted that dev-libs/sord seems somehow broken when built using gcc-10. At least lv2ls and lilv-bench installed by media-libs/lilv segfault with backtrace pointing at sord library. This went away just by rebuilding sord with gcc-9.3.0. Maybe warrants a bugreport?
Yes. Crashes should always be reported.
Back to top
View user's profile Send private message
nichiren
n00b
n00b


Joined: 03 Jul 2014
Posts: 3

PostPosted: Sun May 31, 2020 4:57 am    Post subject: Re: Pulseeffects not finding equalizer plugin Reply with quote

Hu wrote:
nichiren wrote:
(gst-plugin-scanner:339634): GStreamer-WARNING **: 15:37:20.909: Failed to load plugin '/usr/lib64/gstreamer-1.0/libgstlv2.so': /usr/lib64/gstreamer-1.0/libgstlv2.so: undefined symbol: center_left_role[/code]Which is strange, the symbol looks to be present in the so:
Code:
$ readelf -s /usr/lib64/gstreamer-1.0/libgstlv2.so|rg center_left_role
    17: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND center_left_role
You are misreading this output. UND means the symbol is undefined. It is shown to confirm that this shared object needs the symbol, not to report that it is available. Some other shared object must provide the symbol, or this plugin cannot be loaded. It's possible that GStreamer blacklisted this plugin because the load failed due to the missing symbol, and that fixing the symbol will cause the blacklist to resolve itself (possibly only after clearing the cache).


Gaah.. I'm blind. I'd been digging around this for too long and didn't even see what I was looking at any more :roll:
Thanks for pointing that out, made me remember something.. and found the actual problem. From the mirror.

Back when I did the re-emerge @world using gcc-10, there were couple of packages that would not compile. I didn't have the time at the moment to check all of those so if I found a forum thread or a bug report somewhere with a patch, I took it as an user patch to get everything running quicker. If it appeared to work, I moved on to next one. Yep, apparently I'm that stupid.

Anyway, this was one of those, and since it appeared to work (that is, compiled fine) I forgot about it. But it's a botched one, it builds but intriduces these undefined symbols. So now I tossed the patch and set fcommon on the package via package.env, and it works again. Need to see if this is in the Gentoo bug tracker.

NB: need a big fat reminder printed after emerging a package with user patches, the one at the beginning is too easy to miss with fast emerges with computers these days.

Hu wrote:
nichiren wrote:
Before doing this, I noted that dev-libs/sord seems somehow broken when built using gcc-10. At least lv2ls and lilv-bench installed by media-libs/lilv segfault with backtrace pointing at sord library. This went away just by rebuilding sord with gcc-9.3.0. Maybe warrants a bugreport?
Yes. Crashes should always be reported.

This I've done already.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Multimedia All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum