You can use your own systemd --user service for it (to circumvent all the weird dbus stuff).
Talked about this at this year's LAC.

For reference (you can get the package from the AUR, it's called uenv-git):

On 06.06.2015 16:35, Harry van Haaren wrote:
On Sat, Apr 4, 2015 at 8:13 PM, Adrian Knoth <> 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

David Runge
Köpenicker Straße 163
10997 Berlin