PREEMPT-RT vs RTAI etc Explained ?
- deanforbes
- Offline
- New Member
- Posts: 13
- Thank you received: 1
What are the differences and when or why would you use one or the other are the questions, I am looking to answer?
Please Log in or Create an account to join the conversation.
- PCW
- Offline
- Moderator
- Posts: 17905
- Thank you received: 4774
separate dedicated real time kernel that runs the Linux kernel as a task
so its a 2 kernel approach to real time. Preempt-RT patches
the standard Linux kernel to provide real time response, so its a
1 kernel approach.
RTAI tends to have lower latency so is often better for LinuxCNC
systems that do software stepping, encoder counting, PWM generation etc.
(parallel port based LinuxCNC systems for example)
Preempt-RT tends to have higher latency (though not always) so is better
for systems that have external hardware for high speed interfaces. Also
Preempt-RT is required for certain hardware like Mesa Ethernet connected
cards or EtherCAT devices.
Please Log in or Create an account to join the conversation.
- macsddau@linuxcnc
- Offline
- Premium Member
- Posts: 142
- Thank you received: 28
If I understand, one is the reverse of the other :[...]RTAI has a
separate dedicated real time kernel that runs the Linux kernel as a task
so its a 2 kernel approach to real time. Preempt-RT patches the standard Linux kernel[...]
- Linux kernel is patched into RTAI kernel
- Preempt-RT is patched into the Linux kernel
Please Log in or Create an account to join the conversation.
- PCW
- Offline
- Moderator
- Posts: 17905
- Thank you received: 4774
RTAI has a minimal low latency kernel for real time tasks
and Linux is run as a low priority task under the real time kernel
Real time applications running RTAI must run in kernel mode
Preempt-RT modifies the Linux kernel so it supports real time
even for userland applications
Please Log in or Create an account to join the conversation.
- andypugh
- Away
- Moderator
- Posts: 23560
- Thank you received: 4858
That currently _doesn't_ work with Mesa Ethernet hardware, though.
Please Log in or Create an account to join the conversation.
- JPL
- Offline
- Platinum Member
- Posts: 335
- Thank you received: 113
Just my .02$RTAI and Preemt-RT systems are different in that RTAI has a
separate dedicated real time kernel that runs the Linux kernel as a task
so its a 2 kernel approach to real time. Preempt-RT patches
the standard Linux kernel to provide real time response, so its a
1 kernel approach.
RTAI tends to have lower latency so is often better for LinuxCNC
systems that do software stepping, encoder counting, PWM generation etc.
(parallel port based LinuxCNC systems for example)
Preempt-RT tends to have higher latency (though not always) so is better
for systems that have external hardware for high speed interfaces. Also
Preempt-RT is required for certain hardware like Mesa Ethernet connected
cards or EtherCAT devices.
I really think that this should be added verbatim on the download page. This is so much easier to understand than what is currently written there, especially for new users.
Please Log in or Create an account to join the conversation.
- andypugh
- Away
- Moderator
- Posts: 23560
- Thank you received: 4858
I really think that this should be added verbatim on the download page. This is so much easier to understand than what is currently written there, especially for new users.
When did you last look at the download page? I updated it a few days ago for the 2.8.4 release.
Please Log in or Create an account to join the conversation.
- JPL
- Offline
- Platinum Member
- Posts: 335
- Thank you received: 113
When I read something like "“linuxcnc-uspace” is compatible with the preempt-rt realtime kernel, which is close to standard Linux. This version runs in userspace like most other applications and will run with any preempt-rt kernel." This raise more questions than answers:
What is the preempt-rt kernel?
standard linux? (is there a non standard linux???)
what is userspace?
And the big question: WHY is that important???
...
While the text on the download page is technically rich and correct it could be VERY hard to completely understand by anyone who is not deeply familiar with linux. It's simply a level higher than most new users are able to comprehend, which is in part why I can read so many places that linuxcnc is difficult to learn (or at least more difficult than some 'competitor')
The text from PCW is talking to the average guy that doesn't know much beyond the basics, it is clear and give direct answer to questions like which one is the fastest or which one do I need with Mesa card without going 'too deep' into technical 'jargon'. The text on the download page is certainly excellent and needed for a deeper understanding of linux and linuxcnc but I think can be too 'technical' for any newbie.
But again, I really don't want to diminish the work you've done. This place is plain fantastic and I've never seen any other place where there's so many people willing to help. This is invaluable. The only thing that I think is missing is the basics ABC to get started with linuxcnc.
(With the utmost respect for your work)
Please Log in or Create an account to join the conversation.
- andypugh
- Away
- Moderator
- Posts: 23560
- Thank you received: 4858
TLDR: Download this ISO file and install it....
Please Log in or Create an account to join the conversation.
- JPL
- Offline
- Platinum Member
- Posts: 335
- Thank you received: 113
Maybe simply put this text first:
- LinuxCNC 2.8.4 Debian 10 Buster PREEMPT-RT ISO
- LinuxCNC 2.8.4 Debian 10 Buster RTAI
- LinuxCNC 2.8.1 Raspberry Pi OS based on Debian 10 Buster
Then the text that was previously above it would go after it. But at this point users will already had the essential info and not 'scared away'
Please Log in or Create an account to join the conversation.