2017/09/02(土) [n年前の日記]
#1 [ubuntu][python][pi3d] Ubuntu Linux 16.04 LTS に pi3d をインストール
Pythonから OpenGL ES を使える
_pi3d
は、 Linux や Windows 上でもインストールすることが可能らしい。足元で埃をかぶってる、Ubuntu Linux 16.04 LTS が入ったサブPCを使って、インストールできるのか試してみる。
◎ Ubuntu Linux 上で OpenGL ES が使えるようにする。 :
デスクトップ機で OpenGL ES を使うためには、mesa-utils-extra が必要らしい。仮想的に OpenGL ES を持ってるような状態にしてくれるとかなんとか…。とりあえずインストール。
実機にディスプレイを繋いで、OpenGL ES の動作確認。
sudo apt install mesa-utils-extra
実機にディスプレイを繋いで、OpenGL ES の動作確認。
es2gearsギアがクルクル回るアレが表示されて、FPSも出力された。動いてるっぽい。
◎ pipをインストール。 :
pipをインストール。pip を使えば、Python のモジュールをネット経由でインストールできる。
バージョン等を確認。
pipをアップグレードする。
ちなみにUbuntu上では、pip は Python 2.7用。pip3 は Python 3.x 用。自分の環境では、pip のほうは既に 9.0.1 になってた。
sudo apt install python-pip python3-pip
バージョン等を確認。
$ pip3 --version pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5) $ sudo -H pip3 search pi3d pi3d (2.20) - pi3d OpenGLES2 3D graphics library You are using pip version 8.1.1, however version 9.0.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command.「pipをアップグレードしろ」と言われてしまった。
pipをアップグレードする。
$ sudo -H pip3 install --upgrade pip $ sudo -H pip3 --version pip 9.0.1 from /usr/local/lib/python3.5/dist-packages (python 3.5)アップグレードできた。
ちなみにUbuntu上では、pip は Python 2.7用。pip3 は Python 3.x 用。自分の環境では、pip のほうは既に 9.0.1 になってた。
◎ pi3dをインストール。 :
pipを使って、pi3dをインストール。
デモスクリプト群の pi3d_demos も git で取ってくる。
sudo -H pip install pi3d sudo -H pip3 install pi3d
デモスクリプト群の pi3d_demos も git で取ってくる。
git clone https://github.com/pi3d/pi3d_demos.git
◎ pi3dの動作確認。 :
デモスクリプトを動かしてみる。ディスプレイを繋げた実機上で操作。
他のスクリプトも動かしてみる。
/dev/input/mice のパーミッションを確認してみる。
ユーザをinputグループに所属させる。
再度、pi3dのスクリプトを実行。
ということで、Linux上でも pi3d が動作することを確認できた。
cd pi3d_demos python Earth.py地球と月がグルグル回るソレが出てきた。たしかに Linux上でも動いた。
他のスクリプトも動かしてみる。
Python ForestWalk.pyPermission denied /dev/input/mice と怒られて終了してしまった…。
/dev/input/mice のパーミッションを確認してみる。
$ ll /dev/input/mice crw-rw---- 1 root input 13, 63 9月 2 08:51 /dev/input/miceユーザがinputグループに入ってないとアクセスできないのだな…。
ユーザをinputグループに所属させる。
sudo gpasswd -a ユーザ名 inputログアウトして再ログイン。
再度、pi3dのスクリプトを実行。
python ForestWalk.py今度は動いた。
ということで、Linux上でも pi3d が動作することを確認できた。
◎ 自分の手元の環境の問題点。 :
表示はできたけど、描画面積が大きいスクリプトを動かすと、なんだかガクガクしてるな…。
サブPCのCPUとM/Bは、AMD Athlon II X2 250 (3.0GHz, 2コア) + ASRock M3A785GMH/128M (AMD785G + SB710チップセット使用)。このスペックでは重いのかもしれん。というか、AMD785Gチップセットの ATI Radeon HD 4200 が足を引っ張ってるんじゃないかな。たぶん。
サブPCのCPUとM/Bは、AMD Athlon II X2 250 (3.0GHz, 2コア) + ASRock M3A785GMH/128M (AMD785G + SB710チップセット使用)。このスペックでは重いのかもしれん。というか、AMD785Gチップセットの ATI Radeon HD 4200 が足を引っ張ってるんじゃないかな。たぶん。
◎ VMware + Ubuntu でも試してみた。 :
調子に乗って VMware + Ubuntu 上でも pi3d のインストールを試してみた。
import pi3d で「そんなモジュールはねえよ」と怒られた…。pip じゃなくて pip2 を使ってインストールしないとダメっぽい。pip2 が Python 2.7用。pip3 が Python 3.x用。ということなのかな。
この状態なら、python Earth.py が動いてくれた。
ただ、VMware 上では vsync(垂直同期)を見てくれないというかサポートしてないようで。物凄い速度で、地球と月が回る…。
ググってみたら、.vmx に
import pi3d で「そんなモジュールはねえよ」と怒られた…。pip じゃなくて pip2 を使ってインストールしないとダメっぽい。pip2 が Python 2.7用。pip3 が Python 3.x用。ということなのかな。
sudo -H pip2 install pi3d
この状態なら、python Earth.py が動いてくれた。
ただ、VMware 上では vsync(垂直同期)を見てくれないというかサポートしてないようで。物凄い速度で、地球と月が回る…。
ググってみたら、.vmx に
mks.vsync = "1"を追加する、という話を見かけたので試してみたけど効果は無かった。もしかするとMac上で動いてるVMware用の設定、なんだろうか。
[ ツッコむ ]
以上です。