Skip to content
dynamis edited this page Jul 19, 2021 · 1 revision

Gecko 本体以外の追加レシピについて

Gecko (Firefox/WebViewer) 本体以外に追加のレシピをビルドする場合について説明します。

Tanzanite デモ

サンプルHTMLコンテンツ「gem-tanzanite」をインストールしたい場合は、以下の手順を行う。

meta-gecko-embeddedのclone

$ git clone https://github.com/webdino/meta-gecko-embedded.git 

レイヤーを追加する。ビルドディレクトリ(${WORK}/build)のconf/bblayers.confに以下を追加する。

BBLAYERS += " ${TOPDIR}/../meta-gecko-embedded/meta-demo "

gem-tanzaniteの起動イメージへの追加。ビルドディレクトリ(${WORK}/build)のconf/local.confに以下を追加する。

IMAGE_INSTALL_append = " gem-tanzanite " 

以上の設定でrootfsイメージを再ビルドする。

$ cd ${WORK}/build
$ bitbake core-image-weston

WPT テスト

WPT テストを行いたいときは動画・音声コーデックが必要なので ffmpeg を追加し、pulseaudio-server を使って PulseAudio で音声再生が可能なようにする。

IMAGE_INSTALL_append = " ffmpeg "
IMAGE_INSTALL_append = " pulseaudio-server "

以上の設定でrootfsイメージを再ビルドする。

$ cd ${WORK}/build
$ bitbake core-image-weston

/usr/lib/firefox/defaults/pref/openmax.js に以下の行を追加して、OpenMAXモジュールが優先してvideoタグの動画・音声を処理するのを防ぐ。

pref("media.omx.enabled", false);

PulseAudioはsystemctl経由で強制的に立ち上げることができる。

# systemctl --user start pulseaudio

使用するオーディオデバイスを変更するには、pactlコマンドでデバイス名を確認した後、設定ファイルに書き込む。

sinkデバイスの名前を調べる:

# pactl list sinks | grep Name
        Name: alsa_output...

set-default-sinkにデバイスの名前(ここでは alsa_output...)を与え、pulseaudioを再起動する:

# echo "set-default-sink alsa_output..." >> /etc/pulse/default.pa
# systemctl --user restart pulseaudio

Firefoxを立ち上げ、about:support を開く。 Audio Backendでremoteの表示となっていれば音声バックエンドはPluseAudioを使用している。