wwmm / easyeffects

Limiter, compressor, convolver, equalizer and auto volume and many other plugins for PipeWire applications
GNU General Public License v3.0
6.15k stars 265 forks source link

Running Pulse Effects on raspberry pi #804

Open IdreesM0 opened 3 years ago

IdreesM0 commented 3 years ago

In an attempt to make my music station portable, I am trying to run pulse effects on raspberry pi running raspian. I went for the seemingly easy, flatpak route. It installed pulse effects along with gnome platform and "gnome.platform.locale (partial)" (I have no idea what "platform" or "partial" means in this context).

This is the output that I get when I run it: Screenshot from 2020-10-19 21-58-02

I acknowledge that pulseeffects is not optimized or targeted towards such systems but I wonder if there is a work around to get it running on raspberry pi. The idea of being able to carry such an amazing piece of software in my pocket and use it to make my music just perfect ON-THE-GO sounds amazing.

wwmm commented 3 years ago

Does it work if you set the Priority Type to None? Screenshot from 2020-10-19 14-12-43 Flatpak does not support realtimekit. So it is better to disable this feature when installing through a flatpak package.

IdreesM0 commented 3 years ago

Unfortunately, I can't get to the UI to change these settings. It gets stuck on the last message and I have to ^C to get the prompt back.

wwmm commented 3 years ago

Then it is way worse than I thought. Try to run in debug mode G_MESSAGES_DEBUG=pulseeffects flatpak run com.github.wwmm.pulseeffects. Maybe more error messages are shown.

Digitalone1 commented 3 years ago

The configuration is stored in gsettings-schema, so there should be a way to change it without getting into the UI. Maybe with dconf editor.

wwmm commented 3 years ago

The configuration is stored in gsettings-schema, so there should be a way to change it without getting into the UI. Maybe with dconf editor.

I thought about suggesting that. But as far as I remember the window is shown even when there are realtimekit errors. In any case this is how you can change this setting in dconf: Screenshot from 2020-10-20 10-16-25

IdreesM0 commented 3 years ago

This log.txt is the debug output generated by running in debug mode. And maybe because of being a flatpak package, there is no schema settings for pulseeffects in dconf-editor. Although apparent from the attached picture, I feel like mentioning here that I am running Rpi headless and display is through a vnc server. Is there a way I can specify the display used by flatpak; and see if that might be the issue?

IdreesM0 commented 3 years ago

Okay. I tried running flatpak package on a live manjaro USB and everything was the same as with raspberrypi except after the last warning, the UI does show up and then it prints latency and some other debugging information on the console. This part does not happen on raspberrypi. I can't decide if its an issue of the display being remote or something wrong with source/sink detection.

wwmm commented 3 years ago

if its an issue of the display being remote

If that is the source of the problem I would expect other gtk3 applications to be affected too.

IdreesM0 commented 3 years ago

You are right. To make sure, I installed flatpak Audacity and it worked without a problem.

cosmofelix commented 3 years ago

I have the same problem on my raspberry (Raspbian 4.19.66-v7). Same warnings, same output from the debug mode. My raspberry is attached to a display.

It would be great to have Pulseeffects running, since I use the raspberry as media centre. Any way to help?

wwmm commented 3 years ago

I installed flatpak Audacity and it worked without a problem

I think it is better to do this test with an application that uses gtk3 directly. Audacity uses wxgtk3 to make its interface. Try to test with a gnome application. I think that a few of them can be installed through flatpak.

wwmm commented 3 years ago

As far as I remember there is nothing out of the ordinary being done in PulseEffects interface. I can't think of a reason why other gtk3 applications would work and PulseEffects not.

wwmm commented 3 years ago

Inkscape 1.0 should be a good test https://flathub.org/apps/details/org.inkscape.Inkscape as they also use gtkmm3

cosmofelix commented 3 years ago

Inkscape runs flawlessly for me.

wwmm commented 3 years ago

@AsavarTzeth do you have any idea about what could be happening? Maybe in the raspberry the flatpak container needs permission access to something more.

IdreesM0 commented 3 years ago

As far as running PE on the Rpi is concerned, I ditched the raspbian OS and installed ubuntu on raspberry pi. The glorious PulseEffects is present in the default repo and it runs smooth as butter. A downside to that is I can't seem to run the realvnc server on ubuntu. Anything else doesn't seem to contain a lot of features that realvnc offers out of the box on raspbian OS; Traffic Encryption for example. Also even the direct connection is so unstable for me. It hangs after some use/time leaving a manual reboot the only option. Bonus rant: for the life of me I can't figure out how to create an access point on Rpi and ssh to the it for the ultimate portable independent setup. As of now, its only limited to the home network.

AsavarTzeth commented 3 years ago

The warnings in the image are as we know due to flatpak constraints, and irrelevant regardless.

The XDG env vars should be set by your distribution, but some Debian based ones don't. Anyhow, I don't see how that could be the cause either.

DConf is sandboxed, so you need to run gsettings from within the sandbox: flatpak run --command=(ex. "sh" or "gsettings") com.github.wwmm.pulseeffects

All that said, I don't really have enough relevant information to help you. :(

wwmm commented 3 years ago

I can't figure out how to create an access point on Rpi and ssh to the it

I haven't used my raspberry in a while but I configured its wifi access point using hostapd. And to make things easier when doing connecting through ssh I have also configured the avahi-daemon. This way I do not have to think about the ip address.

cosmofelix commented 3 years ago

Any further ideas how to troubleshoot for Raspian? Or should we open an issue at flatpack?

wwmm commented 3 years ago

Any further ideas how to troubleshoot for Raspian? Or should we open an issue at flatpack?

So far it seems to be an issue with the flatpak package as a native package works in the raspberry architecture. So at first sight it makes sense to open an issue in the package page https://github.com/flathub/com.github.wwmm.pulseeffects/issues. That being said AsavarTzeth created this package and is one of its maintainers. As he has no idea about what is going on opening an issue there won't bring anything new.

I still do not see why the same package works in ordinary computers without problems and does not start in the raspberry. Maybe the Inkscape package has some kind of configuration that is not being done in PulseEffects package. Or we have to access runtime flatpak libraries that are bugged. And Inkscape is only working because it doesn't use such libraries... But as I do not use flatpak I am only guessing...

AsavarTzeth commented 3 years ago

It is true that PulseEffects does bring more dependencies that have been more problematic on arm, as opposed to Inkscape. Although most of those are audio plugins, and I'd think that would simply cause warnings and PulseEffects would still launch.

Also let me clarify: I'm not saying I could not ever figure this out, given enough time and effort. The issue right now and in the foreseeable future is that I can no longer afford that. If someone managed to do some more extensive troubleshooting for me then that might change things.

In any case, feel free to open an issue if you at the flatpak repo. I can always label the issue "help wanted" and it's the right thing to do for tracking purposes anyhow.

AsavarTzeth commented 3 years ago

If anyone wishes to, they can try this update when it is finished building. Alternatively one could try adding --device=dri as an override.

Turns out I have been having a similar issue on my laptop and that solved it. Additionally I had this long forgotten pull request that included this permission.

cosmofelix commented 3 years ago

I've updated the flatpack but the GUI is still not opening (also not when running it with flatpak --device=dri run com.github.wwmm.pulseeffects)

robert5974 commented 3 years ago

I'm very interested in getting this to work on the Raspberry Pi OS. I installed Raspberry Pi OS Desktop on a PC and found pulseeffects. I got it installed fine. Obviously the laptop has different hardware than the Pi, and that's a major difference. I tried the same install process but I couldn't get it to work on the Pi4b 2gb. I tried the flatpak with same results. I was going to try building from source to see if that changed the result.

JonasV328 commented 3 years ago

I have the same problems after the flatpak installation. I see there is an raspbian package but not for the buster version of raspbian. Maybe it could be made for buster?

@robert5974 If you manage to install from source it would be great if you reply back how you did it.

Thank you very much!

robert5974 commented 3 years ago

@JonasV328 I wasn't able to build it from source.

vchernin commented 2 years ago

As somewhat of an update, EasyEffects now uses PipeWire instead of PulseAudio. Unfortunately, this isn't great for Raspberry Pi OS users as I doubt they'll switch to PipeWire anytime soon. Raspberry Pi OS only switched to PulseAudio in December 2020 after all, over a decade after Ubuntu did.

If PulseEffects still doesn't work I'd recommend trying another distro. You might also have luck whenever Raspberry Pi OS based off Debian 11 is released.