easyeffects icon indicating copy to clipboard operation
easyeffects copied to clipboard

EasyEffects doesn't attach to the correct device

Open Luminiferous348 opened this issue 1 month ago • 22 comments

EasyEffects Version

8.0.0

What package are you using?

Flatpak (Flathub)

Distribution

openSUSE Tumbleweed

Describe the bug

Heya,

okay so, I have the following Problem:

EasyEffects is not correctly attaching its own output to my Playback Device. I analyzed the Pipewire connections with Helvum. When I disable an Output Player Stream in EasyEffects, the Source (in my case Vivaldi) correctly attaches to my Headset (JLab Epic Lab Edition Dongle Analog Stereo):

Image

But when I enable the Vivaldi Audio Stream in Easy Effect, it correctly attaches Vivaldi to itself, but then further down the lane it only attaches itself to Spectrum (which is, as far as I can tell, the Spectrum Analyzer in Easy Effects). But neither Spectrum nor Easy Effect Sink attaches itself to my headset. And because of that I get no Audio output to my headset:

Image

Everything works correctly and I get Audio Output if I use Helvum to manually attach Easy Effects Sink like so:

Image

(Notable is, that I am unable to get effects to work if I attach this way, so this manual attachment is probably also wrong somewhere; but thats kinda besides the point).

Interesting is also, that the logs throw

easyeffects: plugin_base.cpp:139        Processing: we received a null left_out pointer. Using the dummy array instead.
easyeffects: plugin_base.cpp:151        Processing: we received a null right_out pointer. Using the dummy array instead.

as soon as I enable a Stream in EasyEffects. So I guess it can't find the pointer to my device?... Anyway, I also attached the full log to this issue.

This issue is a regression from 7.*. On these older Version I had no issues.

Expected Behavior

Easy Effects Properly attaches itself to the correct output device, I set in the Configuration (or the Default Device).

Debug Log

Debug Log

easyeffects.log

pw-dump.log

Additional Information

No response

Luminiferous348 avatar Nov 09 '25 14:11 Luminiferous348

Can you resolve this issue unchecking the Use default output device and selecting your preferred device in the PipeWire tab? Did you also enable the Process all output streams in Preferences -> Audio?

Digitalone1 avatar Nov 09 '25 14:11 Digitalone1

I tried using the default Audio Device, i tried manually selecting the device, I tried to process all streams and I tried to only selectively Process the Streams. The issue always remained the same.

Luminiferous348 avatar Nov 09 '25 14:11 Luminiferous348

That's weird. Do you have other output devices attached to your system?

Anyway, please, provide a debug log as described here when you enable/disable the application.

Digitalone1 avatar Nov 09 '25 14:11 Digitalone1

I have a few internal audio devices (Onboard HDMI Audio Controller, Webcam, 2 Audio Controller build into my GPU). I can only realistically remove the webcam. The GPU I can't remove, since my Computer uses a CPU and no APU, so I lose display output when removing it. The Motherboard onboard Controller I can't remove for obvious reasons. All these Audio Contoller are disabled in the KDE Sound Settings (I guess KDE uses Wireplumber for that?).

What do you mean with "enable/disable the application"? I already attached a log, where Easy Effects starts and has the Audio Stream disabled. Then I enabled the stream in Easy Effects (at that point my Audio stopped, cause Easy Effects just ate the stream) and then I stopped Easy Effect and collected the logs.

Luminiferous348 avatar Nov 09 '25 14:11 Luminiferous348

New default output device: alsa_output.usb-MediaTek_Inc_JLab_Epic_Lab_Edition_Dongle_0000000000000000-00.analog-stereo

Hum... We see your default output device correctly. And it is quite odd that the output level meter is not linked to the spectrum in your image. Even if for some reason EE fails to link to your soundcard the output level meter should be linked to the spectrum.

wwmm avatar Nov 09 '25 15:11 wwmm

I don't see the easyeffects filters in the pw dump. Did you generate it when Easy Effects was open?

Digitalone1 avatar Nov 09 '25 15:11 Digitalone1

And it is quite odd that the output level meter is not linked to the spectrum in your image.

And according to the logs it was created:

soe: output_level successfully connected to PipeWire graph

. So it should be there even if not linked to anything. Really strange...

wwmm avatar Nov 09 '25 15:11 wwmm

Core version: 1.5.81

Here on Arch Linux I have PipeWire 1.4.9 installed. I wonder if PipeWire's development version is doing something that is not compatible with how the new EE version handles things.

wwmm avatar Nov 09 '25 15:11 wwmm

@Digitalone1 oh thats what you mean. No the pwdump was without EasyEffects running. Here I have a dump with it active:

pw-dump.log

@wwmm Okay.. I pulled in an old pipewire version from openSUSE Slowroll (1.4.8)

Image

And this works:

Image

Also, even more interesting, Output Level Meter didn't even exist with the 1.5 Version of Pipewire. So no wonder it couldn't properly attach my device, if the target (Output Level Meter) isn't even present.

Luminiferous348 avatar Nov 09 '25 15:11 Luminiferous348

Also, even more interesting, Output Level Meter didn't even exist with the 1.5 Version of Pipewire. So no wonder it couldn't properly attach my device, if the target (Output Level Meter) isn't even present.

I wonder how it is even possible that it creates the spectrum plugin but can't do the same to a simpler plugin that is based on the same base class. This may or may not be concerning. I have seen in the past some cases where EasyEffects was broken in PipeWire's development branch but when they released the new version everything was fine.

Good to know things work with PipeWire 1.4.8. I think that all we can do is waiting and see what happens when they release PipeWire 1.5.0.

wwmm avatar Nov 09 '25 16:11 wwmm

I wonder how it is even possible that it creates the spectrum plugin but can't do the same to a simpler plugin that is based on the same base class.

Actually like I mentioned before it did create the plugin. But based on your image it clearly decided to remove it. Really bizarre.

wwmm avatar Nov 09 '25 16:11 wwmm

Frankly I’m surprised OpenSuse Tumbleweed is shipping a release candidate of PipeWire to begin with. It says here they ship "stable" software: https://en.opensuse.org/Portal:Tumbleweed

vchernin avatar Nov 09 '25 19:11 vchernin

Frankly I’m surprised OpenSuse Tumbleweed is shipping a release candidate of PipeWire to begin with. It says here they ship "stable" software: https://en.opensuse.org/Portal:Tumbleweed

I agree. I am the kind of person that is frequently using unstable software. For example I am using a custom package built from Mesa's main branch right now. But putting something like this in the stable distribution repository feels a little too much. It gives the users the idea that upstream developers considered that version stable enough to be sent to the users. What is obviously not the case if they are calling it release candidate.

What they did would be super cool if they were providing it through some kind of "testing" repository like Arch does. Not directly in the one that is supposed to be more stable. On the bright side now I know I have to pay attention to pipewire's 1.5 release.

wwmm avatar Nov 09 '25 20:11 wwmm

I've opened a bug for Tumbleweed shipping a PipeWire release candidate: https://bugzilla.opensuse.org/show_bug.cgi?id=1253171

vchernin avatar Nov 09 '25 22:11 vchernin

Hi all. While also using openSUSE Tumbleweed, I built the v8.0 package on OBS and haven't had major problems using it. Clearing ~/.local/state/wireplumber may be of help. For those who need it, you can try install using the rpm package from here to see if the problems persist.

Here is my screenshot of qpwgraph: My qpwgraph screenshot

ramdomPTM avatar Nov 10 '25 09:11 ramdomPTM

Sadly similar issue on Zorin OS 17.3 (Pro), which is based on Ubuntu 22.04 LTS.

  • Although pipewire in this case is much older and remained unchanged: jammy (22.04LTS 0.3.48-1ubuntu1: amd64)
  • ES installed via flatpack: EE 8.0 introduced this issue: spectrum analyzer works, but no sound. EE 7.2.5 works fine.

schories avatar Nov 11 '25 10:11 schories

Workaround for Zorin OS 17.3 (Pro) and, most likely, Ubuntu 22.04 LTS to continue using EasyEffects 7.2.5 in the meantime:

# install EasyEffects 7.2.5 (instead of latest 8.0.0)
flatpak update --commit=60ee3006f02548f980d8766d9c0192669dea463de333cc82b1a6dd2bec32b3f1 com.github.wwmm.easyeffects
# to prevent updates, back to the affected 8.0.0, mask the flatpak
flatpak mask com.github.wwmm.easyeffects

schories avatar Nov 11 '25 10:11 schories

  • Although pipewire in this case is much older and remained unchanged: jammy (22.04LTS 0.3.48-1ubuntu1: amd64)

On Zorin 17 the issue is exactly its pipewire release being too old. The opposite of what happened in the OpenSUSE distribution that used a release candidate for the next pipewire version.

wwmm avatar Nov 11 '25 15:11 wwmm

Also confirm Zorin OS 17.3 I got it to eventually keep the default audio device in my case focusrite Solo 4th Easy effects loads the presets and I can get the spectrum equalizer to show as if its playing, it responds to whats playing I just dont hear it It did the update without me seeing it. One minute I had audio then I didn`t. To be fair though the update looks lovely I'll roll back in the meantime

grahamclark1975 avatar Nov 11 '25 16:11 grahamclark1975

On Zorin 17 the issue is exactly its pipewire release being too old. The opposite of what happened in the OpenSUSE distribution that used a release candidate for the next pipewire version.

Exactly. Unfortunately an upgrade for existing installations of Zorin OS 17 to Zorin OS 18 (based on Ubuntu 24.04 LTS) is not available yet. Only a fresh (re-)install.

Personally, I think it is too much work to support old and bleeding edge releases of pipewire simultaneously, due to the fast pace of its development. I am fine sticking to EE 7 - and hope EE will still support Ubuntu 24.04, thus also Zorin OS 18.

While also using other Linux distros, focussing on Zorin OS enables me to successfully transition friends and family to a Linux distro normal user love. The better I know it and the smoother the overall migration experience - the less trouble for everyone. :-)

Thank you once again for all the time and work you invest into EE, it is highly appreciated and another donation is coming soon.

schories avatar Nov 11 '25 18:11 schories

and hope EE will still support Ubuntu 24.04, thus also Zorin OS 18.

Zorin 18 probably will keep working. Another Zorin user that made a fresh install has already confirmed that EasyEffects is fine there. In the end it depends more on the pipewire versions available to the different flatpak runtime and on what happens to pipewire itself than on EasyEffects.

This kind of situation will probably be less common when distributions start to put pipewire 1.x in LTS releases.. The version 0.3.48 is from a time where pipewire were still changing fast. It is inevitable things would get to a point where either we choose the current pipewire or the one from 3 years ago.

wwmm avatar Nov 11 '25 19:11 wwmm

Just a quick update Working on Zorin 18, as I said earlier the update looks lovely

grahamclark1975 avatar Nov 13 '25 20:11 grahamclark1975