Gentoo Linux上のPulseAudioのインストールに関する覚え書き(2008/9/4現在)
ここでは、オーディオデーモンの1つであるPulseAudioのGentoo Linuxへの導入に関する覚え書きの中の、システムに関する部分(主にパッケージのインストール)についてを扱う。
安定しているバージョンは?
0.9.9/0.9.10/0.9.11の3つのバージョンを試したところ、大きな不具合がなかったのはバージョン0.9.10だけだったので、ここでは主にバージョン0.9.10を扱う。
PulseAudioのライブラリを使用したパッケージの注意点
パッケージ「pulseaudio」にはPulseAudioを使用するためのライブラリが含まれるが、これを使用する外部パッケージをビルドしたときのPulseAudioのバージョンと実際に使用するPulseAudioのバージョンが一致していないと、挙動が怪しい。
例えば、バージョン0.9.9のPulseAudioがインストールされている状態で外部プレーヤをビルドした後、PulseAudioのバージョンを0.9.10系に上げたときに何か問題が起こった場合は、プレーヤ側の再ビルドも行ったほうがよい。
(2008/9/13)PulseAudioの新しいバージョン0.9.12を試した*1ところ、他のパッケージの再ビルドは行っていないが、動作は良好。
PulseAudioのUSEフラグについて
以下のUSEフラグは付けておくことを推奨。
- alsa: ALSAライブラリを経由してドライバへ出力する・dmix使用可
- jack: JACK Audio Connection KitのクライアントとしてPulseAudioを動かして、JACK対応アプリケーションと組み合わせることを可能にする(JACKを全く使用しないのであれば不要)
- avahi(「USE=dbus」指定が必要): PulseAudio Device Chooser(padevchooser)のために必要
この他、手元の環境では、GConfサポートの「gnome」USEフラグは外している。
avahiの衝突パッケージ
avahiをインストールしようとしたところ
[blocks B ] net-dns/avahi (is blocking net-misc/mDNSResponder-107.6-r5) [blocks B ] net-misc/mDNSResponder (is blocking net-dns/avahi-0.6.22-r1)
となってしまって入れられなかった。
$ equery depends mDNSResponder [ Searching for packages depending on mDNSResponder... ] kde-base/kdelibs-3.5.9-r4 (!avahi & !bindist? net-misc/mDNSResponder) kde-base/kdelibs-4.1.0-r1 (zeroconf & !bindist? net-misc/mDNSResponder) net-misc/ntp-4.2.4_p4 (zeroconf? net-misc/mDNSResponder) net-print/cups-1.3.8-r1 (zeroconf & !avahi? net-misc/mDNSResponder)
結局、衝突パッケージの「mDNSResponder」をKDE3のkdelibsのみが依存しているという状態(しかもavahiで置換可能)だったため、これを外してavahiに置き換えることでインストールはできた。
avahiのインストール後はOS起動時に自動起動するようにしつつ開始しておく。
$ sudo rc-update add avahi-daemon default $ sudo /etc/init.d/avahi-daemon start
動作に必要なデーモン
USEフラグのところで触れたが、PulseAudio Device Chooserが動作するためには「avahi-daemon」が動作している必要がある。
また、バージョン0.9.11系では「consolekit」も必要になった。
(2008/9/13)「consolekit」に関しては、設定ファイルdefault.paで「load-module module-console-kit」を記述している場合のみ必要。
システムのデーモンとして起動するか一般ユーザで起動するか
PulseAudioにはシステムのデーモンとして起動する方法と一般ユーザ権限で起動する方法があるのだが、一般ユーザで使用したほうが色々と融通が利くのでおすすめ。特に、JACK Audio Connection KitでALSAのhwプラグインを直接使用する場合には、jackdの起動後、JACKを使用するように設定した上で一般ユーザ権限でPulseAudioを起動することになる。
グループの設定
- realtime
- pulse
- pulse-access(システムのデーモンとして使用する場合)
の全てのグループに自分のユーザを追加する。
$ for g in realtime pulse-access pulse; do sudo gpasswd -a $(whoami) ${g}; done ユーザ [ユーザ名] をグループ realtime に追加 ユーザ [ユーザ名] をグループ pulse-access に追加 ユーザ [ユーザ名] をグループ pulse に追加
システムのデーモンとして使用する場合、これに加えて、ユーザ「pulse」を「realtime」グループに追加する。
$ sudo gpasswd -a pulse realtime ユーザ pulse をグループ realtime に追加
リアルタイム優先度やnice値
「JACK Audio Connection Kitの音飛びについてと、その対処」と同様に、「realtime」グループ*2のリアルタイム優先度やnice値を/etc/security/limits.confに設定する。
参考URL:
関連記事:
- JACK Audio Connection Kitの概要
- JACK Audio Connection Kitの音飛びについてと、その対処
- PulseAudioの設定(主にデーモン)に関する覚え書き
- x86_64版Gentoo Linuxの自前管理32bitライブラリのその後(2008/9/17現在)
- Wine上の音声をPulseAudioへ渡す
使用したバージョン:
- PulseAudio 0.9.9, 0.9.10-r51, 0.9.11-r2
- pavucontrol 0.9.5
- pavumeter 0.9.3
- paman 0.9.4
- padevchooser 0.9.3
- paprefs 0.9.6