RTAI (Realtime Application Interface) is a Linux kernel patch, that exposes an API to userland processes, which can be used to create very low latency and jitter programs for realtime tasks.

I've been looking into compiling my own patched kernel to work with RTAI, but I've noticed that the official Ubuntu repositories contain a package called "RTAI". I'm quite sure that this package doesn't magically patch my kernel. For one thing, the current RTAI release does not even support the kernel that's running under my Ubuntu installation.

So what does that package do, and what is it useful for? It creates a folder named "kernel-patches" under /usr/src, that contains some .patch.gz files for some 2.6.x linux kernels. It also comes with some userland libraries (binaries and headers) that you would normally use to compile your RTAI application. When I try to compile a sample with those libraries, the executable, unsurprisingly, segfaults.

The package description describes what RTAI is and not what purpose that package is meant to serve.


The RTAI package in Ubuntu is a collection of files necessary to patch a kernel. But this 'kernel' is not the one being used in your Ubuntu installation, is for kernel versions from www.kernel.org. This extract from the user manual from RTAI describes more on that:

This means that RTAI is designed to run on a standard Linux kernel which can be downloaded from http://www.kernel.org and not on the kernel's source code that comes with the most common distributions...

The other files, besides the patches, are for programming userland application. They are libraries, 'includes', etc.


Has no purpose actually. Cause RTAI needs untouched vanilla kernel. So mostly this package does not work for installed kernel.

Also RTAI patch is compatible with specific kernel that has to be downloaded for patch and make real time applications work for you.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.