diff -rupN jack-1.9.6.old/common/JackControlAPI.cpp jack-1.9.6/common/JackControlAPI.cpp --- jack-1.9.6.old/common/JackControlAPI.cpp 2010-08-30 06:23:53.000000000 -0400 +++ jack-1.9.6/common/JackControlAPI.cpp 2010-11-11 03:02:30.000000000 -0500 @@ -32,6 +32,7 @@ #include #include #include +#include #include "jslist.h" #include "driver_interface.h" @@ -675,7 +676,13 @@ EXPORT jackctl_server_t * jackctl_server goto fail_free_parameters; } - value.i = 10; + struct utsname utsname; + int success; + success = uname( &utsname ); + if( success == 0 && strstr( utsname.version, "PREEMPT RT" ) ) + value.i = 60; + else + value.i = 20; if (jackctl_add_parameter( &server_ptr->parameters, "realtime-priority", diff -rupN jack-1.9.6.old/common/JackServerGlobals.cpp jack-1.9.6/common/JackServerGlobals.cpp --- jack-1.9.6.old/common/JackServerGlobals.cpp 2010-08-30 06:23:53.000000000 -0400 +++ jack-1.9.6/common/JackServerGlobals.cpp 2010-11-11 03:02:50.000000000 -0500 @@ -22,6 +22,7 @@ Foundation, Inc., 675 Mass Ave, Cambridg #include "shm.h" #include #include +#include static char* server_name = NULL; @@ -67,9 +68,17 @@ void JackServerGlobals::Delete() bool JackServerGlobals::Init() { + struct utsname utsname; + int success; + success = uname( &utsname ); + int realtime = 0; int client_timeout = 0; /* msecs; if zero, use period size. */ - int realtime_priority = 10; + int realtime_priority; + if( success == 0 && strstr( utsname.version, "PREEMPT RT" ) ) + realtime_priority = 60; + else + realtime_priority = 20; int verbose_aux = 0; int do_mlock = 1; unsigned int port_max = 128;