LinuxにおけるPipeWireのインストールと設定方法

Pipewire Studio

2017年に登場して以来、PipeWireはPulseAudioを置き換える強力な競争相手と見なされてきましたが、その安定性にはまだ多くの問題が残っていました。数年後には、より確立されたLinux用のオーディオサービスとして強い評判を得たため、ユーザーはPipeWireへのアップグレードが本当に価値があるのかどうかに興味を持っています。この記事では、PipeWireの利点とPulseAudioを比較し、必要に応じてシステムに正しくインストールする方法をお伝えします。

目次

  • PipeWireとは?
  • PipeWireのインストール方法
  • よくある質問

PipeWireとは?

Linux上のオーディオは常にレイヤー構造を踏襲してきました:ドライバーをインストールすると、デバイスが動作しますが、アプリケーションは依然として独自の方法でそれに話しかけたいと考えています。このため、サーバーがユーザースペースでカーネルと“対話”し、カーネルがコンピュータのハードウェアと対話します。

Pipewire Control

Advanced Linux Sound Architecture(ALSA)は、アプリケーションとカーネルの間の良好でシンプルな仲介者として機能しますが、より高度なものが必要な場合、オーディオサーバーと呼ばれるものが必要です。

Pipewire Alsamixer

PulseAudioとPipeWireの両方は、カーネルが行うことにレイヤーを追加し、複数のアプリケーションがオーディオをストリーミングできるようにし、詳細なミキサーコントロール機能を提供し、商用オペレーティングシステムが提供するアプリケーションスイートの能力に匹敵するかそれを超える方法でオーディオストリームをリアルタイムで後処理することを許可します。

両者の違いは、PipeWireのレイヤーがビデオストリーミングの管理などの他の機能を追加すると同時に、PulseAudioが新しいユーザーにとって扱いにくくしたいくつかの問題を解消することです。

2017年の導入以来、PipeWireの安定性の問題は着実に解消されてきました。現在では、Fedora、ArchベースのManjaro、EndeavourOS、Garuda、さらにはUbuntu 22.10にも導入されるなど、さまざまなディストリビューションのデフォルトサウンドサーバーとなっています。

Pipewire Eq

多くの人々にとって、変更は非常にスムーズで、オーディオの使用能力がシステム上で広がったと感じるだけで済みました。これは、老朽化したPulseAudioフレームワークへの直接的なアップグレードとしての確立された評判の証です。

PipeWireへのアップグレードが簡単な選択肢だと考えるのは簡単ですが、私たちは一歩引いて、その決定の背後にあるニュアンスを探り、あなたがそのステップを踏む際に何にサインアップしているのかをより明確に理解できるようにしましょう。

利点

  • PipeWireは、以前はPulseAudioでは完全に動作しなかったさまざまなBluetoothオーディオデバイスのサポートを広範囲に持っています。Bluetoothハードウェアがディストリビューションで正しく動作しない場合、移行することで改善するかもしれません。
  • 多くのディストリビューションがすでにPipeWireをデフォルトのオーディオサービスとして含めており、ほぼすべての公式リポジトリからサポートを享受しています。
  • PipeWireは、複数のデバイスにオーディオをストリーミングする際のレイテンシーを大幅に効率的に処理します。
  • EasyEffects(以前のPulseEffects)などの後処理ツールは、リリースでPulseAudioのサポートを削除したり、すぐに削除する予定があるため、これらのアプリケーションが提供する柔軟性を維持するためにPipeWireに移行する必要があります。
  • 機能は、よりプロフェッショナルなオーディオセットアップやアプリケーションに興味がある人にとって親しみやすいです。
  • ビデオストリームのパイプラインをサポートしており、画面共有アプリケーションはより堅牢で安全な環境を享受できます。
  • PipeWireのサービススイートにはpipewire-pulseが含まれており、PulseAudioのAPIを使用するアプリケーションおよびオーディオ管理のサポートを拡張します。
  • 高負荷でのクリッキングが少なくなります。

短所

  • 設定は必ずしもPulseAudioから直接移行されるわけではありません。全く新しい設定方式を学ぶ必要があります。
  • PipeWireには直感的な接続ロジックがないため、オーディオ出力を聞き取り、適切にルーティングする他のサービスが必要です。これは必ずしも不利ではありませんが、セッションマネージャーを設定して高度な調整を行う方法を学ぶ必要があるため、面倒な場合もあります。
  • この文章が書かれている時点では変化しつつありますが、コミュニティのドキュメントやサポートは、PulseAudioほど広範ではありません。

ヒント: PulseAudioを使ってオーディオを別のデバイスにキャストする方法を見つけてください。

PipeWireのインストール方法

システムにPipeWireをインストールする準備ができたら、まずPipeWireがすでに動作していないことを確認する必要があります!

ターミナルにpactl infoを入力し、「Server Name」の下に何が表示されるかを確認します。括弧内に「on PipeWire」と表示された場合、すでにPipeWireを実行中です。

Pipewire Servercheck

ターミナルに「PulseAudio」のみが表示された場合、システムはPipeWireを実行していません。

1. システムのバックアップ

Pipewire Backup

何か問題が発生したときに戻る方法を確保してください!システムのバックアップを作成していない場合は、これ以上進む前に今すぐ作成してください。最も簡単な方法はTimeshiftを使用することですが、システムファイルの完全なバックアップを作成する他のユーティリティを使用することもできます。

2. サービスのインストール

すべてのPipeWireのインストールは基本サービスから始まります。おそらく、すでにディストリビューションによってインストールされているかもしれませんが、その場合でも以下のコマンドでインストールできます。

Archベースのシステムでは:

sudo pacman -S pipewire pipewire-alsa

Ubuntu/Debianベースのシステムでは:

sudo apt install pipewire

お役立ち情報: APTコマンドについてのすべてを学んでください。

3. セッションマネージャーのインストール

PipeWireには自身の接続ロジックがないため、セッションマネージャーをインストールする必要があります。WirePlumberは、より詳細な設定や体験を向上させるための追加プラグインを提供するものです:

Archベースのシステムでは:

sudo pacman -S wireplumber

Ubuntu/Debianベースのシステムでは:

sudo apt install wireplumber

簡素なバージョンを好む場合や、ディストリビューションの公式リポジトリにWirePlumberがない場合は、PipeWire Media Sessionをインストールすることもできます:

Archベースのシステムでは:

sudo pacman -S pipewire-media-session

Ubuntu/Debianベースのシステムでは:

sudo apt install pipewire-media-session

4. PulseAudioデーモンのインストール

システムの多くのアプリケーションが依然としてPulseAudioに呼びかけているため、オーディオを正常に動作させるには、PulseAudioのものの呼びかけをリッスンするPipeWireのデーモンをインストールする必要があります。

Archベースのシステムでは:

sudo pacman -S pipewire-pulse

Ubuntu/Debianベースのシステムでは:

sudo apt install pipewire-pulse

5. PulseAudioの痕跡を取り除く

PulseAudioの削除を確認しなければならなかった場合は、このステップをスキップしてかまいません(通常はpipewire-pulseとの衝突など)。

そうでない場合、PulseAudioがクエリを試みないように、システムからPulseAudioを削除することが重要です。

Archベースのシステムでは:

sudo pacman -Rns pulseaudio

Ubuntu/Debianベースのシステムでは:

sudo apt remove pulseaudio

6. サービスを準備する

インストールおよびアンインストールしたすべてのパッケージの準備が整ったので、PipeWireを立ち上げる時が来ました。

まず、pulseaudioのサービスの残骸を取り除きます:

systemctl --user --now disable pulseaudio.service pulseaudio.socket  
systemctl --user mask pulseaudio

PipeWireのサービスを有効にします。WirePlumberをインストールした場合は:

systemctl --user --now enable pipewire pipewire-pulse wireplumber

PipeWire Media Sessionをインストールした場合は:

systemctl --user --now enable pipewire pipewire-pulse pipewire-media-session

システムを再起動した後、PipeWireは完璧に動作するはずです!

ヒント: Linuxシステムで音が出ない場合、こちらでその修正方法を見つけることができます。

よくある質問

ALSAだけを使用できますか?

システム上でALSAを単独で実行することはできますが(特にデスクトップ環境ではなくウィンドウマネージャを使用する場合)、おそらく楽しめないでしょう。ALSAは一度に一つのオーディオストリームしか再生できません。これは悪く聞こえないかもしれませんが、通知音がビデオを見ている最中に再生しようとすると、システムが予測不可能な動作をする可能性があります。ALSAの上にオーディオサーバーを使用する方が便利ですが、少しのメモリオーバーヘッドが発生することは確かです。

Linux Mint CinnamonにPipeWireをインストールできますか?

もちろん可能です!Cinnamonには、適切なPipeWireのインストールを完了したときにオーディオウィジェットが表示されない少し恐ろしい瞬間がありますが、指示に従って再起動すれば再び表示されます。PulseAudioの残骸は必ず削除してくださいと指示に記載されているので、それを守れば問題なく動作します!

スリープから復帰後、オーディオの問題を解決するには?

コンピュータがスリープから目覚めると音が出なくなる場合、ALSAが正しく初期化されなかったことが原因の可能性が高いです。これは時々発生します。こういった場合には、手動でALSAを初期化することで問題を解決できます:alsactl init

これを行えば、すべてのオーディオの悩みが消えるはずです!

画像クレジット: pxhere