Pipelight
Pipelight は Windows でしか動作しないプラグインを Linux のブラウザで使えるようにする特殊なブラウザプラグインです。このプロジェクトでは Silvelight と DRM で保護された動画を視聴する機能などに主に焦点があてられています。Windows のプラグインを処理する Windows アプリケーションとネイティブの Linux ブラウザプラグインの間を埋めることで動作します。Windows アプリケーションはパッチが適用された Wine で動作するため、Pipelight を使うにはこのバージョンの Wine を使う必要があります。Pipelight は Firefox など NPAPI プラグインをサポートするブラウザで利用可能です。Chrome/Chromium や Opera では動作しません。
目次
インストール
Pipelight は pipelightAUR パッケージでインストールすることができます。
標準バージョン以外の Wine で Pipelight を使いたい場合、PKGBUILD の以下の変数を修正してください:
_prefix
- インストール場所を指定することができます。デフォルトは
/usr
。
_wine
- Wine-Silverlight 実行可能ファイルの場所です。
プラグインの管理
Pipelight では Silverlight, Adobe Flash Player/Shockwave Player などのブラウザプラグインを管理することができます。
プラグインをアップデートするには:
# pipelight-plugin --update
利用可能なプラグインを確認するには:
$ pipelight-plugin --help
プラグインをグローバルに有効化するには:
# pipelight-plugin --enable plugin
もしくはローカルで有効化するには:
$ pipelight-plugin --enable plugin
Mozilla Firefox でプラグインが表示されない
Firefox を実行しても有効にしたプラグインが about:plugins
に現れないときは、Mozilla Firefox を起動する前に以下のコマンドを実行してみてください:
# pipelight-plugin --create-mozilla-plugins
ユーザーエージェント
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
グラフィックカードの検出を無効化
以下の行を:
silverlightGraphicDriverCheck = true
以下のように変更してください:
silverlightGraphicDriverCheck = false
トラブルシューティング
Firefox と AppArmor で Silverlight プラグインにエラーが発生する
AppArmor と Firefox を使っている場合、Silverlight プラグインのロード時にエラーが表示されることがあります。AppArmor のプロファイルを編集・作成してください。
動画の再生が速くて音声が流れない/品質が悪い
音声の品質が悪かったり再生にラグが生じる原因の一つとして 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 と pulseaudio-alsa をインストールする必要があります。64ビット環境では lib32-libpulse と lib32-alsa-plugins を使って下さい。使用するオーディオデバイスは WINEPREFIX="/home/username/.wine-pipelight" winecfg
を使って設定できます。
Tips
1080p の動画の再生をテスト
次のページで 1080p のストリーミングをテストできます: http://www.iis.net/media/experiencesmoothstreaming1080p