[arch-dev-public] Realtime settings package

David Runge dave at sleepmap.de
Tue Feb 20 14:11:49 UTC 2018


Hey all,

I'd like to discuss the split-out of the realtime settings for
jack{,2}* (see also the discussion on arch-proaudio [1]) to a separate
package.
Currently they all ship
  /etc/security/limits.d/99-audio.conf
  /usr/lib/udev/rules.d/40-hpet-permissions.rules

Redundancy alone would suggest moving these to a separate package, but I
think there is something more to gain from it: Other packages -
potentially requiring realtime scheduling - can benefit from these
settings (by depending or optdepending on such a "settings package").
Currently I am not aware of another use-case, but that might just be me
working on a subset of what is available out there. Any hints or
suggestions on what other software can possibly benefit from this are
very welcome!

The coupling with the audio group is more of a flaw, than anything imho,
as every member of the group "audio", used for e.g. accessing MIDI
devices, is automatically a realtime user (once jack is installed). I
would want to create a dedicated group, e.g. "realtime", that will hold
those limit permissions. 
Also rtprio should be reduced to 95, as it is actually rather dangerous
having daemons run at the same pace as the kernel services themselves
(this is a definite upstream documentation flaw [2]!).
This means having a dedicated realtime group, that other packages can
depend on. The only thing needed to use it, is to add a user to a group.

Maybe there are even some ways to do this all with systemd by now?
I have been running jack2 successfully using a systemd user service [3]
for quite some time now (and eventually I plan on integrating it,
because it enables a lingering user to auto-start jack as a service).
However, this would only be a use-case for jack and jack2, but not for
jack2-dbus, as there the request of other applications requiring the
start of jack will not lead to using /usr/bin/jackd, but
/usr/bin/jackdbus by default.

I have looked at how Debian ships jackd2 [4] and they don't use the udev
rule at all. So I'm a little hesitant on whether to continue shipping
it and whether it is actually required. See also this very old bug
report [5], `man 5 limits.conf`, `man 8 pam_limits` for more info on the
overall topic.

Any input is very welcome!


Best,
David

[1] https://lists.archlinux.org/pipermail/arch-proaudio/2017-December/000020.html
[2] http://jackaudio.org/faq/linux_rt_config.html
[3] https://git.sleepmap.de/software/uenv.git/tree/user/jack@.service
[4] https://packages.debian.org/jessie/amd64/jackd2/filelist
[5] https://bugs.archlinux.org/task/26343

-- 
https://sleepmap.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.archlinux.org/pipermail/arch-dev-public/attachments/20180220/5b37594d/attachment.asc>


More information about the arch-dev-public mailing list