Created attachment 183755 [details] Image of systemsettings proper setup for easyeffects operation. SUMMARY When EasyEffects is set as the default output device in KDE System Settings, volume keys control EasyEffects’ virtual device instead of the underlying hardware (e.g. Built-In Audio Analog Stereo). This breaks expected behavior and leads to misleading volume notifications. EasyEffects volume changes have no audible effect, while the actual hardware volume is unaffected. STEPS TO REPRODUCE 1. Launch EasyEffects via GUI or background using `easyeffects --gapplication-service` or via systemd user service (example see my commit here: https://github.com/m1st0/easyeffects/tree/systemd_user_mistry). 2. In KDE System Settings > Audio (kcm_pulseaudio), select EasyEffects as the default output device or run `systemsettings kcm_pulseaudio` 3. Use volume keys or software controls to change volume. OBSERVED RESULT - Volume keys change EasyEffects virtual output volume, which does not affect audible output. - Hardware output (e.g. Built-In Audio Analog Stereo) remains unchanged. - KDE shows a static or incorrect volume level (e.g. 77%) in volume OSD, unrelated to real device levels. EXPECTED RESULT - Audio should likely flow through EasyEffects but volume control should affect the physical output device. - Volume keys and OSD should reflect and control hardware volume, not EasyEffects virtual levels. - As EasyEffects notes: "Do not set Easy Effects virtual devices as your default audio input/output. Easy Effects is designed assuming that your hardware stays as default device." (source: https://github.com/m1st0/easyeffects/tree/systemd_user_mistry) ADDITIONAL INFORMATION - Example workaround implemented via custom volume scripts: https://github.com/m1st0/g502-py-volume-ctrl/blob/main/raise_volume.zsh - Screenshot available on request showing routing confusion. - KDE Plasma: 6.3.6 - Frameworks: 6.14.0 - Qt: 6.8.3 - OS: Kubuntu 25.04 (Wayland) - Kernel: 6.14.0-27-generic
Created attachment 183756 [details] How it should work, and works fine but not automatically. So this is how I know it should work and it does correctly, but of course setting it to default audio causes any new application to switch to the default audio device and skip easyeffects. So you have to manually set it up this way. Therefore, the bug fix seems more appropriate to the way KDE audio works, but that is the dilemma. See attachmment
(In reply to m1st0 from comment #1) > Created attachment 183756 [details] > How it should work, and works fine but not automatically. > > So this is how I know it should work and it does correctly, but of course > setting it to default audio causes any new application to switch to the > default audio device and skip easyeffects. So you have to manually set it > up this way. Therefore, the bug fix seems more appropriate to the way KDE > audio works, but that is the dilemma. See attachmment 20250803_014241_Screenshot.png
For now, I left easyeffects as the default sync so that new apps or media will take it on, and assigned shortcuts to my mouse and keyboard to follow my scripts to change volume. See scripts linked: https://github.com/m1st0/g502-py-volume-ctrl
Ah, KDE should show all volume changes on the OSD as they happen. It does do this if I run EasyEffects without a window from my user's systemd service, but once a EasyEffects window is opened, KDE OSD of the volume defaults to the default sync. When run without the window, the OSD actaully shows the device volume being changed, not EasyEffects. Should I take this up with EasyEffects or on KDE? I assume KDE is acting well, but I like it showing me changing the device volume since that is what I am actually doing by hotkey. Nevertheless, KDE acts on showing the default sync only as designed now, but EasyEffects was not recognized even if it was the default sync until a window of its instance was opened.
I found the right way to set up easyeffects. Unsure if you want to make KDE more robust, but I just set up rules that I wanted for PipeWire and WirePlumber to do the rest. See https://github.com/m1st0/wireplumber-easyeffects .