It's getting complicated to decide how to install LinuxCNC! With the upcoming 2.8 release, you will have your choice of support for three realtime kernels (and generic/vanilla kernels for simulator mode):
- RTAI
- PREEMPT-RT
- Xenomai
Like LinuxCNC 2.7, there are two package flavors:
- linuxcnc (kernel-module-based)
- linuxcnc-uspace (userspace-based)
And here's a matrix of kernel support vs package flavor that we hope to have in 2.8:
Kernel flavor | ||||
---|---|---|---|---|
LinuxCNC Package | RTAI | PREEMPT-RT | Xenomai | Generic |
linuxcnc | YES¹ | No | No | No |
linuxcnc-uspace | YES² | YES | YES | YES |
.. there are two main caveats to that list:
- Running kernel version must exactly match what LinuxCNC was compiled for (one of the biggest hassles with RTAI using the kernel module model)
- linuxcnc-uspace Packages from buildbot don't actually have RTAI support now, but self-built packages will, as long as the package with lxrt development files is installed (rtai-modules-*)
As you can see, linuxcnc-uspace is better (at least on paper) than the old rtai-kernel-based approach, it's more versatile in terms of RTOS support, and it's never tied to a specific kernel version.
One thing we don't know yet is: how much additional latency or jitter is introduced by using LXRT ABI instead of kernel module ABI? I hope it's little enough that we can consider dropping the kernel module realtime model altogether for LinuxCNC 2.9 or so.
So I propose the following steps for deciding which flavor of LinuxCNC to use, if you're building our master branch:
- Choose linuxcnc-uspace with the realtime kernel of your choice
Entry first conceived on 9 August 2016, 1:54 UTC, last modified on 9 August 2016, 2:14 UTC
Website Copyright © 2004-2024 Jeff Epler