前回の続き。「子供の科学」Raspbian(ジブン専用パソコン2)に LÖVE (Love2D) をインストールする。Raspbian Stretch の apt-get でインストールされる Love2D はバージョンが古いので、現時点での最新バージョン (11.2) をインストールしてみる。
まずはビルドしないといけない。Love2D Wiki の Building ページを元に進める。Raspbian 上でターミナルを開いて、次のように順に打ち込む。
1. 必要なパッケージをインストールする。たくさんありますよ。
sudo apt-get install autotools-dev automake libtool libdevil-dev libluajit-5.1-dev libphysfs-dev libsdl2-dev libopenal-dev libogg-dev libvorbis-dev libflac-dev libflac++-dev libmodplug-dev libmpg123-dev libmng-dev libturbojpeg libtheora-dev
3. Love2D のソースを取ってくる。ダウンロード ページからもらってきてもよいし、ターミナルで下のように打ち込んでもよい。
curl -L https://bitbucket.org/rude/love/downloads/love-11.2-linux-src.tar.gz >love-11.2-linux-src.tar.gz
4. 展開して、新しくできた love-11.2
ディレクトリに移動する。
tar xvfz love-11.2-linux-src.tar.gz
cd love-11.2
5. ビルドする。"| tee xxxx.log
" の部分は、ターミナルに表示されるメッセージを保存しておくためだけのものなので、省略してもよい。
./configure | tee configure.log
make -j 2 | tee make.log
sudo make install
はじめ make -j 4
でビルドしていたが、成功することもあるのだけど、途中でフリーズしたり変なエラーが出たりして、イマイチ不安定。あまり負荷をかけないように、make -j 2
に変えた。
/usr/bin
に love
が、/usr/lib
に liblove-11.2.so
がインストールされる。
love
で実行すると、"NO GAME" の画面が出るはずなのだけど、こうなってしまった。表示がなんかおかしい。これはドライバ絡みだな。

sudo raspi-config
の Advanced Options/GL Driver で、"GL (Fake KMS)" を選ぶと、正しく表示された。

なお、"GL (Full KMS)" を選ぶと、Love2D の画面がフルスクリーンになってしまう。下の通り。VNC viewer の画面いっぱいに Love2D の画面が広がっているのがおわかりでしょうか。これ、Love2D の画面がフルスクリーンで表示されているということです。今回は X window の中で Love2D を動かしたいので、これではうまくない。何か回避する設定があるのかも知れないけど、まだ見つけられていません。

"GL (Fake KMS)" の設定で、「さかなは踊る」を動かしてみた。ちゃんと動いた。音も出てます。

ビルドできることはわかった。あとは、簡便にインストールできる方法を確立することだな。deb パッケージを作るのはハードルが高すぎるので、インストーラスクリプトを書くのが手っ取り早い。(2019/1/6 追記:書きました。記事はこちら。)