この記事は古くなっています。FedoraCore やTurboLinux など最近のRHL系Linuxでは、最新のサウンドカードで無い限り、インストール時にサウンドデバイスは認識されると思います。記録に残しています。(2005/10)
TurboLinux 6 WorkStation において、サウンドデバイスを認識させたときのメモです。
TurboLinux-6 は2.2カーネルになりますが、初期のバージョンではサウンドがサポートされていません。kernel-2.2.18 rpm へ上げることでサウンドがサポートされます。セキュリティの問題が指摘されていますので、TurboLinuxのサイトからkernel- 2.2.18のrpmアップデータを入手してアップデートすることをお勧めします。
カーネルサイトから最新のソースファイルを落として環境に合わせてコンパイルしても構いません。その場合、ConfiguresionのSoundの項目でSoundCard SupportをYesに設定する必要があります。 また、PCIバスに拡張してあるサウンドカードの詳細は、
で調べることが出来ますが、Configuresionにおいて、サウンドカードのチェックは必要ありません。alsaを使って認識させる場合は、SoundCard SupportのみYesとして下さい。
また、alsa関連もアップデートして於いて下さい。
2.2.xとは逆に、サウンドのサポートを外さなければなりません。詳しくは説明しませんがalsa-driver,alsa-lib,alsa- utils,alsaconfがパッケージに無ければ、ディストリビュータのFTPサイトにアップされていないか、無ければ本家サイトから最新の物をダウンロードしインストールを行う必要があります。
手順
/etc/module.conf をバックアップします。後に設定がうまくいかなかった場合、更新されたmodule.confと比較し、変更された箇所を消さないと上手く再設定できない場合があります。TurboToolsのturboserviceでSoundの設定を外します。soundが既に起動している状態ではサービスを停止させることが出来なかったのでシステム起動時にsoundサービスが開始されないように[advamced]を選んで runlevelのチェックを全て外します。
逆に、alsasound はシステム起動時にサービスが開始されるようにチェックを入れ、linuxを再起動します。これを行わなければリソースの衝突が起きてalsaドライバで認識することが出来ませんので注意して下さい。先ずは現在拡張してるサウンドカードのチップを確認します。
この例では、Vibra を使用しています。チップはes1371であることがわかります。
次にサウンドデバイスを作成します。この作業で
サウンドカード固有の設定を行います。
サウンドボード(SoundBlasterシリーズ)
を選択
1枚目のカードを示します。OKであれば次に進みます。 2枚目なら CARD_2となるので注意(2枚も何に使うのかよく解らないが)
録音レベルとも同じように質問されるので4-128の間で答えます。最後にレベルの調整画面が現れるので入力、出力レベルを再調整する。この地点で既にサウンドカードは認識されています。適当な音楽CD-ROMなど入れて音を鳴らしながら確認すると便利。設定内容は/etc/module.confに保存されます。
基本的にインターネットサーバーにサウンドカードは必要ないので、付けなくても問題はありません。2001.9現在、TurboLinuxの rpmパッチを当てたTL6でのalsaで認識可能な製品を以下に示します。
Gravis_UltraSound_Classic
Gravis_UltraSound_Extreme
Gravis_UltraSound_ACE
Gravis_UltraSound_MAX
Gravis_UltraSound_PnP
Dynasonic_3-D/Pro
SoundBlaster_1.0
SoundBlaster_2.0
SoundBlaster_Pro
SoundBlaster_16_(PnP)
SoundBlaster_AWE_32_(PnP)
SoundBlaster_AWE_64_PnP
ESS_AudioDrive_ESx688
Yamaha_OPL3-SA2/SA3
OAK_Mozart
S3_SonicVibes_PCI
Ensoniq_AudioPCI_ES1370
Ensoniq_AudioPCI_ES1371
Sound_Blaster_PCI_64
Sound_Blaster_PCI_128
Sound_Blaster_Vibra_PCI
CS4232/CS4232A
CS4235/CS4236B/CS4237B/CS4238B/CS4239
UltraSound_32-Pro
ESS_Solo-1_ES1938/ES1946
ESS_AudioDrive_ES18XX
Soundcards_based_on_CS4231_chips
OPTi_82C9xx_chips
Serial_MIDI_driver
Soundcards_based_on_AD1848/AD1847/CS4248_chips
Trident_4DWave_DX
Trident_4DWave_NX
Aztech_Sound_Galaxy
Soundcards_based_on_CS4610/CS4612/CS4614/CS4615/CS4280
Turtle_Beach_WaveFront_series
Soundcards_based_on_C-Media_CMI8330_chips
Dummy_soundcard
Advance_Logic_ALS100
Sahred_card
Sound_Blaster_Live!
Sound_Blaster_PCI_512
MidiMan_M_Audio_Delta_1010
MidiMan_M_Audio_Delta_DiO_2496
MidiMan_M_Audio_Delta_66
MidiMan_M_Audio_Delta_44
Chips_on_Analog_Devices_AD1816A/AD1815
Intel_i810,i810E,i815,i820,i830,i840,MX440
ESS_Maestro-1/2/2E_(ES1968/ES1978)_chips
VIA82C686A
YAMAHA_PCI_SOUND
ここにないサウンドカード(SoundBlaster互換カードなど)でも認識する場合があります。
Sound_Blaster_PCI_128 Sound_Blaster_Vibra_PCI
説明した方法で難なく認識しました。Sound BlasterのPCIカードが無難な気がします。Sound Blasterでも新しめの製品は避けた方が良さそうです。
カーネルを2.2.18から2.4.18へアップグレードした際、コンフィグレーションに問題があったのか、Alsaが正常に動作しなくなってしまったので、今回はFreeOSSを使ってサウンドを鳴らしてみることにしました。
カーネルの再構築が必要となります。再構築とコンフィグレーションについては以下で説明しています。
カーネルのソースディレクトリへ移動し、
でコンフィグレーション(設定)を行います。
以上のように設定しました。 本来なら、サウンドカードのモジュールは必要なものだけにしますが同じ製品名でも使用できない場合があります。revの差による仕様変更などが主な理由ですがその際に他の製品のモジュールとして準備しておくとカーネルを再構築することなく他のモジュールを試すことが出来ます。
#If you want to use i810, uncomment the next alias.
#alias char-major-10-175 agpgart
alias net-pf-5 appletalk
alias eth0 tulip
alias net-pf-6 off
alias net-pf-10 off
keep
path[extra]=/lib/modules/`uname -r`
path[usb]=/lib/modules/`uname -r`
path[pcmcia]=/lib/modules/`uname -r`
alias parport_lowlevel parport_pc
#alias sound es1371
alias sound-service-0-6 es1371
alias sound sb
alias midi opl3
options sb io=0x240 irq=5 dma=3 dma16=5 mpu_io=0x300
options opl3 io=0x388
カーネルの再構築が完了したら、再起動する前にturboserviceで起動設定を行います。alsasoundサービスを停止し、runrevelのチェックを全て外し起動しないように設定します。また、逆にsoundサービスはrunlevelのチェックを入れシステム起動時にサービスを開始できるように設定します。
VIBRAにはEnsoniqと違いmidi デバイスがありません。が、Ensoniqと認識されているので
alias midi opl3
は必要ないと思います。
もし、サウンドが鳴らないのであれば
# tail -f /var/log/massages
を確認します。私はモジュールの部分で躓きました。ログの内容から
#alias sound es1371
alias sound-service-0-6 es1371
に変更することでサウンドが鳴るようになりました。