KMix KDED module

Jonathan Marten jjm2 at keelhaul.me.uk
Fri May 5 11:48:32 BST 2023


This is for any users of "Classic" KMix - that is, the standalone
program that works with ALSA and OSS as well as PulseAudio, not the
Plasma 'plasma-pa' panel applet.

Along with the main executable it also installs and automatically
starts a KDED module 'kmixd' which appears in systemsettings as "KMix
Daemon".  However, it's not clear exactly what is the purpose of this
KDED module.  It seems to do exactly the same as KMix does itself,
watching for hotplugged sound hardware and updating the internal data
structures and saved configuration, but without a GUI.  It does expose
the available mixers and controls via DBus, but that access is available
via the same interface on the KMix application itself.  I suspect that
this was intended for use by other volume control applications such as
KMilo which managed laptop hotkeys back in the KDE3 days, but I don't
know of any applications that use it now.  The Plasma applet does not
use KMix or any of its interfaces - indeed, if plasma-pa is installed it
installs an update file which disables KMix autostart.

Therefore I'd like to remove the KDED module from KMix.  For the moment
there is some code (commit 6ede7122 in master branch) that unloads the
module and disables its autostart via DBus when the KMix application
starts up.  If this does not cause any problems with KMix itself or any
third party applications then later on the module can be removed
completely.

I have been running KMix with the module disabled for a long time and
have not observed any problems.  But, for the moment, please report if
the module being disabled causes any problems for you or with any other
applications.  If needed it can be reenabled on the "Background
Services" page in System Settings until KMix is next restarted.

Best regards,
-- 
Jonathan Marten                         http://www.keelhaul.me.uk
Twickenham, UK                          jjm2 at keelhaul.me.uk


More information about the kde-devel mailing list