Startvorgang mit Echtzeitplanung ohne Root in WSL2

Startvorgang mit Echtzeitplanung ohne Root in WSL2

Wenn ich Ubuntu 20.04 innerhalb von WSL2 ausführe, möchte ich die Echtzeitplanung als normales Gruppenmitglied verwenden können audio. Letztendlich ist dies für JACK. Als Root funktioniert alles, aber das ist nicht ideal.

Ich habe

$ 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

Mit dem Konfigurations-Checker unterhttps://github.com/raboof/realtimeconfigquickscanIch sehe, dass ich mit chrt keine Prozesse priorisieren kann. Um das Problem zu beheben, versuche ich etwas Einfaches ...

Mit meinem normalen Benutzer versuche ich

$ chrt -f 80 echo success
chrt: failed to set pid 0's policy: Operation not permitted

Aber wie rootich bekomme

# chrt -f 80 echo success
success

Ich habe mich gefragt, ob dies an der Gruppen-RT-Planung lag. Ich habe

$ cat /proc/sys/kernel/sched_rt_period_us
1000000
$ cat /proc/sys/kernel/sched_rt_runtime_us
950000

das sind meines Erachtens die Standardwerte. Dieselben Einstellungen funktionieren bei einer nativen Installation von Ubuntu 18.04, die ich auf einem anderen Rechner laufen habe, einwandfrei.

Dennoch habe ich an einigen Stellen gesehen, dass

sysctl -w kernel.sched_rt_runtime_us=-1

um es effektiv auszuschalten. Aber das hat nicht funktioniert.

Als ich diesen Weg zum ersten Mal einschlug, erwartete ich nicht wirklich, dass JACK in WSL2 funktioniert, aber die Tatsache, dass die Echtzeitplanung als Root funktioniert, lässt mich hoffen, dass es sich hier eher um ein Konfigurations-/Berechtigungsproblem als um eine Einschränkung von WSL2 handelt. Was sollte ich als Nächstes versuchen?

verwandte Informationen