mieki256's diary



2017/08/28(月) [n年前の日記]

#1 [raspberrypi][ruby][gosu] Raspberry Pi3上にgosuをインストールしてみた

Raspberry Pi3上に、gosuをインストールしてみた。gosuってのは、Rubyを使って2Dゲームを制作できるライブラリ。

sudo raspi-config で、OpenGLドライバ(Fake KMS版)を有効、かつ、Memory Split でGPUに256MBを渡した状態に設定してから、動作確認。

BG x 2枚 + スプライト512枚を描画してみたら40FPSしか出なかったけど、スプライトを160枚に減らしてみたら60FPSで動いてくれた。これならどうにかメガドラ相当のゲーム画面も作れそう。しかも OpenGLを使えば背景だけでも3DCGにできたりするから、セガサターンっぽいゲーム画面だって不可能ではない、かもしれない。

Python + cocos2d がスプライト80枚を描画するだけでも40FPS前後しか出なかったことを考えると、速度面では Ruby + gosu のほうが優秀というか、まだ使い物になりそうな雰囲気。

もっとも、Raspberry Piシリーズは、Pi1、Pi2、Pi3、Zero、それぞれCPU性能が違うわけで…。Raspberry Pi3上なら使い物になりそうでも、Zeroあたりで動かしたら話にならない可能性も。各環境で試してみないと分からんところがあるなと。

gosuのインストール。 :

一応、gosu の wiki に、Raspberry Pi用のインストール方法が書いてあるのだけど。

_Getting Started on Raspbian (Raspberry Pi) - gosu/gosu Wiki

記事の冒頭に、

「ここに書いてあるのは Pi1 用のやり方だよ」
「Pi2 や Pi3 は、 _OpenGLを有効にした状態 で、Ubuntu/Debian Linuxと同じやり方でインストールしてくれ」
「gosuの現行版は動かんので、sudo gem install gosu --pre で最新版をインストールしてみて」

…と書いてある。ので、Linux版の記事のほうを参考にしつつ作業。

_Getting Started on Linux - gosu/gosu Wiki

sudo apt update
sudo apt upgrade
sudo apt install build-essential
sudo apt install libsdl2-dev libsdl2-ttf-dev libpango1.0-dev libgl1-mesa-dev
sudo apt install libopenal-dev libsndfile-dev libmpg123-dev
sudo apt install ruby-dev

sudo gem install gosu --pre
Rubyのモジュールは gem を使うとネットワーク経由でインストールできる。--pre は、現行版(安定版?)じゃなくて最新版(開発版?)をインストールせよ、という指定らしい。

gem でインストールすると、Rubyから呼び出せるバイナリを作るために、コンパイルだかビルドだかが走る。結構時間がかかるので、気長に待つ。体感で10分以上かかったような…。

gosu以外にも、chipmunk、opengl、rmagick もあったほうがいいらしいので、それもインストール。これもビルドされるので、やっぱり気長に待つ。
sudo gem install chipmunk
sudo gem install opengl
sudo gem install glu
sudo gem install glut

sudo apt install ruby-rmagick
sudo apt install libmagickcore-dev libmagickwand-dev
sudo gem install rmagick
_How to install the RMagick gem on a Raspberry Pi :: Andrew Havens, Ruby Developer

gosu-examples をインストールすると、gosuのサンプルを動かせる。

_Ruby - Gosu
sudo gem install gosu-examples
gosu-examples
gosu-examples と打って実行。右側のスクリプト名?をマウスでクリックするとサンプルを切り替えられる。chipmunk、opengl、rmagick もインストールしてあると、選べるスクリプトが増える模様。

もしかしたら、音を鳴らすために pulseaudio とやらも必要なのだろうか…。自分の環境では既に入ってたけど…。
sudo apt install pulseaudio
_OF 0.9.0 Rasberry Pi B+ sound problem - bugs, errors - openFrameworks

また、ひょっとすると、freeglut3 関係も必要だったりするのかな。要らないのかな。どうなんだろう。
sudo apt install freeglut3 freeglut3-dev
_OpenGL (GLUT) で正方形が動くだけのアニメーション - Qiita

問題点。 :

Ruby + gosu を使うスクリプトを実行すると、相変わらずエラーメッセージが表示される…。
libGL error
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
_Raspberry Pi 2/3 Model B(Raspbian Jessie with PIXEL)でRStudioを使う
_Bug #1656930 " OpenGL applications warns “MESA-LOADER: failed to...” : Bugs : Raspbian
_98629 - OpenGL applications warns "MESA-LOADER: failed to retrieve device information"

また、サウンド関係を使うと、これまた警告が。

_OpenAL warning on Ubuntu - Issue #292 - gosu/gosu

#2 [raspberrypi] Raspberry Pi3のOSをアップグレードしてみた

今まで、Raspberry Pi3に raspbian jessie(Debian 8) をインストールしていたけど。なんでも最近、raspbian stretch (Debian 9)という新しい版が公開されたらしいので、試しにアップグレードしてみたり。

本当はクリーンインストールがいいらしいけど…。面倒臭いので、試しにそのままアップグレード。以下を参考に作業してみたり。

_[メモ] (らずぱい) Raspbian: Jessie から Stretchへアップグレード - Qiita

パッケージレポジトリを jessie から stretch へ変更。
sudo sed -i 's/jessie/stretch/g' /etc/apt/sources.list
sudo sed -i 's/jessie/stretch/g' /etc/apt/sources.list.d/raspi.list
sudo apt update

何が更新されそうか確認。
sudo apt --simulate upgrade

実際に更新。
sudo apt upgrade
sudo apt dist-upgrade
sudo reboot

更新できたか少し確認。
$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 9.1 (stretch)
Release:        9.1
Codename:       stretch
一見すると更新できたっぽい。

書き換えられた設定ファイルについて。 :

気が付いた範囲では、以下のファイルが書き換えられた。
/etc/sysctl.conf
/etc/dhcpcd.conf
/etc/ntp.conf
/etc/lightdm/lightdm-gtk-greeter.conf
/etc/lightdm/lightdm.conf
まあ、どれも、自分の環境では修正したファイルなのでアレだけど。

自動ログインするユーザを変更。 :

デフォルトではpiユーザで自動ログインするようになってた。別のユーザで自動ログインするように変更。

_Debian Jessie Wheezy 自動ログイン lightdm系 Linux. リナックス. ヒト ノ タメ ノ.

sudo vi /etc/lightdm/lightdm.conf
autologin-user=pi を変更。

chromiumをインストール。 :

デフォルトブラウザが、Epiphany から chromium になったらしい。インストールしておく。
sudo apt install chromium-browser

OpenGLで問題発生。 :

アップグレード後、sudo raspi-config でOpenGLドライバを有効にしてみても、設定が反映されないことに気づいた。glxgears を実行すると激しく点滅するギアが表示されてしまう…。

やっぱりクリーンインストールしないとダメなのかな。知識がある人ならどこが怪しいのか調べて修正できるのだろうけど。…面倒臭い。クリーンインストールしてしまおう。

ということで、 _Raspberry Pi Downloads - Software for the Raspberry Pi から NOOBS をDLしようとしているのだけど、なんだか接続がブチブチ切れる…。18時間ぐらいかかる、と予想時間が出てる…。

要は NOOBS_v2_4_3.zip をDLできればいいのだよな。ミラーサーバは無いのかね。

_Raspbianのインストールと初期設定 | 純規の暇人趣味ブログ_raspbian日本のミラーサイト - Qiita で紹介されてた。 _http://ftp.jaist.ac.jp/pub/raspberrypi/NOOBS/ がソレっぽい。ここからDLさせてもらおう…。

_SDメモリカードフォーマッター - SD Association を入手して、Windows10 x64上にインストール。

Raspberry Pi3 から microSD を抜いて、Windows10 x64 に。SDメモリカードフォーマッターで、microSDをフォーマット。NOOBS 2.4.3 を解凍して、中に入ってるファイルとフォルダを microSD にコピー。Raspberry Pi3 に差し直し。

Raspberry Pi3 に、HDMI接続ディスプレイとUSBキーボードやマウスを繋いで、電源投入。raspbian をインストール。

以上、1 日分です。

過去ログ表示

Prev - 2017/08 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project