Robots Atlas>ROBOTS ATLAS
PREEMPT_RT

Other · Runtime & Infrastructure

PREEMPT_RT

6.12-rt·Linux Foundation

Active Open source Real-time capable
CATEGORYOther · Runtime & Infrastructure
READINESSTRL 9
ADOPTION SCALEIndustry Standard
LICENSESGPL-2.0-only
FIRST RELEASE2004

PREEMPT_RT (also known as RT-Preempt or Linux-RT) is a set of Linux kernel patches that transform a general-purpose kernel into a hard real-time operating system (hard-RTOS). The project is sponsored by the Linux Foundation and has been developed since 2004, initially by Ingo Molnár and Thomas Gleixner.

Key mechanisms introduced by the patch: conversion of spinlock hotpaths to preemptable mutexes (RT-mutex), full kernel preemption (PREEMPT_RT_FULL), high-resolution timers (hrtimers) as the real-time cycle clock source, priority inheritance to prevent priority inversion, and interrupt handling in thread context (threaded IRQs).

In robotics, the patch is required or strongly recommended for motion control applications with cycle times below 1 ms. It is used by ros2_control, IgH EtherCAT Master, various MoveIt stacks, and directly in humanoid robot control systems.

Starting from kernel 6.12 LTS (SLTS), much of the PREEMPT_RT functionality has been merged into mainline Linux as the `CONFIG_PREEMPT_RT` Kconfig option, eliminating the need for external patches on modern distributions.

Type & Roles
Software types
Operating system

General-purpose or robotics-specialized operating system — Ubuntu, Ubuntu Core, ROS-aware distributions. Provides the platform for middleware, runtime, and robotic applications.

Runtime

A Runtime is the environment or execution layer used to run code, load libraries, manage dependencies, and operate applications or services — either in real time or during normal system operation. In robotics this includes real-time operating system (RTOS) runtimes, ROS 2 executor runtimes, containerised execution environments (Docker, podman), and embedded C++ runtimes on microcontrollers.

Select an item to see its description.
Main category
Runtime & InfrastructureDrivers & Firmware
Roles in robotics ecosystem
Robot Control
Software family
Family

Family of tools providing hard real-time capabilities in Linux and EtherCAT fieldbus communication – the foundation of industrial and robotic low-level control.

Maturity & Adoption
9 / 9
Proven in operational conditions
ResearchPrototypeProduction
Adoption scaleIndustry Standard
Maintenance statusMaintained by Foundation
First release2004
Last update1 December 2024
Deployments

Used in ros2_control, IgH EtherCAT, humanoid environments (Atlas, KUKA LBR, Franka), CNC systems, autonomous vehicles.

Community

Hundreds of regular contributors, thousands of industrial and research deployments; officially supported by the Linux Foundation.

Target robotic platforms
Industrial Robot
Robotic Arm
Mobile Robot
Humanoid
Quadruped
Research Robot
Drone / UAV
ROS supportCompatibility with ROS / ROS 2 ecosystem
Community ROS 2 WrapperWrapper ROS 2 tworzony i utrzymywany przez społeczność, nie przez producenta
ROS 2 Hardware Interface (ros2_control)Hardware Interface dla frameworka ros2_control
System capabilities
Open source
Source code is publicly available under an open-source license — enables security audits, custom modifications, and integration without licensing barriers.
Real-time capable
Designed with timing-determinism guarantees — meets the requirements of control loops, safety systems, and tasks demanding low, predictable latency.
⟨/⟩
API available
The software exposes a programmable interface (REST, gRPC, SDK, or language bindings) that enables automation and integration with other systems.
×
📦
Pre-built / binary
Distributed as ready-to-use binary packages, container images, or installers — no need to build from source.
Programming languages
C
Operating systems
Ubuntu 20.04Ubuntu 22.04Debian
Ubuntu 24.04

Ubuntu 24.04 LTS 'Noble Numbat' — supported until April 2029. The host for ROS 2 Jazzy.

Select an item to see its description.
Minimum hardware requirements
Packaging & distribution
Package managers
apt / debapt / deb (Debian/Ubuntu)Source only
CPU architectures
x86_64 (AMD64)ARM64 / AArch64aarch64 / ARM64ARMv7 / ARM32 (armhf)RISC-V 64-bit (RV64GC)
Installation difficulty
LevelExpert only
Protocols and interfaces
Communication protocols
EtherCATEthernet / TCP-IPCAN bus (Controller Area Network)CAN FD (CAN with Flexible Data-Rate)IEEE 1588 / PTP (Precision Time Protocol)
Hardware interfaces
Ethernet 1000BASE-T (Gigabit Ethernet)Ethernet 100BASE-TX (Fast Ethernet)EtherCAT (Slave Interface)CAN 2.0A / 2.0BCAN FD (Flexible Data-Rate)UART / RS-485
Latency classes
Hard Real-Time (< 1 ms)Hard Real-Time (1–5 ms)
Licenses
GPL-2.0-onlyGNU General Public License v2.0v2.0

License family: Strong Copyleft

ModificationDistributionCommercial usePrivate useOSI approvedFSF Free/LibreRequires attributionShare-alikeSource disclosure
Version history
6.12-rtDec 2024

Most patches merged into mainline as CONFIG_PREEMPT_RT in kernel 6.12 LTS.

6.6-rtJan 2024

Continued LTS branch maintenance with latency fixes.

5.15-rtJan 2022

Popular LTS version used by Ubuntu 22.04 Realtime.