WSL2에서 루트 없이 실시간 예약으로 프로세스 시작

WSL2에서 루트 없이 실시간 예약으로 프로세스 시작

audioWSL2 내에서 Ubuntu 20.04를 실행하면 일반 그룹 구성원 으로 실시간 예약을 사용할 수 있기를 원합니다 . 궁극적으로 이것은 JACK을 위한 것입니다. 모든 것이 루트로 작동하지만 이상적이지는 않습니다.

나는 가지고있다

$ 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에서 작동할 것이라고는 실제로 기대하지 않았지만 실시간 예약이 루트로 작동한다는 사실을 통해 이것이 WSL2의 제한 사항이 아니라 구성/권한 문제일 것이라는 희망을 갖게 되었습니다. 다음에는 무엇을 시도해야 합니까?

관련 정보