コマンドでリアルタイムのmidiおよびalsaスレッドの予約が必要な場合、systemdサービスでエラーが発生しました。

コマンドでリアルタイムのmidiおよびalsaスレッドの予約が必要な場合、systemdサービスでエラーが発生しました。

次のサービス単位ファイルがあります。

Type=simple
User=meghdad
ExecStart=/etc/startpianoteq.sh


[Unit]
Description=Pianoteq using a preset

[Install]
WantedBy=multi-user.target

このサービスは、オーディオおよびMIDIスレッドへのリアルタイムアクセスを必要とするPianoteqというプログラムを実行します。ただし、サービスを実行した後、「Midiスレッドがライブスケジュールを取得できませんでした。エラー1 - 操作は許可されていません」というエラーが発生します。

このスクリプトは 1 行のスクリプトであり、Pianoteq 実行可能ファイルを呼び出します。

スクリプトを手動で実行できます。したがって、設定の問題です。

答え1

#archlinuxチャンネルに質問して答えを見つけました。

サービス定義ファイルのサービスセクションに以下を追加する必要があります。

LimitRTPRIO=infinity
LimitMEMLOCK=infinity
LimitRTTIME=infinity

詳細については、ここをクリックしてください。

関連情報