On Mon, Feb 16, 2015 at 1:49 PM, Josh Boyer <jwboyer(a)fedoraproject.org> wrote:
On Mon, Feb 16, 2015 at 1:50 AM, drago01 <drago01(a)gmail.com>
wrote:
> On Mon, Feb 16, 2015 at 6:23 AM, Diogo Campos (gmail)
> <diogocamposwd(a)gmail.com> wrote:
>> You've asked to make it easier but you've made no suggestions or
proposals
>> on how it might be achieved.
>>
>>
>> Sorry if it seemed a random complaint.
>>
>> Fact is that I am a victim of this issue, so I really did not feel
>> comfortable to propose solutions at a technical level.
>>
>> Anyway, since you asked:
>>
>> 1- Install JACK.
>>
>> I think the package would be "jack-audio-connection-kit".
>>
>> 2- Set a list of standard and optimized initialization options for JACK.
>>
>> Most likely disabling the "realtime" option (with
"--no-realtime"), since,
>> as far as I understand, the Fedora kernel does not have support for it.
>
> It does. The thing is that setting real time scheduling for an app is
> a privileged operation. Jack should use rtkit for that (like
> pulseaudio does).
The Fedora kernel doesn't carry the -rt patchset, which is what most
people equate to "realtime" in the Linux world. I'm not sure what you
were thinking of here?
Its not about the -rt patches (those would improve things for audio
producers; but that's a different story) but what jack tries to do is
simply set the scheduling policy of the process to SCHED_RR.
Pulseaudio already does this (for the same reason) using rtkit:
"RealtimeKit is a D-Bus system service that changes the scheduling
policy of user processes/threads to SCHED_RR (i.e. realtime scheduling
mode) on request. It is intended to be used as a secure mechanism to
allow real-time scheduling to be used by normal user processes."
So what I suggested is to change jack to use rtkit instead of
requiring setuid or even full root privileges for it. Non of this
require any kernel changes nor the -rt patches.