There are several reasons for RTXI to not open.
If you run rtxi
in the terminal and get this output, RTXI is already running:
The error happens because only one instance of RTXI can be running on the system. Check who is running it by entering:
If the command shows someone else's username, that means they have RTXI open. Bug them about closing it or close it yourself by running $ sudo pkill rtxi
. Note that workspaces, open files, etc. will not be saved when force-closing RTXI.
If it's your username, RTXI may not have exited cleanly from sometime earlier. You can run $ sudo pkill rtxi
for this case, too.
Now, you should be able to run RTXI.
Check the kernel you are using. Run this in the terminal:
You will get one line of output that tells you what kernel you are using. If it has the word "xenomai" in it, then it's a real-time kernel. If not, then it isn't.
If it's not a real-time kernel, you'll have to reboot your computer and pick a real-time kernel in the GRUB boot menu that pops up. If you don't see it, enter the "Advanced options..." submenu and look there.
Also, see this page about setting a default kernel.
Negative latencies mean that the latency test has not been properly calibrated. The test calculates latencies based on when tasks are expected to be completed, with some overhead going toward computing the timer. To avoid including the time it takes to compute the timer, xenomai offsets the measured latency with a static value, written in nanoseconds and stored in /proc/xenomai/latency
. If the value is negative, then xenomai is overcompensating.
You can correct this behavior by running (as root):
What this means is that the latency test will not try to factor out the time to compute the timer.
RTXI can be run in non-real-time to debug your code. This will require that you manually configure and recompile RTXI. In the RTXI directory, go to the scripts directory and run:
You will be prompted to enter your system configuration. type “posix” to run in non-real-time (POSIX).
Running RTXI in non-real-time is useful for debugging purposes mainly, and it also allows the application to be installed without having to install a real-time kernel beforehand.
RTXI automatically detects installed devices for the drivers it supports. As of February 2024, it supports National Instruments DAQ cards. To properly detect supported devices, make sure to install supported drivers before you install RTXI, or else the installation will not attempt to install relevant RTXI drivers.
If there are issues detecting or using the supported devices, please feel free to contact us or file an issue on GitHub (recommended).
We currently do not support RTAI. Earlier versions (1.x) did, but limited time and other development priorities mean we no longer focus any effort on maintaining our RTAI/COMEDI interface.
For RTXI 3 however we are able to more easily support other real-time platforms, so if this is something that interests you feel free to contact us and we can add support for RTAI.
Yes. RTXI has been successfully installed on Ubuntu, openSUSE, Debian, and Fedora. Keep in mind that we use Debian for bugtesting, benchmarking, etc. and that different distributions have different ways of automating scripts, inserting kernel modules, and escalating priveleges.