At Wed, 04 Jun 2014 21:13:29 +0900, 野宮 賢 / NOMIYA Masaru wrote:
野宮です.
In the Message;
Subject : Re: [opensuse-ja] Re: kernelをupdateすると、soundが詰まる Message-ID :
Date & Time: Wed, 04 Jun 2014 07:21:38 +0200 Takashi Iwai
has written: 3.13.x とその後のカーネルで、/proc/asound/card*/pcm0p/sub0/prealloc の中身を確認してみて下さい。この値が pre-allocate されるバッファのサイ ズです。
3.13.11でも3.14.4でも、prealloc なるものが存在しません... (_ _?
"find /proc/asound -name prealloc" を実行すると何か表示されせんか?
# find ./ -name prealloc
を実行しますと、
./asound/card1/pcm9p/sub0/prealloc ./asound/card1/pcm8p/sub0/prealloc ./asound/card1/pcm7p/sub0/prealloc ./asound/card1/pcm3p/sub0/prealloc
が表示されます.これは、今朝も気付いていたのですが、card1 がオンボード のNVidia chip のものなので、除外していました.が、よくよく考えると、
NVidia -> card1
なるリンクの存在するのが不思議で..... (_ _?
つまり、YaST2上では、「未設定」の状態にしてあります.なのに、何故、 card1 となるのだろう、というのが今日1日頭から離れませんでした.
blacklist されてない限りドライバ自体はロードされます。 で、おそらく slots オプションで USB オーディオが index 0 となるように 設定されてるのだと思います。ということで、その次の index 1 が自動的に アサインされるわけです。
ともあれ、上記のprealloc の値は、3.13.13、3.14.4 の何れでも同じで 1024 です.
なるほど、野宮さんは USB オーディオでのみ確認されてるわけですね。
USB オーディオドライバはバッファの preallocation は行ってないので、
上記の proc ファイルはないのです。
代わりに、/proc/asound/card0/pcm0/sub0/hw_params ファイルを再生中に調
べて見てください。再生中だと
access: MMAP_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 48000 (48000/1)
period_size: 1024
buffer_size: 16384
みたいな感じで表示されると思います。
この値がカーネル間で異なるかチェックして下さい。
--
Takashi Iwai