Gentoo LinuxにALSAを導入して音声出力する方法
2014-10-29
こんにちは。今回のテーマは『Gentoo LinuxにALSAを導入して音声出力する方法』です。ALSAはAdvanced Linux Sound Architectureの略ですね。これまでGentooで動画等を見ていなかったので音を出す必要がなかったのですが、ALSAで音を出そうと思ったら少々手間取ったので備忘録を兼ね記事にしました。 ※筆者はsudoを導入していますのでroot権限が必要な部分はsudoコマンドを使っています。rootログインで作業する場合は$ sudoはroot #と読み替えて下さい。 [adsense02]
まずは自分のハード情報収集を
以下コマンドでサウンドボードの情報を取得しましょう。ここで得た情報は次のKernel設定で必要になります。lspciが見つからないと言われる場合はroot権限で実行して下さい。
$ sudo lspci | grep -i audio
Kernelの設定
Kernelの設定方法はいくつかありますが、今回はmenuconfigを使いましょう。以下コマンドでmenuconfig画面を出します。
$ cd /usr/src/linux $ sudo make menuconfig
ユーザーのaudioグループへの登録
Gentooではサウンドカードへのアクセスにはaudioグループへの登録が必要です。(Arch Linuxではローカルログインの場合はこの設定は推奨されていません)以下コマンドで登録していきます。
$ sudo gpasswd -a [user] audio
USEflagの変更
インストール時にUSEフラグに”alsa”を追加していた方は飛ばして頂いてOKです。 方法1.make.confファイルを直接編集する sudo またはroot権限で以下コマンドを実行します。
$ sudo vim /etc/portage/make.conf
USE部分にalsaを追記しましょう。 入力例
USE=“X minimal gtk -gnome -qt4 -kde dvd alsa cdr acpi git gzip""
方法2.euseを使う 以下コマンドを実行してalsaフラグをUSEに追加します。
$ sudo euse -E alsa
USEフラグの設定が終わったら設定をシステムに反映させましょう。
$ sudo emerge —changed-use —deep world
alsa-utilsのインストール
以下コマンドでalsa-utilsをインストールします。
$ sudo emerge —ask alsa-utils
ALSAサービスの起動
ここではOpenRCの場合の説明をします。systemdを導入している場合はsystemctlを使って下さい。 以下コマンドでALSAサービスを起動します。
$ sudo /etc/init.d/alsasound start
以下コマンドで起動時にサービスが起動するように登録しましょう。
$ rc-update add alsasound boot
AlsaMixerの起動
$ alsamixer
Kernelの設定が反映され、alsaがインストールされていれば以下のようにalsamixerが起動します。 もしalsamixerが起動してもハードが認識されない場合はKernelの設定を見直しましょう。またalsaサービスの状態を以下コマンドで確認して下さい。
$ rc-status -s
ミュートになっていると音がでませんので、ミュートを外してボリュームを調整しましょう。 設定が終わったらWebブラウザで動画を再生するなどして音声が再生されるか確認しましょう。
最後に
ArchやDebianでは音声が出なくてもalsamixerを起動してミュートを解除してやれば問題ないという認識だったのですが、Gentooではそもそもalsamixerが起動しないか、してもハードが認識できないという状況で少々慌てました。No Music, No Life! という方もGentooで良いLinuxライフを! [adsense]