Executando o Ubuntu 20.04 no WSL2, gostaria de poder usar o agendamento em tempo real como um audio
membro normal do grupo. Em última análise, isso é para JACK. Tudo funciona como root mas isso não é o ideal.
Eu tenho
$ 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
Usando o verificador de configuração emhttps://github.com/raboof/realtimeconfigquickscanVejo que não consigo 'priorizar processos com chrt'. Então, para depurar o problema, estou tentando algo simples...
Com meu usuário normal eu tento
$ chrt -f 80 echo success
chrt: failed to set pid 0's policy: Operation not permitted
Mas como root
eu consigo
# chrt -f 80 echo success
success
Eu me perguntei se isso se devia ao agendamento do RT em grupo. Eu tenho
$ cat /proc/sys/kernel/sched_rt_period_us
1000000
$ cat /proc/sys/kernel/sched_rt_runtime_us
950000
que eu acho que são os valores padrão. As mesmas configurações funcionam bem em uma instalação nativa do Ubuntu 18.04 que estou executando em uma máquina diferente.
No entanto, vi alguns lugares sugerirem fazer
sysctl -w kernel.sched_rt_runtime_us=-1
para efetivamente desligá-lo. Mas isso não funcionou.
Quando comecei a seguir esse caminho, eu realmente não esperava que o JACK funcionasse no WSL2, mas o fato de o agendamento em tempo real funcionar como root me deixa esperançoso de que este seja um problema de configuração/permissões, e não uma limitação do WSL2. O que devo tentar a seguir?