rtkitctl
Control RealtimeKit, manage realtime priorities
SYNOPSIS
rtkitctl
DESCRIPTION
rtkitctl is a command-line utility designed for basic interaction with the RealtimeKit D-Bus system service. RealtimeKit acts as a security broker, enabling unprivileged applications (like audio servers) to safely acquire real-time scheduling priority and lock memory (RLIMIT_RTPRIO and RLIMIT_MEMLOCK capabilities) without requiring root privileges directly for the application itself.
This functionality is critical for low-latency audio and video processing, preventing glitches and ensuring smooth operation by granting applications the necessary CPU time.
The rtkitctl command primarily checks if the RealtimeKit D-Bus service is running and accessible. It serves as a simple diagnostic tool rather than a comprehensive control interface for real-time priorities, which are typically managed programmatically by applications interacting with the RealtimeKit D-Bus API.
CAVEATS
The rtkitctl command is a very simple utility, often only designed to check the status of the RealtimeKit D-Bus service. It does not provide options for directly manipulating real-time priorities or advanced daemon configuration.
Real-time priority management is primarily handled by applications (e.g., PulseAudio, PipeWire, JACK) by interacting with the RealtimeKit D-Bus API, not through this command-line utility.
On some Linux distributions, the rtkitctl executable might be minimal or even non-existent, with users instead relying on systemctl status rtkit-daemon or checking the rtkit-daemon logs for status.
D-BUS INTERACTION
Applications that require real-time scheduling, such as audio servers, interact directly with the RealtimeKit D-Bus service to request and release real-time priority. rtkitctl is merely a thin client to query the service's availability, not to perform real-time scheduling operations.
SECURITY MODEL
RealtimeKit's core benefit lies in its security model. Instead of individual applications running as root or having broad capabilities, a single, well-controlled daemon (rtkit-daemon) handles the sensitive task of granting real-time priority, mediating access for multiple applications and preventing abuse.
HISTORY
RealtimeKit was created to address the challenge of securely granting real-time scheduling capabilities to unprivileged applications on Linux. Historically, only root or processes with CAP_SYS_NICE could set real-time priorities, which posed a security risk for audio/multimedia applications needing low latency.
By introducing a D-Bus service, RealtimeKit allows applications to request these capabilities from a trusted, privileged daemon, thus improving security and stability while ensuring optimal performance for real-time workloads. It became an integral part of modern desktop Linux audio infrastructures.
SEE ALSO
rtkit-daemon(8), systemctl(1), pulseaudio(1), pipewire(1), jackd(1), chrt(1)