ALSA 1.0.18a
2009/10/15 追記:9.04ではノイズの問題は解決しており下記対策は必要ないです!
2009/10/23 追記:9.04のカーネルアップ(2.6.28-16-generic)で音が出ない症状が発生。対策はこちら。
2010/05/05 追記:10.04(2.6.32-21-generic)では下記のトラブルは発生しません。
GHawkさんから、上海からでもUbuntuの日本のaptリポジトリが速くなったとの話を聞いてさっそく変更。確かに速くなってる。あ、でも速度にムラがあるみたい・・・・
ただ、shlugやlupaworld、rootguideといったUbuntu公式のミラーでもミラーリングが遅かったりパッケージが壊れてたりすることを考えると日本のリポジトリで良いかも。
で謎なことに、リポジトリを変えたらまたしてもカーネルが振ってきた。
っていうか同じ(2.6.24-21-generic)なんだけどな・・・なんでだろ
□ ALSA1.0.18aのインストール
で、カーネルが更新されちゃったので前に書いた方法でALSA再インストール、ついでにALSA1.0.18aに変更、前はrc3を利用してた。
ただ、現状のUbuntu8.04.1のカーネル(2.6.24-21-generic)ではコンパイルできないソースが出た。具体的には、下記のエラーが出る。
/usr/local/src/alsa-1.0.18a/alsa-driver-1.0.18a/acore/../alsa-kernel/core/hrtimer.c:29:
error: implicit declaration of function ‘hrtimer_forward_now’
要するに、hrtimer_forward_now関数がないよーって言ってる。
ちなみにrc3の時はalsa-driver-1.0.18a/acore/hrtimer.cは存在しなかった。
これはconfigureでカードを指定することで回避できた。
それとalsa-utilのmakeでxmltoを使い始めたみたいで、xmltoも入れた。
sudo apt-get install xmlto
で、手順を修正。
▽ 手順:
先にALSA公式ページからソースをDLしとくこと
(1) alsa-driver-1.0.18aについて下記実行
sudo ./configure --with-cards=hda-intel,ca0106
sudo make
sudo make install
#ca0106は後述のSoundBlaster5.1VXのために入れた。AL622だけならhda-intelだけでOK
(2) alsa-lib-1.0.18a, alsa-utils-1.0.18aについてそれぞれ下記実行
sudo make clean
sudo ./configure
sudo make
sudo make install
(3) Ubuntuの場合、なぜかドライバディレクトリがずれてるので、シンボリックリンクを作る。(もっといい方法があるかも、ALSAのconfigureで指定とか)
sudo mv /lib/modules/2.6.24-21-generic/ubuntu/sound/alsa-driver \
~/tmp/alsa-driver.2.6.24-21
sudo ln -s /lib/modules/2.6.24-21-generic/kernel/sound \
/lib/modules/2.6.24-21-generic/ubuntu/sound/alsa-driver
(4) 初回のみ、サウンドポートの設定を追加する。これはM/Bによって違う。背面にジャックが3ポートの一般的なの。
/etc/modprobe.d/alsa-baseの一番下に下記追加
options snd-hda-intel model=3stack-6ch
で、続きの方にALSAのSoundBlaster 5.1VX対応の噂・・・
▽ SoundBlaster 5.1VX対応か!?
ここで耳寄りな情報が・・・・、動かないからお蔵入りにしてたSoundBlaster 5.1VXが動くらしい!!
http://mailman.alsa-project.org/pipermail/alsa-devel/2008-October/011333.html
で、さっそくalsa-1.0.18a/alsa-driver-1.0.18a/pci/ca0106/ca0106_main.cのca0106_chip_details宣言の中に下記を追加してみましたよ。
/* Sound Blaster 5.1vx */
/* SB1070:
* CTRL:CA0106-DAT
* ADC&DAC: WM8772S(74AAWR2)
*/
{ .serial = 0x10041102,
.name = "Sound Blaster 5.1vx [SB1070]",
.gpio_type = 1,
.i2c_adc = 1,
.spi_dac = 1 } ,
結論から言うと"ADCの書き込みに失敗した"と言って動かないwもちろん意味はわかんない。
[ 33.466635] ALSA /usr/local/src/alsa-1.0.18a/alsa-driver-1.0.18a/pci/ca0106/ca0106_main.c:444: Writing to ADC failed!
つーことで、もうしばらくお蔵入り。
あ、この5.1VX、こんな改造すると音が良くなるらしい。ってか、まず音出せよ俺!
ああ、あとそんな過程で見つけたLinuxのサウンドシステムの仕組みのドキュメント。
[debian-users:42996] Re: サウンドが鳴る仕組みについて
▽ Takashi Iwaiさんって?
ちなみにこの情報をもたらしたZhi XiongさんにレスしてるTakashi IwaiさんはSuseのラボでALSAの開発を担当されてる日本人。前からMLログとかで名前を見て日本人だすげーとか思ってたら、超有名な人らしい。超頭良さそうな人だ・・・・。
http://blog.ohwada.jp/archives/2003/12/_alsa.html



Comments
No comments yet
Add Comment