„jack-autostart“ ALSA Hotplug Support

jack-autostart Version 1.3 Release Notes

To handle a hotplug-removed ALSA device (such as a USB headset), i use a rule for the „udev“ hotplug daemon that invokes a new action hotplug remove $device of the jack-autostart script under the identity of every affected user. By sending SIGKILL to the jackd process, this prevents jackd CPU load from skyrocketing in such a scenario, which has been the case at least on my installation of „jackd1“ for Devuan 8 (based on Debian jessie).

The changes have been merged to the trunk and are available as sourcecode

  • via SVN: svn://tk-sls.de/jack-autostart
  • via GIT: https://git.devuan.org/tilt/jack-autostart.git

Implementation Notes

To determine if the device is affected, the controller device path in the /dev directory structure is determined when the service is started by jack-autostart start. The alsa-list-hw helper executable has been extensively modified to provide this detection.

The installation procedure generates and installs an additional rules-file for „udev“, the installation directory is /lib/udev/rules.d which can be modified using the SYSTEM_UDEV_RULESDIR variable for make:

~# make SYSTEM_UDEV_RULESDIR=/somewhere/else/rules.d install

On systems that do not utilize „udev“, this change has no operational effect, but the rules-file will be installed anyway.