Gentoo LinuxにALSAを導入してYouTubeを視聴可能にする

概要

先日、Gentoo Linuxのデスクトップ環境上でYouTubeを視聴したところ、動画は再生されるものの、音声が出力されないことに気がつきました。

Gentoo Linux デスクトップ環境をカスタマイズして快適にする

以前この記事で、自分にとって快適なデスクトップ環境にセットアップしました。しかし、日頃YouTubeで音楽を堪能する自分にとって、音声が出ない環境は快適とは言えません。

そこで、今回はLinux標準のサウンドシステムであるALSAを新たに導入し、YouTubeを視聴できるようにします。

環境

ALSAとは?

ALSA(Adavanced Linux Sound Architecture)とは、サウンドカードのデバイスドライバやライブラリを提供する、Linux標準のサウンドシステムのことです。

今回は詳細なサウンドシステムの中身を理解することが目的ではないので、大まかにイメージするための必要最小限な説明にさせていただきます。

ALSAのシンプルな構成は以下のようなイメージです。

アプリケーションはこのようにALSAが提供するライブラリを介して、デバイスドライバにサウンドカードを操作する処理(音声の出力等)をお願いします。

今回のYouTubeの音声が出力されない問題の原因は、ALSAという仲介役が存在せず、YouTubeがどうサウンドカードを操作すればよいか分からなかったからです。

それでは実際にALSAを導入していきます。

サウンドカードの確認

まずはPCに備わっているサウンドカードの種類をlspciコマンドで確認します。

# lspci | grep -i audio
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 04)

以上の結果から、intel製のサウンドカードが使用されていることが分かります。

カーネルオプションの変更

ALSAが提供するデバイスドライバはカーネルモジュールなので、カーネルオプションを設定して再ビルドする必要があります。

カーネルのソースディレクトリに移動し、menuconfigをターゲットにしてmakeコマンドを実行します。

# cd /usr/src/linux
# make menuconfig

文字ベースのメニューが表示されるので、自分のサウンドカードに対応するデバイスドライバモジュールを探します。

以下の階層にあるHD Audio PCIをモジュールとして切り出します。

Device Drivers --->
    <*> Sound card support
        <*> Advanced Linux Sound Architecture --->
            HD-Audio --->
                <M> HD Audio PCI

以下ヘルプの通り、HD Audio PCIを有効にすることで、intel製サウンドカードに対応するモジュールが設定されます。

次にコーデックというデータの符号化や復号をするプログラムのサポートもモジュールとして切り出します。

以上でカーネルオプションの設定は終了です。カーネルをビルドします。

# make & make modules_install
# make install

USEフラグの変更

次にグローバルUSEフラグにalsaを設定し、PortageにALSAサポートを有効にしてシステムを更新します。グローバルUSEフラグって何?となった方は、以下の記事を参考にしてください。

パッケージ管理システムのPortageを擬人化して基本機能を図解する

# euse -E alsa
# emerge -aUD @world

サービス起動

ALSAのテストツールなど、様々な便利グッズを提供する以下のパッケージをインストールします。

# emerge -a alsa-utils

ではALSAを起動し、ブート時から自動起動するように設定します。

# rc-service alsasound start
# rc-update add alsasound boot

ミキサーの設定

alsamixerコマンドを使用し、ミキサー画面が開けるかどうか確認します。

# alsamixer

無事ALSAがインストールできていれば、以下の画面が表示されます。

現在の設定だと、MMマークがついており、ミュート状態になっています。なので、mキーを押してミュートを解除します。

ミュートが解除されるとこのように00マークになります。また、ミュートを解除したものの、音量が0だったため、最大限にあげています。とりあえず音量は小さすぎなければいいと思います。

スピーカーのテスト

それでは実際に音声が出力されるか、以下のコマンドでテストします。

# speaker-test -t wav -c 2

正常にシステムにサウンドカードが認識されていて、ALSAが機能していれば、英語のテスト音声が聞こえます。

YouTubeを視聴する

テスト実施後、実際にYouTubeを視聴してみます。

すると無事に動画が再生されるだけでなく、音声も出力されるようになりました。

最後に

今回こうしてYouTubeを視聴することができるようになったので、現時点では自分に快適な環境になったかと思います。

多機能で便利なのは、依然として自分のMacbook Airなのですが、必要最小限のシンプルのかっこよさという点ではこのGentooが圧倒的です。

これからもメインのMacbook Airに負けないデスクトップ環境を目指してカスタマイズしていこうと思います。

Comments

Copied title and URL