みつきんのメモ

組み込みエンジニアです。Interface誌で「Yocto Projectではじめる 組み込みLinux開発入門」連載中

yocto meta-raspberrypiでVC4 graphics driverを試す

このように、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の実行

今回はX11OpenGLが使用できるようになったかを確かめたいので、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を実行してみる。

歯車が表示された。