Pipelight
Pipelight は Windows でしか動作しないプラグインを Linux のブラウザで使えるようにする特殊なブラウザプラグインです。このプロジェクトでは Silvelight と DRM で保護された動画を視聴する機能などに主に焦点があてられています。Windows のプラグインを処理する Windows アプリケーションとネイティブの Linux ブラウザプラグインの間を埋めることで動作します。Windows アプリケーションはパッチが適用された Wine で動作するため、Pipelight を使うにはこのバージョンの Wine を使う必要があります。Pipelight は Firefox など NPAPI プラグインをサポートするブラウザで利用可能です。Chromium では動作しません。
目次
インストール
Pipelight はまだ公式リポジトリには入っていないため、AUR か、(Pipelight の開発者によってメンテされている) 非公式リポジトリの [pipelight] からインストールする必要があります。
AUR からインストール
Pipelight は AUR の pipelightAUR パッケージでインストールできます。
pipelight 非公式リポジトリからインストール
Arch Linux 用の Pipelight のビルド済みパッケージは pipelight 非公式リポジトリからインストールできます。このリポジトリは Pipelight の開発者によってメンテナンスされています。パッケージは既にビルドされているため、ソースから wine をコンパイルするのに無駄に時間を消費することはありません。64ビット環境を使っている場合は、まず Multilib リポジトリを有効にする必要があります。
ユーザーエージェント
Netflix などのサイトは Linux ブラウザでストリーミングするのを拒否するので、ブラウザのユーザーエージェントの文字列を変更してください。
動作するか確認する
このページ を見ることで正しくインストールされたか確認できます。また、about:plugins
でプラグインを確認することも可能です。
Silverlight における GPU アクセラレーション
デフォルトの挙動
Silverlight アプレットには enableGPUAcceleration
という名前のオプションが含まれていることがあり、ハードウェアアクセラレーションを使用するかどうか (つまり、動画の再生にグラフィックカードを使うか) をコントロールします。このオプションはウェブサイトの管理者の管理下にありますが、クライアント側から強制的にオプションを設定することも可能です (下を参照)。デフォルトでは、GPU アクセラレーションはカードとページがそれを必要とする認証済みのシステムでしか有効になりません。ここで、システムの確認は /usr/share/pipelight/hw-accel-default
にある bash スクリプトで実行されグラフィックカードのメーカーが確認されます。このスクリプトは glxinfo
ユーティリティに依存しています。glxinfo は mesa-demos パッケージに含まれています。Pipelight で正しくグラフィックの確認が行われるようにするにはこのパッケージをインストールする必要があります。
ハードウェアアクセラレーションの強制
enableGPUAcceleration
オプションを自分で制御してデフォルトでハードウェアアクセラレーションを有効にするには、以下の手順に従って下さい:
Silverlight のための Pipelight 設定ファイルがない場合は、ユーザーのホームディレクトリにデフォルトの設定ファイルをコピー:
$ cp /usr/share/pipelight/configs/pipelight-silverlight5.1 ~/.config/
そして作成されたファイル ~/.config/pipelight-silverlight5.1
を編集して以下の行を:
# overwriteArg = enableGPUAcceleration=true
次のように変更:
overwriteArg = enableGPUAcceleration=true
グラフィックカードの検出を無効化
Pipelight は複数のメーカーのグラフィックカードでテストされています。動作すると認められたカードだけがホワイトリストに入れられ、デフォルトで Pipelight のハードウェアアクセラレーションが有効にされます。この挙動はハードウェアの確認プロセスを無効化することで迂回できます。ただし、最初に確認プロセスの出力をチェックすることを推奨します。mesa-demos をインストールして以下を実行:
/usr/share/pipelight/hw-accel-default echo $?
0
が返ってくる場合、あなたのカードはホワイトリストに入っているカードであり、それ以外が返ってきた場合はホワイトリストに入っていません。その場合、検出を無効化することができます。まず Pipelight のデフォルトの Silverlight 設定ファイルをホームディレクトリにコピーして (上を参照)、次の行を:
silverlightGraphicDriverCheck = /usr/share/pipelight/hw-accel-default
以下のように変更して下さい:
silverlightGraphicDriverCheck = /bin/true
カスタム変数
Wine-Silverlight と Pipelight パッケージで使うことができるカスタム変数を説明します:
customprefix
- (wine と衝突しないように)
/usr
ではなく/opt
に Wine をインストール。
- (wine と衝突しないように)
_prefix
- インストール場所を指定することができます。
- pipelightAUR
_prefix
- インストール場所を指定することができます。デフォルトは
/usr
。
- インストール場所を指定することができます。デフォルトは
_wine
- Wine-Silverlight 実行可能ファイルの場所です。
例えば、Wine-Silverlight を /opt
にインストールするには:
- wine-silverlight:
customprefix=1
を設定してください。 - pipelight:
_wine=/opt/wine-silverlight
を設定してください。
他のプラグイン
Pipelight は Adobe Flash Player や Shockwave Player など他のブラウザプラグインのために使うこともできます。利用可能なプラグインを全て表示するには、次を実行:
$ pipelight-plugin --help
プラグインをグローバルに有効化するには:
# pipelight-plugin --enable plugin
もしくはローカルで有効化するには:
$ pipelight-plugin --enable plugin
トラブルシューティング
Chromium をアップグレードした後に Pipelight が動作しなくなる (バージョン35以上)
NPAPI のサポートは chromium から外されました。NPAPI をサポートするように自分でリコンパイルしたい場合、Michael Müller によるパッチがこのバグ [1] に付いています。元のパッチは: [2]。
動画の再生が速くて音声が流れない/品質が悪い
音声の品質が悪かったり再生にラグが生じる原因の一つとして PulseAudio の使用が考えられます。Pipelight は wine を使って音声の再生を処理するので、音声の出力モジュールを変更することで問題が解決するかもしれません。PulseAudio の代わりとしては ALSA が適任であり、以下のようにして有効にできます。
まず、winetricks プラグインをダウンロード・インストール・実行してください。
wget -O ~/.wine-pipelight/winetricks http://winetricks.org/winetricks chmod +x ~/.wine-pipelight/winetricks WINEPREFIX=~/.wine-pipelight WINE=/opt/wine-compholio/bin/wine WINEARCH=win32 ~/.wine-pipelight/winetricks
選択: "Select the default wineprefix" -> "Change Wine settings" -> "sound=alsa"
これで問題が解決したかテストしてみてください (ブラウザを再起動して Silverlight の動画を開く)。問題が解決しない場合、wine で音声の出力デバイスを analog に変更してください。wine の設定ユーティリティを実行:
WINEPREFIX=~/.wine-pipelight WINE=/opt/wine-compholio/bin/wine WINEARCH=win32 /opt/wine-compholio/bin/winecfg
Audio タブを開いて Output device を Out: HDA Intel - ALC1200 Analog
に変更します。
PulseAudio が原因の場合はこれで動画がラグる問題が解決するでしょう。ただし pulseaudio-alsa をインストールしている場合、ALSA の音声は PulseAudio を通過してしまいます。それでも問題が解決しない場合、PulseAudio を再起動してみてください。再起動は次を実行することで行えます:
pulseaudio -k
GNOME 3/Firefox のフルスクリーン問題
GNOME 3 では、フルスクリーンの pipelight ウィンドウは firefox で正しくフォーカスされません。この問題は devilspie を使うことで解決できます:
まず、公式リポジトリから devilspie をインストールしてください。
~/.devilspie
ディレクトリを作成:
# mkdir ~/.devilspie
次に、以下のファイルを作成:
~/.devilspie/pipelight-fullscreen-firefox.ds
(if (and (is (window_class) "Wine") (or (is (application_name) "Adobe Flash Player") (is (application_name) "Microsoft Silverlight") ) ) (begin (focus) ) )
最後に devilspie が自動起動するようにします。以下のファイルを作成することで起動するようになります:
~/.config/autostart/devilspie.desktop
[Desktop Entry] Name=devilspie Exec=devilspie Hidden=false NoDisplay=false X-GNOME-Autostart-enabled=true
Pipelight で中国語が全て豆腐化する
Silverlight は中国語のレンダリングに ”Microsoft Yahei” フォントを使います。中国語のレンダリングをするにはこのフォントのインストールが必須です (Windows OS などから)。
その他の既知の問題と解決方法は Pipelight FAQ に載っています。
PulseAudio を使っている場合に音が鳴らない
PulseAudio を使っていて Silverlight アプリケーションから音が鳴らない場合、wine で pulseaudio を使えるように libpulse と libalsa-plugins をインストールする必要があります。64ビット環境では lib32-libpulse と lib32-alsa-plugins を使って下さい。使用するオーディオデバイスは WINEPREFIX="/home/username/.wine-pipelight" winecfg を使って設定できます。
Tips
1080p の動画の再生をテスト
次のページで 1080p のストリーミングをテストできます: http://www.iis.net/media/experiencesmoothstreaming1080p