I meet maybe the same problem under fedora: I added myself to the pulse-rt group.
This group has priorities defined in /etc/security/limits.d/95-jack.conf

@jackuser - rtprio 95
@jackuser - memlock unlimited

#@audio    - rtprio 95
#@audio    - memlock unlimited

#@pulse-rt - rtprio 10
#@pulse-rt - nice -20

And because I belong to the jackuser and pulse-rt group, the lower rtprio was retained.
If I commented the pulse-rt part of 95-jack.conf everything was back to normal.


Le 06/06/2015 16:35, Harry van Haaren a écrit :
On Sat, Apr 4, 2015 at 8:13 PM, Adrian Knoth <adi@drcomp.erfurt.thur.de> wrote:
Not enough information. I recommend starting jackd with strace
Done - apologies for the delay. Strace output available[1], but the most interesting part copied here:

sched_get_priority_min(SCHED_FIFO)      = 1
sched_setscheduler(0, SCHED_FIFO, { 1 }) = -1 EPERM (Operation not permitted)
write(2, "\nJACK is running in realtime mod"..., 87
JACK is running in realtime mode, but you are not allowed to use realtime scheduling.
) = 87

This code tries to call sched_setscheduler() with SCHED_FIFO. My bet is
that your "almost vanilla kernel" fails to fulfil this request, but
strace will tell you for sure.
By "almost vanilla" I meant the Arch linux packaged version - I didn't change the config myself (and Arch aims to be true to vanilla). A very accurace prediction though - indeed sched_setscheduler() is causing a return of -1. This is running as root though - so something is wrong here.
The question is why said call should fail. The only thing that comes to
my mind are CGROUPS. Maybe your old kernel comes without, the new kernel
supports them and the configuration is set in a way that disables
SCHED_FIFO by default.
Perhaps - I'm not experienced with cgroups or such, if anybody has any test ideas for me I'll try them out?

Cheers, -Harry

Linux-audio-dev mailing list