從 WSL2 中執行 Ubuntu 20.04 我希望能夠作為普通audio
群組成員使用即時調度。最終這是為了傑克。一切都以 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 的限制。接下來我該嘗試什麼?