[ubuntu-jp:6433] Re: ardour のセッションを開始することができない
Takashi Sakamoto
o-takashi @ sakamocchi.jp
2021年 6月 20日 (日) 12:06:01 UTC
On Sun, Jun 20, 2021 at 02:29:26PM +0900, Arthr5592 wrote:
> 上田と申します。
>
> Ubuntu 20.04 の ardour を、以下の手順で開始しようとすると、
> 「オーディオデバイスを開くのに失敗しました」となり失敗します。
>
> (1) ターミナルから ardour5 を実行
> (2) セッション設定のウィンドウで、「新規セッション」
> (3) セッション設定ウィンドウで、適当なセッション名を入力し「開く」
> (4) オーディオ/MIDI セットアップウィンドウで、「スタート」
> (5) 「オーディオデバイスを開くのに失敗しました」のメッセージウィンドウが表示され、「OK」
> (6) オーディオ/MIDI セットアップウィンドウに戻り、ウィンドウを閉じる
> (7) 読み込みエラーのウィンドウが表示され、
> 「セッションを作成できません:オーディオ/MIDI エンジンに接続できません」となる
> (8) (7) と同時にターミナルには、下記のエラーが表示される
>
> Errors/Messages:
> WARNING: ardour-request-device binary was not found..'
> ERROR: AlsaAudioBackend: failed to allocate parameters.
> INFO: /usr/share/ardour5/patchfiles から 88 MIDI パッチを読み込み中
>
> ---------
>
> ハードウェアの情報は、以下のとおりです。
>
> Computer FUJITSU LIFEBOOK WU-X/E3
> Processor 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
> Memory 8GB
> Audio Adapter sof-hda-dsp
>
> 同様な事象をご存知な方、いらっしゃいますか?
たぶん、ALSAPCMデバイスにhw_paramsを設定するプロセスでエラーを起こして
いるんじゃないかと思います。が、sof-hda-dspなデバイスを所有していないので、
正直よくはわかりません。慣れている方であれば、strace(1)使って
ioctl(SNDRV_PCM_IOCTL_HW_PARAMS)呼び出しの戻り値をトレースすると、より
見当をつけることができそうです。ardourのAlsaAudioBackendが、ちゃんとした
デバッグメッセージング機構を持っていないのが残念です・・・。
思いつく心当たりは以下でしょうか。
alsa_snd_pcm_hw_params() on Ubuntu 20.04 started returning an unexpected
-ENOMEM · Issue #125 · alsa-project/alsa-lib
https://github.com/alsa-project/alsa-lib/issues/125
Ubuntuカーネル設定(CONFIG_SND_HDA_PREALLOC_SIZE=0)とALSAのHDAバスドライバの
バグの合わせ技で、長大なメモリーをDMA転送用に予約しようとしちゃってエラーに
なるというものです。
いちおう、ワークアラウンドは見つけてありまして、procfsのノード経由で
CONFIG_SND_HDA_PREALLOC_SIZE相当の設定値を与えてやる、というものです。
使おうとしているサウンドカードIDとALSA PCMデバイスIDがわかっている必要が
ありますが、こんな感じです。
$ sudo -i
# echo 64 > /proc/asound/card0/pcm3p/sub0/prealloc
# exit
よくわからない場合は、以下のノードの出力と、どのPCMデバイスを使おうとして
いるのか教えていただければ、コマンドライン例をお教えします。
$ cat /proc/asound/pcm
さかもと
ubuntu-jp メーリングリストの案内