マインクラフトをOrange PiのLinuxで動かすことができるか?

結論から述べると、2016/12/02現在、Orange PiのLinux系では動きません。
Allwinner H3搭載のOrange Pi PC、および、Allwinner H5搭載のOrange Pi PC2共に動きません。

マインクラフトをラズベリーパイで動かす、という話がある。
いまはRaspbianに標準でマインクラフトが入っているので簡単、と書いてある。

このRaspbianにインストールされているマインクラフトは「Minecraft Pi Edition」というものであり、通常のパソコン版とは異なるものとなっている。
タブレットなど用のMinecraft Pocket Editionをベースに開発されているが、3年以上アップデートされていないため、機能差が結構でている。

このMinecraft Pi Editionであるが、公式ページからminecraft-pi-0.1.1.tar.gzをダウンロードすることができる。
バイナリを調べるとARM用で、一見するとOrange Piでも動作するように見えます。

しかし、実行してみるとBroadcomのGPUデバイスにアクセスしようとし、起動に失敗します。
BroadcomのSoCを使用しているラズベリーパイ(Raspberry Pi/Pi2/Pi3)以外では動作しないようです。

さて・・・パソコン版のMinecraftについて、よく見てみると、Windows用、MacOSX用とLinux用と3種類あります。
そしてLinux用は、Javaのパッケージでの提供となっています。
Orange PiにもJavaはインストールできるので、実行できそうな感じに見えるでしょう。

実際、アップデートの実行と、起動の途中までは成功します。
しかし、グラフィック操作関連のライブラリ読み込み時にx86用のバイナリを読み込んでしまい、起動に失敗します。

過去のMinecraftでは、ファイルを強制的に置き換えることで起動に成功していたようなのですが、最近のバージョンでは使えないようです。
jarファイル置き換え&チェックサムファイル置き換えを行っても、起動時に元のファイルをダウンロードしなおしてしまいます。

うまいことやる方法はないものでしょうかねぇ・・・

なお・・・Orange PiのOSをAndroidに書き換えて、Android版のMinecraft Pocket Editionを使う、という手はあります。

Allwinner H3搭載のOrange Pi向けのLinuxのお薦め(2016/12/01版)

Allwinner H3/H2+搭載のOrange Piシリーズとして、以下のものがリリースされています。
・Orange Pi 2 / Orange Pi mini 2
・Orange Pi Plus / Orange Pi Plus 2
・Orange Pi PC
・Orange Pi PC Plus
・Orange Pi Plus 2E
・Orange Pi One
・Orange Pi Lite
・Orange Pi Zero

「Orange Pi 2」と「Orange Pi mini 2」は無線LANの有無だけなので同一扱いです
「Orange Pi Plus」と「Orange Pi Plus 2」はメモリ容量の違いのみで同一扱いです
「Orange Pi」と「Orange Pi Mini」はAllwinner A20搭載の旧機種なので当blogでの取り扱い対象外です
Allwinner H5搭載の「Orange Pi PC2」については別記事を作成する予定です。

Orange Pi公式として、いくつかOSがリリースされていますが、全然更新していってくれません。
最初にリリースしたら、それっきりで放置されています。
基本的にはDebian/Ubuntuなどのarmhf向けの公式リリースを利用しているので、いろんなパッケージのアップデートに関しては問題ありませんが、Linux Kernelなどに対する更新が提供されていません。

これをどうにかするには、現状だとOrange Piが提供していない、それ以外のディストリビューションを選択する必要があります。

・お薦め度 No1:armbian
Debian/Ubuntuの公式リリースのバイナリパッケージを利用しつつ、Linux kernelなどのカスタマイズが必要な部分については、自分たちのレポジトリをきちんと用意し、継続してアップデートする環境を整えているディストリビューションです。
長期で使いたい場合は、最有力となるものです。

armbianのAllwinner H3向けは各機種ともLinux kernel 3.4.113が基本ですが、Linux kernel 4.9のものが開発中です。
現状、Orange pi PC向けとして開発中ですが、HDMI出力はサポートしていない状態です。
今後に期待です。

開発ツリー:https://github.com/igorpecovnik/lib

・メディアプレーヤ向けのOpenELEC for Orange pi
TVにOrange Piを接続し、ムービーとかを再生するためのメディアプレイヤーとして使う場合に適しているディストリビューションの「OpenELEC」をOrange Pi向けに移植したものです。
Orange Piの公式フォーラムで配布しており、イメージは「Latest prebuilt images」にてダウンロードできます。
HDMI接続したテレビのリモコンを使っての操作が可能な設定になっているはずなのですが、どうやらTV側の機種を選ぶようで、うまく動かないことが多いようです。
うまく動かない場合は、テレビリモコンでの操作は諦めましょう。

ただ、動画再生時、CPUからの発熱が酷いのでヒートシンクやCPUファンなどの冷却機能を用意する必要があります。
また、ラズパイ向けのOpenELECと比較すると微妙な点が多いのでどれくらい実用化というと・・・

開発ツリー:https://github.com/jernejsk/OpenELEC-OPi2/

DietPi
armbianの成果物を利用しつつ、インストールサイズを最小化したコンパクトなラズベリーパイ向けディストリビューションであるDietPiがAllwinner H3機種向けにも提供されています。
Orange Pi系では、Orange Pi PCとOrange Pi Oneの2機種に提供されています。

このディストリビューションもこまめにアップデートされています。

開発ツリー:https://github.com/Fourdee/DietPi

Allwinner A64搭載のノートパソコンPINEBOOKが$89で登場予定

Allwinner A64搭載のスモールボードコンピュータPINE A64をベースとして、ノートパソコン筐体に納めたPINEBOOKが登場するようです。

製品ページ「PINEBOOK
pinebook_size1

中身はPINE A64+ 2GBモデルに近いようですが、cnx-softwareの記事によれば、新しくノートパソコン向けに基板を作成しているらしい、とのこと。

2モデルが予定されており、11.6インチ液晶モデルが$89,14インチ液晶モデルが$99です。
液晶解像度はどちらも1280×720
11.6インチ液晶の場合でも筐体は同じようなので、黒枠部分が増えるということであれば、11インチを選ぶ必要性って全く無い気が・・・
いまは発売前の希望者先行登録期間となっており、メールアドレスを登録すると、発売の準備が完了でき次第連絡がくる、とのこと。
PINE A64のボード単品を購入した場合の送料が$11.99なので、$20ぐらいを見込んでおけば良さそうです。

Allinner A64搭載のノートパソコンとしては、先行して「AndroidベースのRemix OS3.0搭載ノートパソコンAZPEN HYBRX A1160が$69(送料別)~」というのがありました。
これと比較すると、液晶がランクダウン(1366×768→1280×720)するも、バッテリー容量はup(3.7V 6000mAh→10000mAh)
という感じです。

いまのところ、Allwinner A64向けOSを継続的に提供している実績があるので、ここが出すものというのは非常に魅力的です。
あと、PINE A64自体はWindows 10 IoTも対応していますしね。
(関連記事:Allwinner A64搭載ボードのBPI-M64とPINE64がWindows 10 IoTに対応開始)

夢がいろいろ広がる感じですね。

2016/11/15 20時ごろにOrange Pi PC2で動くLinuxイメージが公開されました

なかなか公開されなかったOraneg Pi PC2向けのLinuxイメージですが、2016/11/15 20時頃にようやく公開されました。
公式ダウンロードページ」にてDebian ServerとDebian xfceが公開されています。
ただ、どちらも、Google Driveにリンクが張られているように見えますが、そちらの実態はOrange Pi Mini2向けで、使えません。
Baidu側のリンクからダウンロードする必要があります。

しかし、Debian_Desktop_jessie_xfce4_PC2.img.xzの方は475.4MBと、Baiduのブラウザダウンロード上限容量を超えてしまっており、専用ツールを使ってダウンロードする必要があります。
Debian_Server_jessie_PC2.img.xzの方は76.6MBと小さめなので、なんとかブラウザダウンロードが可能です。

私も現在ダウンロード中なので、ほんとに使えるかどうかはわかりません。
2016/11/16 0:40追記

Debian_Desktop_jessie_xfce4_PC2.img.xz のダウンロードが完了し、起動試験を行いました。
HDMIにブートロゴ・ブートメッセージは表示されず、電源ONすると黒い画面のまましばらく待つと
いきなりX-Windowのログイン画面が表示されます。
ダウンロードページには「user(root), password(orangepi)」と書いてありますが
試したところ「user(orangepi), password(orangepi)」であるようです。(ユーザ名:orangepi、パスワード:orangepi)

また、標準状態ではイーサケーブルをつないでもリンクアップしませんでした。
ターミナルを開き「sudo dhclinet eth0」を実行することで、リンクアップし、DHCPでのIP取得が行われました。
いくつか、まだ初期設定に問題があるようです

設定を見直すと「/etc/network/interfaces」ファイルに問題がありました。

# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
# source-directory /etc/network/interfaces.d

3行目の「source-directory」の前に「#」があるため、設定が反映されていませんでした。
下記のように書き換えて再起動すればOKです。

# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

また、バグとして1000Mbpsでリンクアップしない、というものがあります。
元となるOrange Pi H5用SDKの11/13あたりで修正が行われてるっぽいですが、この配布物には含まれていません。


2016/11/16 追記
dropboxに転載した:Debian_Desktop_jessie_xfce4_PC2.img.xz
無料アカウントなので1日当たり20GB分しかダウンロードできません。
それを超えると24時間ダウンロードできなくなります


2016/11/17追記

いつものコマンド出力結果を忘れていたので追加

orangepi@Orangepi:~$ cat /proc/cpuinfo
Processor       : AArch64 Processor rev 4 (aarch64)
processor       : 0
processor       : 1
processor       : 2
processor       : 3
Features        : fp asimd aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: AArch64
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

Hardware        : sun50iw2
Serial          : 34005035c120182f0b4c
orangepi@Orangepi:~$ cat /proc/meminfo
MemTotal:        1003192 kB
MemFree:          866332 kB
Buffers:            7100 kB
Cached:            58304 kB
SwapCached:            0 kB
Active:            39296 kB
Inactive:          51976 kB
Active(anon):      26144 kB
Inactive(anon):     6420 kB
Active(file):      13152 kB
Inactive(file):    45556 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                40 kB
Writeback:             0 kB
AnonPages:         25840 kB
Mapped:            13676 kB
Shmem:              6700 kB
Slab:              20040 kB
SReclaimable:       8232 kB
SUnreclaim:        11808 kB
KernelStack:        3616 kB
PageTables:          572 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      501596 kB
Committed_AS:      96440 kB
VmallocTotal:   251658176 kB
VmallocUsed:       16080 kB
VmallocChunk:   251641916 kB
orangepi@Orangepi:~$ uname -a
Linux Orangepi 3.10.65 #3 SMP PREEMPT Tue Nov 15 09:46:50 CST 2016 aarch64 GNU/Linux
orangepi@Orangepi:~$
orangepi@Orangepi:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/mmcblk0p2  1.1G  934M   75M  93% /
devtmpfs        482M     0  482M   0% /dev
tmpfs           490M     0  490M   0% /dev/shm
tmpfs           490M  6.6M  484M   2% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           490M     0  490M   0% /sys/fs/cgroup
/dev/mmcblk0p1   50M   13M   38M  26% /boot
tmpfs            98M     0   98M   0% /run/user/1000
orangepi@Orangepi:~$

Cpufreq関連

root@Orangepi:/home/orangepi# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
interactive conservative ondemand userspace powersave performance
root@Orangepi:/home/orangepi# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
480000 648000 720000 816000 912000 1008000 1104000 1152000 1200000
root@Orangepi:/home/orangepi#

CPUfreq のポリシーと速度のチューニングより

root@Orangepi:/home/orangepi# for file in /sys/devices/system/cpu/cpu*/cpufreq/c
puinfo_*; do echo = $file =; cat $file; done
= /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_boot_freq =
1008000
= /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq =
1008000
= /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq =
1536000
= /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq =
480000
= /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_transition_latency =
2000000
= /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_boot_freq =
1008000
= /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_cur_freq =
1008000
= /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_max_freq =
1536000
= /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_min_freq =
480000
= /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_transition_latency =
2000000
= /sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_boot_freq =
1008000
= /sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_cur_freq =
1008000
= /sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_max_freq =
1536000
= /sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_min_freq =
480000
= /sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_transition_latency =
2000000
= /sys/devices/system/cpu/cpu3/cpufreq/cpuinfo_boot_freq =
1008000
= /sys/devices/system/cpu/cpu3/cpufreq/cpuinfo_cur_freq =
1008000
= /sys/devices/system/cpu/cpu3/cpufreq/cpuinfo_max_freq =
1536000
= /sys/devices/system/cpu/cpu3/cpufreq/cpuinfo_min_freq =
480000
= /sys/devices/system/cpu/cpu3/cpufreq/cpuinfo_transition_latency =
2000000
root@Orangepi:/home/orangepi#

旧タイトル:2016/11/14 19時現在Orange Pi PC2で動くLinuxイメージは公開されていません
2016/11/14 19時現在、Orange Pi PC2で動作するLinuxイメージは公開されていません。

armbianでは、Allwinner A64搭載のPine64に対応しているので、対応も早いのかな?と思いきや
Orange Pi Zeroや他のボードへの対応作業が忙しいので後回しにします、と宣言されてしまっています。
(発言のソース:Armbian for OrangePi PC2, AllWinner H5の2つめの発言)

Orange Pi公式でOrange Pi PC2用のSDKだ、といって配布しているものは、微妙に不完全だったようで、上記のスレッドでも「There is no Linux SDK.」とか書かれています。

時系列的にはソレを受けてだと思われるのですが、Allwinner H5用SDKを元にOrange Pi PC2向けの修正を加えたOrange Pi PC2用のSDKが「https://github.com/orangepi-xunlong/OrangePi_H5SDK」にて公開されました。

これでLinux向けのkernelがコンパイルできるようになってるのか?
試行錯誤が行われていきそうです。

なお、上記のSDKファイルを調べると、Orange Pi PC2のアーキテクチャは「sun50iw2p1」であるようです。


2016/11/15追記
linux-sunxiのIRCチャネルで、armbianの開発をやってる1人のtkaiserさんが、Debianイメージを公開しました。
が・・・うちの環境で試した限りではHDMI出力ができてない、というのと
一般公開してるような感じではないので、詳細の紹介はやめておきます。
なお、Linux kernelは 3.10.65となっていました。

追記2
Orange piの公式フォーラムに管理者のzhao_stevenさんが「Orange Pi PC2 Debian server prerelease」として投稿しているものが出所でした。

Orange Pi PC2が届いたのでAndroidイメージで動かしてみた

11月5日に発注したOrange Pi PC2が8日経過した今日、11/13に届いたので早速電源を入れてみた。

パッケージングは、Orange Piの標準サイズの箱に入ってきました。
opipc2-a

旧機種のOrange Pi PC(箱入り)と並べるとこんな感じ。
opipc2-c
(左:非純正ケースのOranegi Pi PC、真ん中:純正ケースのOranegi Pi PC、右:Oranegi Pi PC2)

開けた状態だとこんな感じ
opipc2-b

基板サイズ、コネクタ配置はOrange Pi PCと同じであるため、ケースを流用することが可能です。

さて・・・電源を入れましょう

とはいえ、今回、公式でダウンロード可能なOSは、Android/AOSPベースのOrange OSのみ。
しかもGoogle Driveのリンクは死んでおり、Baiduのリンクのみという状態。

まぁ、Baiduからダウンロードして、書き込みました。

Orange Pi系にAndroidイメージを書き込む場合の注意点としては、ddコマンドなどでは書き込めず、
Windows上で動作するPhoenixCardという専用ツールを使って書き込む必要があります。
PhenixCardのダウンロード場所と使い方

このツールはWindowsのAdministrator権限で実行する必要があります。
また、かなり書き込みに失敗しやすいツールです。
何度もトライしてみてください。

ただ、microSDによっては、どうしても書き込みが失敗する、ということもあるようです。
うちでは、SUMSUNGのEVO 32GBが新品にもかかわらず失敗し続けるという事態が起きました。
おそらくは個体差なんでしょうけど、どうしてもうまく行かない場合は別のmicroSDを試してみるなどしてください。
また書き込める場合でも、非常によく失敗します。

10回ぐらい再試行して書き込みが完了しました。
書き込みに成功した場合は下記の様になります。
2016-11-13

書き込んだmicroSDをOrange Pi PC2に入れて電源ON。
電源コネクタはEIAJ#2というタイプで、しばらく前だとPSP用の電源ケーブルとして100円ショップに並んでいたりしました。

秋葉原で探す場合は、千石電商で、極性統一#2、内径φ1.7、外径:φ4.0のDC05-4017,DC-4017を当たりを探しましょう

もしくはジャンク屋あたりを回ると富士通の周辺機器用で使われていた5V 3Aぐらいのアダプタが見付かるかもしれません・・・

さて、電源を入れるとまず、下記のH5ロゴが表示されます。
opipc2-1

1分ちょっと表示したあと、起動音と共にAllwinnerロゴに変わります。
opipc2-2

3分ぐらい表示したあと、30秒ぐらい真っ暗の画面になり、その後下記のAndroid画面が表示されます。
opipc2-3

起動までに約5分かかる、という感じです。

なお、画面が映らない場合、まずは、基板上の状態を確認します。
正常に動作していれば下記の赤枠部分にあるLEDが赤く点灯しています。
opipc2-da

点灯していない場合はmicroSDにイメージが正常に書き込まれていない可能性が高いです。
念のためさしなおして再挑戦、それでも駄目ならPhenixCardツールで再度書き込みを行ってください。

起動したOrange OS/Androidは、見ての通りに中国語表記です。

日本語表記にするためには右下の赤枠部分を選んで設定画面に行きます。
opipc2-3a

次に、下の赤枠を選んで言語設定画面に行きます
opipc2-4

同じく赤枠を選びます。
opipc2-5

一番上に日本語がありますので選択します。
opipc2-6

日本語の画面になります。
opipc2-7

さて・・・・・・
Androidが起動しましたが、実は、これ
Google Playがインストールされていません。

えぇ・・・入っていません。

そして、公式としてGoogle Playのインストール手法について、特には案内していません。
ランチャーにいろいろアプリアイコンがありますが、基本Playストアからインストールしろ、となっているわりに、なにもしてくれません。

つまり・・・現状、たいしたことには使えません・・・
Playストアが無くてもインストールできるapkファイルで遊ぶしかないかんじです。

とりあえずLinuxが出てくるまでは使い道がない感じですね…

Android 5.1
Kernel Version 3.10.65