2018/08/19(日) [n年前の日記]
#1 [python] Pyxelを試用してみたり
Python 3.x を使ってファミコン風の2Dゲームを作れる、Pyxel というライブラリがあるらしくて。
_pyxel/README.ja.md at master - kitao/pyxel
なんだか気になるので、試用してみようかと。とりあえず動作確認だけでも…。
_pyxel/README.ja.md at master - kitao/pyxel
なんだか気になるので、試用してみようかと。とりあえず動作確認だけでも…。
◎ Windows10 x64上で動作確認。 :
Windows10 x64 + python 3.5.4 の環境で動作確認。
以下を実行してインストール。
サンプルファイルを用意する。任意のフォルダ内で、以下を実行。
実行は以下。
ということで、Windows10 x64 + Python 3.5.4 上で、Pyxel はフツーに動いてくれた。
以下を実行してインストール。
pip install pyxel
サンプルファイルを用意する。任意のフォルダ内で、以下を実行。
install_pyxel_examplespyxel_examples フォルダが作成された。中には以下のファイルが入っていた。
01_hello_pyxel.py 02_jump_game.py 03_draw_api.py 04_sound_api.py 05_color_palette.py assets/
実行は以下。
python 01_hello_pyxel.py画面が表示された。
ということで、Windows10 x64 + Python 3.5.4 上で、Pyxel はフツーに動いてくれた。
◎ 仮想PC + Ubuntu 18.04 LTS 上で動作確認するも問題有り。 :
VMware Player + Ubuntu 18.04 LTS 上でも試してみた。インストール手順は、Debian の場合と同じ。
サンプルを動かしてみたが…。
02_jump_game.py を動かしたら、画面がグチャグチャになった…。
どうやら、背景をウインドウ一杯に拡大表示できてない気配。そのため、画面全体を毎フレーム塗り潰してクリアできないから、画面内がゴミだらけになる模様。
sudo apt-get install python3 python3-pip libglfw3 libportaudio2 libasound-dev sudo pip3 install pyxel
サンプルを動かしてみたが…。
install_pyxel_examples cd pyxel_examples python3 02_jump_game.py
02_jump_game.py を動かしたら、画面がグチャグチャになった…。
どうやら、背景をウインドウ一杯に拡大表示できてない気配。そのため、画面全体を毎フレーム塗り潰してクリアできないから、画面内がゴミだらけになる模様。
◎ 実機 + Linux Mint 18.3上で動作確認するも問題有り。 :
仮想PC上で動かしたから表示がおかしかったのだろうか、実機上で動かせばすんなり動くのかなと思えてきたので、サブPC (CPU・GPU : AMD A6-3500) + Linux Mint 18.3 上で動かそうとしてみたり。
インストールはすんなり出来たように見えたものの、Pyxel のサンプルスクリプトを動かそうとしただけでエラーになった。「glfw version 3.2.1 より低いバージョンではダメだよ」と言われてしまう。
Linux MInt 18.3 は Ubuntu 16.04 LTS ベースのディストリで、Ubuntu 16.04上で libglfw3 をインストールすると、3.1.2-3 がインストールされてしまうらしい。
glfw3をビルドするしかないかな…。と思って以下のページを参考に関係ファイルをビルドしてみたけど、変化無し。これはおそらく、違うファイルをビルドする事例なのだろう…。
_床井研究室 - GLFW3 を Linuxmint にインストールしたときのメモ
_GLFW - An OpenGL library
Ubuntu 18.04 なら libglfw3 も 3.2.1 になるらしいので…。Ubuntu 18.04ベースの Linux Mint 19 にアップグレードするしかないのかな…。
つまり、Ubuntu 16.04 以下で Pyxel を動かすのは libglfw3 のバージョンのせいで難しいらしい。
というか、pyxel のドキュメントに書いてあった。
_pyxel/README.ja.md at master - kitao/pyxel
インストールはすんなり出来たように見えたものの、Pyxel のサンプルスクリプトを動かそうとしただけでエラーになった。「glfw version 3.2.1 より低いバージョンではダメだよ」と言われてしまう。
Linux MInt 18.3 は Ubuntu 16.04 LTS ベースのディストリで、Ubuntu 16.04上で libglfw3 をインストールすると、3.1.2-3 がインストールされてしまうらしい。
glfw3をビルドするしかないかな…。と思って以下のページを参考に関係ファイルをビルドしてみたけど、変化無し。これはおそらく、違うファイルをビルドする事例なのだろう…。
_床井研究室 - GLFW3 を Linuxmint にインストールしたときのメモ
_GLFW - An OpenGL library
sudo apt-get install cmake sudo apt-get install libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev mkdir ~/glfw3 cd ~/glfw3 wget https://github.com/glfw/glfw/releases/download/3.2.1/glfw-3.2.1.zip unzip glfw-3.2.1.zip cd glfw-3.2.1 mkdir build cd build cmake .. make sudo make install
Ubuntu 18.04 なら libglfw3 も 3.2.1 になるらしいので…。Ubuntu 18.04ベースの Linux Mint 19 にアップグレードするしかないのかな…。
つまり、Ubuntu 16.04 以下で Pyxel を動かすのは libglfw3 のバージョンのせいで難しいらしい。
というか、pyxel のドキュメントに書いてあった。
_pyxel/README.ja.md at master - kitao/pyxel
> glfwはバージョン3.2.1以上である必要があります。
[ ツッコむ ]
#2 [linux] Linux Mint 18.3 を Linux Mint 19 にアップグレード
TV台に置いてある薄型PC(CPU : AMD A6-3500、M/B : ASUS F1A75-M)上には、Linux Mint 18.3 をインストールしてあったのだけど。Linux Mint 18.3 (Ubuntu 16.04ベース)では libglfw3 3.1.2 しか入らない。Pyxel を動かすために、libglfw3 3.2.1 以降をインストールしたいので、この際、Linux Mint 19 にアップグレードしてしまうことにした。
_Linux Mint その90 - Linux Mint 19へアップグレードするには・アップグレードの注意事項 - kledgeb
「スナップショットを取ってないから処理を続行できない」と怒られた。timeshift なるものをインストールして、スナップショットを取らないといかんらしい。
スタートメニューから timeshift を起動して、スナップショットを作成。Rsync と BTRFS を選ぶ画面では、Rsync を選んだ。保存場所は、本来なら物理的に別のHDDがいいらしいけど、今回は面倒なので Linux Mint 18.3 がインストールされてるパーティションを選択。
1〜2時間ぐらいかかって、スナップショットが保存された。アップグレード作業を続行。
途中で LC_ALL がどうとか言われて、エラーで止まってしまった…。
~/.bashrc に
3〜4時間ぐらいかかって、なんとかアップグレードできたような気がする。
timeshiftを導入してスナップショットを作らないとアップグレードさせてくれないあたりがなんだか面倒だなと。もちろん、何かあった時のために、前の状態に書き戻せるわけだから、このほうがいいわけだけど…。時間はかかるけど安心できる、みたいな。
_Linux Mint その90 - Linux Mint 19へアップグレードするには・アップグレードの注意事項 - kledgeb
sudo apt install mintupgrade mintupgrade check
「スナップショットを取ってないから処理を続行できない」と怒られた。timeshift なるものをインストールして、スナップショットを取らないといかんらしい。
sudo apt install timeshift
スタートメニューから timeshift を起動して、スナップショットを作成。Rsync と BTRFS を選ぶ画面では、Rsync を選んだ。保存場所は、本来なら物理的に別のHDDがいいらしいけど、今回は面倒なので Linux Mint 18.3 がインストールされてるパーティションを選択。
1〜2時間ぐらいかかって、スナップショットが保存された。アップグレード作業を続行。
mintupgrade check mintupgrade download mintupgrade upgrade
途中で LC_ALL がどうとか言われて、エラーで止まってしまった…。
~/.bashrc に
export LC_ALL=en_us.UTF-8を追加すると改善されるという話を見かけたので、試しつつ再度 mintupgrade upgrade。
3〜4時間ぐらいかかって、なんとかアップグレードできたような気がする。
timeshiftを導入してスナップショットを作らないとアップグレードさせてくれないあたりがなんだか面倒だなと。もちろん、何かあった時のために、前の状態に書き戻せるわけだから、このほうがいいわけだけど…。時間はかかるけど安心できる、みたいな。
◎ Pyxelは動いた。 :
Pyxel や サンプルファイルをインストールしてみたけれど、仮想PC (VMware Player)上で動かした時と違って、画面はちゃんと表示された。実機で動かせば不具合が出ない場合もあるのだな。
表示はされたが、なんだか動きがガクガクしている気がする…。横スクロールが、クククク、と動いてるような感じで。
AMD A6-3500 ですら重い処理なのか…。でも、3コアの各CPU負荷は45%ぐらいだし…。OpenGL関係かな…。CPUに内蔵されてるGPUだから描画に関しては非力なのだろうか。でも、AMD Aシリーズって、内蔵GPUもそんなに悪くないスペックだったような。
表示はされたが、なんだか動きがガクガクしている気がする…。横スクロールが、クククク、と動いてるような感じで。
AMD A6-3500 ですら重い処理なのか…。でも、3コアの各CPU負荷は45%ぐらいだし…。OpenGL関係かな…。CPUに内蔵されてるGPUだから描画に関しては非力なのだろうか。でも、AMD Aシリーズって、内蔵GPUもそんなに悪くないスペックだったような。
◎ sshでログインすると何かおかしい。 :
Windows10 x64 + Putty で、ssh でログインすると、ログイン時のメッセージが何も出てこなかった。
関連情報をググった感じでは、/etc/update-motd.d/ 以下の記述に従って何かしら出てくる、という話らしいけど。該当ディレクトリを覗いてみると、各ファイルの中身が、ほとんど空の状態で。
もしかして、Linux Mint 18.3 からアップグレードすると、こういう不具合があるのだろうか…。
面倒臭い。Linux Mint 19 をクリーンインストールすることにした。
関連情報をググった感じでは、/etc/update-motd.d/ 以下の記述に従って何かしら出てくる、という話らしいけど。該当ディレクトリを覗いてみると、各ファイルの中身が、ほとんど空の状態で。
もしかして、Linux Mint 18.3 からアップグレードすると、こういう不具合があるのだろうか…。
面倒臭い。Linux Mint 19 をクリーンインストールすることにした。
◎ Linux Mint 19 をクリーンインストール。 :
公式サイトから、Linux Mint 19 Mate の iso を入手。
_Main Page - Linux Mint
UNetbootin を使って、32GB、USB3.0対応のUSBメモリに書き込み。
_UNetbootin - Homepage and Downloads
実機の電源投入直後に DELキーを押してBIOSに入って、起動メディア順を変更してUSBメモリから起動…しようとしたけれど、起動しない。USB3.0対応USBメモリを使ってるせいだろうか。
USB2.0対応、8GBのUSBメモリを発掘して使うことにした。ついでに、UNetbootin ではなく、Rufus を使って書き込んでみた。
_Rufus - 起動可能なUSBドライブを簡単に作成できます
実機のBIOSで、HDDは起動メディアとして使わないように設定。この状態なら、USBメモリから起動してくれた。
1〜2時間ぐらいかかってインストール。
_Main Page - Linux Mint
UNetbootin を使って、32GB、USB3.0対応のUSBメモリに書き込み。
_UNetbootin - Homepage and Downloads
実機の電源投入直後に DELキーを押してBIOSに入って、起動メディア順を変更してUSBメモリから起動…しようとしたけれど、起動しない。USB3.0対応USBメモリを使ってるせいだろうか。
USB2.0対応、8GBのUSBメモリを発掘して使うことにした。ついでに、UNetbootin ではなく、Rufus を使って書き込んでみた。
_Rufus - 起動可能なUSBドライブを簡単に作成できます
実機のBIOSで、HDDは起動メディアとして使わないように設定。この状態なら、USBメモリから起動してくれた。
1〜2時間ぐらいかかってインストール。
◎ ログインメッセージは出てこないのが正しい模様。 :
クリーンインストールしたのに、/etc/update-motd.d/ 以下は、ファイルは入っているものの、中身はほとんど空に近い状態だった。
どうやら Ubuntu と違って、Linux Mint 19 は、ログインメッセージを最低限の状態にしているようだなと…。Linux Mint 18.3 なら、ずらずらと出てくるので、似たような感じで出力されるものと思い込んでしまった…。
どうやら Ubuntu と違って、Linux Mint 19 は、ログインメッセージを最低限の状態にしているようだなと…。Linux Mint 18.3 なら、ずらずらと出てくるので、似たような感じで出力されるものと思い込んでしまった…。
[ ツッコむ ]
以上、1 日分です。