View previous topic :: View next topic |
Author |
Message |
nichiren n00b
Joined: 03 Jul 2014 Posts: 3
|
Posted: Sat May 30, 2020 12:47 pm Post subject: Pulseeffects not finding equalizer plugin |
|
|
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 |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 21715
|
Posted: Sat May 30, 2020 4:29 pm Post subject: Re: Pulseeffects not finding equalizer plugin |
|
|
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 |
|
|
nichiren n00b
Joined: 03 Jul 2014 Posts: 3
|
Posted: Sun May 31, 2020 4:57 am Post subject: Re: Pulseeffects not finding equalizer plugin |
|
|
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
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 |
|
|
|
|
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
|
|