How to auto-switch pipewire output and autostart easyeffects profile?

Title says it all. I purchased a new framework laptop and am trying to improve the audio situation.

  1. The speakers are trash, but I found an easyeffects profile that works wonders. However, in order for it to work I have to launch the easyeffects application. How to declare (in some nixos config) to start easyeffects with the profile on login?

  2. When I plug in headphones (using the jack) I can see the new device recognized in dmesg, How do I switch to it, and how to configure pipewire to automatically switch when it detects headphones?

(currently using gnome, on the latest nixos release)

1 Like

There’s a toggle on easyeffects (Launch Service at System Startup) that “just works”.

And I discovered that pipewire is just slow at recognizing my headphones (a few seconds), but after selecting them in gnome for the first time, it auto-switches correctly now. :confounded:

I’m happy for now.

This doesn’t particularly help you if you want to use an existing Easy Effects profile, but WirePlumber 0.5 added its own DSP support primarily intended for this usecase (i.e. laptop speakers that need DSP for reasonable audio quality): Automatic Software DSP — WirePlumber 0.5.2 documentation
This is used by Apple Silicon devices (GitHub - AsahiLinux/asahi-audio: Userspace audio for Asahi Linux), and I vaguely recall seeing a post by an Asahi Linux developer saying that they were open to also collecting profiles for non-Apple hardware.

1 Like