You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thanks for the report. I prepared a Flathub test build with a fix for the login/startup race where Mini EQ could start before PipeWire/WirePlumber had made the requested output sink available, then exit before enabling system-wide EQ.
You do not need to uninstall 0.8.3. This installs the Flathub test branch, so it can be tested separately from the stable branch:
flatpak install --user https://dl.flathub.org/build-repo/287237/io.github.bhack.mini-eq.flatpakref
flatpak run --branch=test io.github.bhack.mini-eq
In the test build, please enable:
Keep Running in Background
Start at Login
Enable System-wide EQ at Login
If those were already enabled in 0.8.3, please toggle Start at Login off and back on once from the test build, so the login autostart entry is refreshed for the test branch. Then reboot and check whether system-wide EQ comes back enabled automatically.
I disabled "Start at Login" from the 0.8.3 version and enabled it in the test version and rebooted 6 times. System-wide EQ was enabled 2 out of those 6 times.
I also notice that the command line added for the startup configuration for the test version does not include --branch=test, I'm not sure if it's an issue.
I manually modified ~/.config/autostart/io.github.bhack.mini-eq.desktop to use the test version and I removed the background flag so that the test version is immediately visible, but the System-wide EQ is still unchecked :(
Exec=flatpak run --branch=test --command=mini-eq io.github.bhack.mini-eq --auto-route
When I disable autostart and start MiniEQ manually with flatpak run --branch=test --command=mini-eq io.github.bhack.mini-eq --auto-route it works so I think you're right it seems to be a race condition.
You do not need to uninstall 0.8.3; this installs/updates only the Flathub test branch, separate from the stable branch.
You can keep the autostart command you tested manually:
Exec=flatpak run --branch=test --command=mini-eq io.github.bhack.mini-eq --auto-route
I also tested this new build locally in a Fedora GNOME VM with an artificial 15-second WirePlumber startup delay. With build 287257, Mini EQ started at login and the System-wide EQ switch came up enabled after reboot.
If it still fails on your machine with 287257, then the remaining race is probably later in the final startup routing attempt, and I’ll add a second bounded retry around that path.
The most useful part is the journal from the same boot where it failed.
This result also points to the remaining race being later than the first fix: Mini EQ can start, but the final startup --auto-route attempt may run before PipeWire/WirePlumber is ready to move streams. I’ll prepare a new build that retries that final startup routing attempt for a short bounded window as well.
$ journalctl --user -b --no-pager | grep -iE "mini-eq|pipewire|wireplumber|filter-chain|xdg-desktop-portal|background"
mai 23 19:29:29 xxx systemd[2044]: Listening on pipewire-pulse.socket - PipeWire PulseAudio.
mai 23 19:29:29 xxx systemd[2044]: Listening on pipewire.socket - PipeWire Multimedia System Sockets.
mai 23 19:29:30 xxx systemd[2044]: Created slice background.slice - User Background Tasks Slice.
mai 23 19:29:30 xxx systemd[2044]: Started pipewire.service - PipeWire Multimedia Service.
mai 23 19:29:30 xxx systemd[2044]: Started wireplumber.service - Multimedia Service Session Manager.
mai 23 19:29:30 xxx wireplumber[2213]: wp-event-dispatcher: wp_event_dispatcher_unregister_hook: assertion 'already_registered_dispatcher == self' failed
mai 23 19:29:30 xxx wireplumber[2213]: wp-event-dispatcher: wp_event_dispatcher_unregister_hook: assertion 'already_registered_dispatcher == self' failed
mai 23 19:29:30 xxx wireplumber[2213]: wp-event-dispatcher: wp_event_dispatcher_unregister_hook: assertion 'already_registered_dispatcher == self' failed
mai 23 19:29:30 xxx wireplumber[2213]: wp-event-dispatcher: wp_event_dispatcher_unregister_hook: assertion 'already_registered_dispatcher == self' failed
mai 23 19:29:30 xxx wireplumber[2213]: [0:00:11.321033220] [2213] INFO Camera camera_manager.cpp:340 libcamera v0.7.1
mai 23 19:29:31 xxx systemd[2044]: Started pipewire-pulse.service - PipeWire PulseAudio.
mai 23 19:29:31 xxx systemd[2044]: Starting xdg-desktop-portal.service - Portal service...
mai 23 19:29:31 xxx systemd[2044]: Starting xdg-desktop-portal-gnome.service - Portal service (GNOME implementation)...
mai 23 19:29:32 xxx wireplumber[2213]: [0:00:13.307613061] [2248] INFO Camera camera_manager.cpp:223 Adding camera '\_SB_.PC00.XHCI.RHUB.HS11-11:1.0-046d:08e4' for pipeline handler uvcvideo
mai 23 19:29:32 xxx systemd[2044]: Started xdg-desktop-portal-gnome.service - Portal service (GNOME implementation).
mai 23 19:29:32 xxx systemd[2044]: Starting xdg-desktop-portal-gtk.service - Portal service (GTK/GNOME implementation)...
mai 23 19:29:32 xxx systemd[2044]: Started xdg-desktop-portal-gtk.service - Portal service (GTK/GNOME implementation).
mai 23 19:29:32 xxx systemd[2044]: Started xdg-desktop-portal.service - Portal service.
mai 23 19:29:33 xxx /usr/libexec/xdg-desktop-portal[3522]: Realtime error: Could not get pidns for pid 2: PIDFD_GET_PID_NAMESPACE ioctl failed: Inappropriate ioctl for device
mai 23 19:29:33 xxx io.github.bhack.mini-eq.desktop[3484]: filter-chain PipeWire EQ ready: mini_eq_sink -> alsa_output.pci-0000_03_00.1.hdmi-stereo-extra2
mai 23 19:29:33 xxx io.github.bhack.mini-eq.desktop[3484]: filter-chain PipeWire EQ ready: mini_eq_sink -> alsa_output.usb-Generic_USB_Audio-00.HiFi__Speaker__sink
mai 23 19:29:33 xxx io.github.bhack.mini-eq.desktop[3484]: filter-chain PipeWire EQ ready: mini_eq_sink -> alsa_output.usb-Generic_USB_Audio-00.HiFi__Speaker__sink
mai 23 19:29:34 xxx wireplumber[2213]: wp-proc-utils: failed to get status for PID 221: Failed to open file “/proc/221/status”: No such file or directory
mai 23 19:29:34 xxx wireplumber[2213]: GLib: GError set over the top of a previous GError or uninitialized memory.
mai 23 19:29:34 xxx wireplumber[2213]: wp-proc-utils: failed to get cgroup for PID 221: Failed to open file “/proc/221/status”: No such file or directory
mai 23 19:29:34 xxx wireplumber[2213]: wp-proc-utils: failed to get cmdline for PID 221: No such file or directory
mai 23 19:29:36 xxx io.github.bhack.mini-eq.desktop[3484]: filter-chain PipeWire EQ ready: mini_eq_sink -> alsa_output.usb-Generic_USB_Audio-00.HiFi__Speaker__sink
This confirms the remaining startup path in build 287257: Mini EQ is running and the filter-chain becomes ready, but the final startup --auto-route attempt does not retry, so the state stays routed: false.
I prepared a newer test build with the second bounded retry around that final startup routing step:
Please retry with build 287264. You do not need to uninstall 0.8.3; this updates only the test branch.
Your autostart command is fine for this test:
Exec=flatpak run --branch=test --command=mini-eq io.github.bhack.mini-eq --auto-route
I also reran this locally in the Fedora GNOME VM with an explicit 15-second WirePlumber startup delay. With build 287264, after reboot Mini EQ came up with eq_enabled: true and routed: true, and a playback stream was linked through mini_eq_sink.
It works! I rebooted 3 times and for all 3 reboots the app starts, for a brief moment the switch is off then it is toggled on automatically. Thank you 😄
Activity
bhack commentedon May 23, 2026
Thanks for the report. I prepared a Flathub test build with a fix for the login/startup race where Mini EQ could start before PipeWire/WirePlumber had made the requested output sink available, then exit before enabling system-wide EQ.
You do not need to uninstall 0.8.3. This installs the Flathub
testbranch, so it can be tested separately from the stable branch:In the test build, please enable:
If those were already enabled in 0.8.3, please toggle Start at Login off and back on once from the test build, so the login autostart entry is refreshed for the test branch. Then reboot and check whether system-wide EQ comes back enabled automatically.
The draft Flathub PR/test build is here:
flathub/io.github.bhack.mini-eq#27
After testing, the temporary test branch can be removed with:
If this fixes the issue for you, I will include it in the next release and update the stable Flathub package.
Athou commentedon May 23, 2026
Hi @bhack, thanks a lot for the quick response.
I disabled "Start at Login" from the 0.8.3 version and enabled it in the test version and rebooted 6 times. System-wide EQ was enabled 2 out of those 6 times.
I also notice that the command line added for the startup configuration for the test version does not include
--branch=test, I'm not sure if it's an issue.Athou commentedon May 23, 2026
I manually modified
~/.config/autostart/io.github.bhack.mini-eq.desktopto use the test version and I removed the background flag so that the test version is immediately visible, but theSystem-wide EQis still unchecked :(Exec=flatpak run --branch=test --command=mini-eq io.github.bhack.mini-eq --auto-routeAthou commentedon May 23, 2026
When I disable autostart and start MiniEQ manually with
flatpak run --branch=test --command=mini-eq io.github.bhack.mini-eq --auto-routeit works so I think you're right it seems to be a race condition.bhack commentedon May 23, 2026
The result you saw was most likely still from the earlier test build.
I pushed an amended fix and Flathub has now built a new test build:
287257.Could you please install this one and retry the reboot test?
You do not need to uninstall 0.8.3; this installs/updates only the Flathub
testbranch, separate from the stable branch.You can keep the autostart command you tested manually:
I also tested this new build locally in a Fedora GNOME VM with an artificial 15-second WirePlumber startup delay. With build
287257, Mini EQ started at login and the System-wide EQ switch came up enabled after reboot.If it still fails on your machine with
287257, then the remaining race is probably later in the final startup routing attempt, and I’ll add a second bounded retry around that path.Athou commentedon May 23, 2026
I installed the new build but the switch is still disabled after a reboot :(
Are there any log files I could provide that would be helpful?
bhack commentedon May 23, 2026
That confirms the new build still misses one startup path on your machine.
Could you please capture these right after a reboot where the switch is still disabled, before starting/toggling Mini EQ manually?
The most useful part is the journal from the same boot where it failed.
This result also points to the remaining race being later than the first fix: Mini EQ can start, but the final startup
--auto-routeattempt may run before PipeWire/WirePlumber is ready to move streams. I’ll prepare a new build that retries that final startup routing attempt for a short bounded window as well.Athou commentedon May 23, 2026
Sure!
bhack commentedon May 23, 2026
This confirms the remaining startup path in build
287257: Mini EQ is running and the filter-chain becomes ready, but the final startup--auto-routeattempt does not retry, so the state staysrouted: false.I prepared a newer test build with the second bounded retry around that final startup routing step:
Please retry with build
287264. You do not need to uninstall 0.8.3; this updates only thetestbranch.Your autostart command is fine for this test:
I also reran this locally in the Fedora GNOME VM with an explicit 15-second WirePlumber startup delay. With build
287264, after reboot Mini EQ came up witheq_enabled: trueandrouted: true, and a playback stream was linked throughmini_eq_sink.Athou commentedon May 23, 2026
It works! I rebooted 3 times and for all 3 reboots the app starts, for a brief moment the switch is off then it is toggled on automatically. Thank you 😄
bhack commentedon May 23, 2026
Great, that confirms build
287264covers the startup race on your system as well.I’ll include this fix in the next release and then update the stable Flathub package.