Linuxを日常的に使う実験ブログ

Gentoo LinuxにALSAを導入して音声出力する方法

 2014-10-29

 Gentoo Linux

こんにちは。今回のテーマは『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

出力例 01

Kernelの設定

Kernelの設定方法はいくつかありますが、今回はmenuconfigを使いましょう。以下コマンドでmenuconfig画面を出します。

$ cd /usr/src/linux $ sudo make menuconfig

02 今回はIntelのHDなのでその部分も設定します 03

ユーザーの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が起動します。 04 もしalsamixerが起動してもハードが認識されない場合はKernelの設定を見直しましょう。またalsaサービスの状態を以下コマンドで確認して下さい。

$ rc-status -s

ミュートになっていると音がでませんので、ミュートを外してボリュームを調整しましょう。 設定が終わったらWebブラウザで動画を再生するなどして音声が再生されるか確認しましょう。

最後に

ArchやDebianでは音声が出なくてもalsamixerを起動してミュートを解除してやれば問題ないという認識だったのですが、Gentooではそもそもalsamixerが起動しないか、してもハードが認識できないという状況で少々慌てました。No Music, No Life! という方もGentooで良いLinuxライフを! [adsense]