Allwinner H6 TVBOXにPanfrostを再インストールする

どうしたわけか今まで使っていたTVBOXのArmbianが突然ブートしなくなりました。この機種H6 miniはTFカードソケットがないのでブートしなくなったら終わりです。おそらくapt-mark holdでu-bootパッケージをホールドしていたのが外れて公式パッケージを入れたせいだと思われますが、こうなっては最初から作りなおす以外に手はありません。手順次のとおりです。

  1. PhoenixSuitでAndroidファームウェアを入れてリカバリする
  2. リカバリモードにブートしてTwep-tx6をインストールする
  3. TwrpのAdvanceモードのターミナルからddコマンドを使ってeMMCにArmbianをインストールする
  4. リブート

Armbianもこの際に新しいイメージを作りました。

https://mega.nz/folder/hWpnyJ7B#4cNnkcDH7UbtnXVCVneW6A

これでリカバリができてPanfrostをコンパイルしようとしたらmesonのインストールで躓きました。どうもPython3.7でないと動かないようです。そこでPython3.7にしたら今度は依存関係でPythonのモジュールがが動かなくなってしまい、また元のPython3.6に戻しました。こういろいろトラブルが出て手に負えなくなってきたので、Armbianのフォーラムを読んでPanfrostのインストールをまとめてみました。

Unable to make Panfrost work on H6

Panfrostのインストール手順

1.リポジトリを追加してアップグレードする

sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:oibaf/graphics-drivers 
sudo apt-get update
sudo apt-get upgrade

2.パッケージをアップデートする

sudo apt-get install libgles2-mesa

3.Xorgをアップデートする

sudo apt-get install xserver-xorg-core-hwe-18.04
sudo apt-get install xserver-xorg-input-evdev-dev-hwe-18.04

4./etc/X11/xorg.conf.d/01-armbian-defaults.confを編集する

Section "Monitor"
	Identifier		"Monitor0"
	Option			"DPMS" "false"
EndSection
Section "ServerFlags"
	Option			"BlankTime" "0"
	Option			"StandbyTime" "0"
	Option			"SuspendTime" "0"
	Option			"OffTime" "0"
EndSection
Section "Device"
	Identifier		"Default Device"
	#Option	"AccelMethod" "none"
	Option	"AccelMethod" "glamor"

5.リブートしてテストする

$ Xorg -version

X.Org X Server 1.20.5
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.4.0-170-generic aarch64 Ubuntu
Current Operating System: Linux orangepi3 5.6.13-sunxi64 #trunk SMP Fri May 29 09:05:04 UTC 2020 aarch64
Kernel command line: root=UUID=876ff9a9-0f4b-4fa5-98d2-9bc6bb972ef9 console=ttyS0,115200 console=tty1 maxcpus=4 rootdelay=10 cryptopts=target=mmcblk2p2_crypt,source=/dev/disk/by-uuid/34dba1e7-e2a4-4ae7-81e8-27bebebae69d,keyscript=/lib/cryptsetup/scripts/openluksdevices.sh keydisk=0a57c6eb-0839-4bf4-a6ce-f50f16f06549 rootdelay=10
Build Date: 18 December 2019  08:15:29AM
xorg-server-hwe-18.04 2:1.20.5+git20191008-0ubuntu1~18.04.1 (For technical support please see http://www.ubuntu.com/support) 
Current version of pixman: 0.34.0
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.

v1.20.5なっているのを確認してからglmark2とglmark2-es2のテストをします。

shiva@orangepi3:/etc/X11/xorg.conf.d$ glmark2
=======================================================
    glmark2 2014.03+git20150611.fa71af2d
=======================================================
    OpenGL Information
    GL_VENDOR:     Panfrost
    GL_RENDERER:   Mali T720 (Panfrost)
    GL_VERSION:    2.1 Mesa 20.2.0-devel (git-c48f42e 2020-05-30 bionic-oibaf-ppa)
=======================================================
[build] use-vbo=false: FPS: 124 FrameTime: 8.065 ms
[build] use-vbo=true: FPS: 137 FrameTime: 7.299 ms
[texture] texture-filter=nearest:^C
shiva@orangepi3:/etc/X11/xorg.conf.d$ glmark2-es2 
=======================================================
    glmark2 2014.03+git20150611.fa71af2d
=======================================================
    OpenGL Information
    GL_VENDOR:     Panfrost
    GL_RENDERER:   Mali T720 (Panfrost)
    GL_VERSION:    OpenGL ES 2.0 Mesa 20.2.0-devel (git-c48f42e 2020-05-30 bionic-oibaf-ppa)
=======================================================
[build] use-vbo=false: FPS: 123 FrameTime: 8.130 ms
[build] use-vbo=true:^C