lxqt-panel icon indicating copy to clipboard operation
lxqt-panel copied to clipboard

Volume Plugin misbehaving when launched before pipewire

Open regicidalplutophage opened this issue 6 months ago • 2 comments

My system uses OpenRC and wayland. Because pipewire is not handled by systemd, it's started by an XDG autostart desktop entry -- this is the default way Gentoo starts pipewire in DEs that utilize XDG autostart.

Under these conditions, what I believe is an undefined behavior happens:

  • Volume button and popup are initialized displaying max volume;
  • The states of volume button and volume slider do not change when volume is changed via compositor shortcut;
  • The actual audio volume can be changed by dragging the volume slider.

To make sure this only happens when panel is launched before pipewire, I've conducted some tests.

Test 1:

  • Disable pipewire autostart in LXQt session settings; -> volume plugin displays orange exclamation mark;
  • Launch pipewire; -> Aforementioned behavior happens.

Test 2:

  • Disable panel in LXQt session settings;
  • Launch panel via compositor after some delay; -> Volume plugin functions as intended.

As a layperson, to me it seems like the volume plugin knows to change its state when pipewire becomes available, but the state change is not complete and only partially includes the button and the slider popup.

regicidalplutophage avatar May 19 '25 22:05 regicidalplutophage

Additional finding: this only happens when the plugin is set to control pulseaudio, not alsa

regicidalplutophage avatar May 19 '25 22:05 regicidalplutophage

As a workaround the panel module can be launched with sleep 5 && qdbus org.lxqt.session /LXQtSession org.lxqt.session.startModule lxqt-panel.desktop

stefonarch avatar May 20 '25 05:05 stefonarch