2019年01月03日

「子供の科学」Raspbian に LÖVE (Love2D) をインストールする

 前回の続き。「子供の科学」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/binlove が、/usr/libliblove-11.2.so がインストールされる。

 love で実行すると、"NO GAME" の画面が出るはずなのだけど、こうなってしまった。表示がなんかおかしい。これはドライバ絡みだな。

20190103-1.png

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

20190103-2.png

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

20190103-3.png

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

20190103-4.png

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

Posted at 2019年01月03日 15:51:26
email.png