Мне нужно запустить какое-то программное обеспечение, которое перечисляет Linux с исправленным ядром PREEMPT_RT как системное требование. Однако двоичные драйверы NVIDIA (которые я также планирую использовать) не поддерживаются в ядрах PREEMPT_RT, и существуют различные отчеты о том, что попытка использовать их вместе с ядром PREEMPT_RT приведет к "случайным" зависаниям экрана.
Поэтому я искал другие решения в реальном времени для Linux и наткнулся на Xenomai, который не заменяет ванильное ядро, а вместо этого предоставляет отдельное безопасное в реальном времени ядро "Cobalt", которое работает с более высоким приоритетом, чем сами процессы ядра Linux, тем самым обеспечивая хост для процессов RT. Драйверы Nvidia будут нормально работать в ядре vanilla.
В моем понимании требование RT_PREEMPT не означает совершения каких-то определенных вызовов, но служит только для гарантии того, что вызовы выполняются один за другим, поскольку «речь идет о детерминизме, а не производительности». Расчет должен быть доставлен в правильное время
Так являются ли эти два решения взаимозаменяемыми? Можно ли настроить Xenomai для использования вместо RT_PREEMPT?