Запустив Ubuntu 20.04 из WSL2, я хотел бы иметь возможность использовать планирование в реальном времени как обычный audio
участник группы. В конечном итоге это для JACK. Все работает как root, но это не идеально.
У меня есть
$ cat /etc/security/limits.d/audio.conf
# Provided by the jackd package.
#
# Changes to this file will be preserved.
#
# If you want to enable/disable realtime permissions, run
#
# dpkg-reconfigure -p high jackd
@audio - rtprio 95
@audio - memlock unlimited
#@audio - nice -19
Использование средства проверки конфигурации наhttps://github.com/raboof/realtimeconfigquickscanЯ вижу, что не могу «приоритизировать процессы с помощью chrt». Поэтому для отладки проблемы я пробую что-то простое...
С моим обычным пользователем я пробую
$ chrt -f 80 echo success
chrt: failed to set pid 0's policy: Operation not permitted
Но как только root
я получаю
# chrt -f 80 echo success
success
Я задавался вопросом, связано ли это с расписанием групповых RT. У меня есть
$ cat /proc/sys/kernel/sched_rt_period_us
1000000
$ cat /proc/sys/kernel/sched_rt_runtime_us
950000
которые, как я думаю, являются значениями по умолчанию. Те же настройки работают нормально на родной установке Ubuntu 18.04, запущенной на другой машине.
Тем не менее, я видел несколько мест, где предлагалось сделать
sysctl -w kernel.sched_rt_runtime_us=-1
чтобы эффективно отключить его. Но это не сработало.
Когда я впервые пошел по этому пути, я не ожидал, что JACK будет работать в WSL2, но тот факт, что планирование в реальном времени работает как root, вселяет в меня надежду, что это проблема конфигурации/разрешений, а не ограничение WSL2. Что мне попробовать дальше?