mirror of
https://github.com/JakeStanger/ironbar.git
synced 2026-07-11 08:15:21 +01:00
[GH-ISSUE #1483] volume widget incorrectly defaults to EasyEffects virtual sink only on Reboot #1852
Labels
No labels
A:Build
A:CI
A:Client
A:Config
A:Core
A:Documentation
A:Documentation
A:IPC
A:Testing
A:UX/UI
blocked
BREAKING CHANGE
duplicate
good first issue
GTK4
help wanted
invalid
M:Battery
M:Battery
M:Bindmode
M:Bluetooth
M:Brightness
M:Cairo
M:Clipboard
M:Clock
M:Clock
M:Custom
M:Focused
M:Keyboard
M:Launcher
M:Menu
M:Music
M:Music
M:Music
M:Network Manager
M:Notifications
M:SysInfo
M:Tray
M:Volume
M:Workspaces
partially resolved
P:Critical
P:High
P:Low
P:Medium
pull-request
T:Bug
T:Bug
T:Core Enhancement
T:Module Enhancement
T:New Module
T:Question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
JakeStanger/ironbar#1852
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ffs-akl on GitHub (May 10, 2026).
Original GitHub issue: https://github.com/JakeStanger/ironbar/issues/1483
Describe the bug
Most of the time, On a fresh system boot or reboot, the volume widget consistently selects the EasyEffects Sink as the default output device instead of the Internal Audio (Hardware). Manual adjustment is required every time to switch it back.
To reproduce
Steps to reproduce the behavior:
1.install ironbar and easyeffect
2. start both automatically via wayland compositor config, for example in niri:
spawn-at-startup "easyeffects" "--gapplication-service"
spawn-at-startup "ironbar"
Expected behavior
The widget should persist the last manually selected device or allow a preferred_device option in the config.
System information:
Configuration
Config
Styles
Additional context
Screenshots
@ffs-akl commented on GitHub (May 10, 2026):
I've made a WirePlumber priority rule to force the hardware output to have a much higher priority than the virtual sink.
Configuration added to ~/.config/wireplumber/wireplumber.conf.d/:
But It didn't make a difference.
@ffs-akl commented on GitHub (May 10, 2026):
I think the volume widget should stay in a 'listening' state until PipeWire has finished loading its own stored user preferences.
@JakeStanger commented on GitHub (May 10, 2026):
Could you repro with
IRONBAR_LOG=info,ironbar::modules::volume=trace,ironbar::clients::volume=traceand send the log please?You can set
IRONBAR_FILE_LOGto the same thing (you need both I think) to make capturing it easier on startup.I wouldn't want to add a "preferred device" option as Ironbar shouldn't be making decisions about the audio server in that way.
@ffs-akl commented on GitHub (May 10, 2026):
If ironbar is started using spawn-at-startup "ironbar", it fails to persist the user-defined default audio device in most cases. Below is the log file from an instance where the default device incorrectly switched to EasyEffects:
the log file from an instance where the default device incorrectly switched to EasyEffects
However, when started using spawn-at-startup "env" "IRONBAR_LOG=info,ironbar::modules::volume=trace,ironbar::clients::volume=trace" "ironbar", the user-defined default device (Built-in Audio) is consistently maintained. I have tested this 9 times, and it successfully preserved the setting every single time. Below is the log file from one of those 9 successful attempts:
the log file from one of those 9 successful attempts
@JakeStanger commented on GitHub (May 10, 2026):
Thanks but looks like those are missing trace logs. If you're reading the logs from file, make sure you set both
IRONBAR_LOGandIRONBAR_FILE_LOG@ffs-akl commented on GitHub (May 10, 2026):
I’ve done some further testing with sleep to isolate the cause, and it confirms a race condition during startup. Here are the results:
spawn-at-startup "sh" "-c" "sleep 2; ironbar"
sleep 2: 50% success rate. (Tested twice: 1 success, 1 failure).
spawn-at-startup "sh" "-c" "sleep 5; ironbar"
sleep 5: 100% success rate. (Tested 3 times: 3 successes).
@ffs-akl commented on GitHub (May 10, 2026):
Here is the log fie (set **both** `IRONBAR_LOG` and `IRONBAR_FILE_LOG`), it successfully preserved the setting
Here is the log fie (set **both** `IRONBAR_LOG` and `IRONBAR_FILE_LOG`), the default device incorrectly switched to EasyEffects
@JakeStanger commented on GitHub (May 13, 2026):
Thanks for the logs. Both instances are still showing the bug where the default device flicks back & forth between two devices (#1411). That's probably the underlying cause & likely isn't fixed.
I've re-opened that issue & I'm going to close this.