このように、RaspbianではVC4のgalliumドライバが使用できていたのだが、 最近、meta-raspberrypiでもこの対応が入ったので試してみる。
local.confにMACHINE_FEATURES += "vc4graphics"
の行を追加することで、galliumドライバが有効になり、X11環境からOpenGLを使用できるようになる。
これによって、いままで使用できなかった、GLUTやGLFWが使用できるようになる。(かもしれない)
今回はes2gear_x11
で歯車を表示するところまで確認する。
ベース環境の取得
$ git clone git://git.yoctoproject.org/poky.git $ cd poky $ git clone git://git.yoctoproject.org/meta-raspberrypi
特にポリシーはないが、今回はmasterブランチで作業する。
oe-init-build-envの読み込み
下記を実行する。
$ cd ~/rpi3 $ source poky/oe-init-build-env
これにより、クロスコンパイルに必要な環境変数が設定され、ビルドディレクトリに移動される。
meta-raspberrypiをビルド対象に追加
次のコマンドを実行する。
$ bitbake-layers add-layer ../poky/meta-raspberrypi
local.confの修正
次の行をlocal.confの先頭の方に追加する。
MACHINE ?= "raspberrypi3" MACHINE_FEATURES += "vc4graphics" IMAGE_INSTALL_append = " mesa-demos" DL_DIR ?= "${HOME}/work/yocto/downloads"
mesa-demosを追加インストールしているは、歯車を表示するため。
DL_DIRの行は必要はないが、ダウンロードしたファイルを複数のビルドディレクトリから使いまわせるようにするために設定している。
動作確認
bitbakeの実行
今回はX11でOpenGLが使用できるようになったかを確かめたいので、core-image-satoを作成する。
$ bitbake core-image-sato
SDカードの作成
$ sudo dd if=./tmp/deploy/images/raspberrypi3/core-image-sato-raspberrypi3.rpi-sdimg of=/dev/sdb bs=40M
/dev/sdb
はSDカードのデバイス。環境により変更が必要な場合がある。
実行
Linux起動後、ターミナルを起動しes2gears_x11
を実行してみる。
歯車が表示された。