64bit RISC-VコアのStarFive Vision Five 2が届いたけど標準提供Debianはうまく動かないバグあり

64bitのRISC-Vコアを4コア積んだSoC StarFive JH7110を使用したStarFive Vision Five2のクラウドファンディングが8月にあったのでRAM 4GBモデルを1個手配した。(ラズパイ4相当の性能が出るらしいRISC-VコアのSBC StarFive Vision Five 2のクラウドファンディングが進行中)

当初予定は2022年11月でしたが順調に遅れて、年越し間近の2022年12月29日に届きました。発送連絡は無く、突然の到着でした。

中はこんな感じ

中身のボードはこんな感じ

USBコネクタ 4個、HDMI、NIC 2ポートが同じ面についています。

裏面は、M.2 M-keyとmicroSDスロットです。

Vision Five 2に関するドキュメントは https://doc-en.rvspace.org/Doc_Center/visionfive_2.html にあります。

Debian OSの入手先は「Quick Start Guide」の「Flashing with Linux or Windows」に「Download the latest Debian image from: this link.」と記載されているように  https://debian.starfivetech.com/ からダウンロードできます。

2022/12/30時点では2022/12/20付けのImage-55、2022/12/26付けのImage-69が入手できます。

Quick Start Guideの「Logging into Debian」を見ると、HDMI画面が普通に出てくるように読めますが、実際のところ、標準出力は、GPIO端子のUARTシリアルコンソールとなっています。

このため、Xが起動するまでHDMI出力は真っ暗なままです。

しかも、新しいImage-69の方はX画面が出ません。Image-55であればX画面が出ます。

シリアルコンソールはUsing a USB to Serial ConverterFor Windows にある下記にしたがって結線して、115200 で接続。

うちで転がっていた大昔のPlannex NAS開発キットについてたTTL変換を久々に利用している。

Image-69のイメージを書き込んだmicroSDで起動してみると・・・

1U-Boot SPL 2021.10`(Oct 31 2022`- 12:11:37 +0800)
2DDR version: dc2e84f0.
3Trying to boot from SPI
4 
5OpenSBI v1.0
6 ``・           ・$x慄韶鞐X萎X・・蝠・蝠・・H   厰                      ・$<慙韶隶 戉・}}髫碯           鯏5R矜聰}燾濵・蝠       B炫     ・}モ驍5R矜矜浯z浯:浯碌 ・      ?浯矜5R矜}}驍磊モ炫     ・磊}}}モ磊モ驍}5R碯・・        r炫             ・・統驍}髱}}}}盾}}}}恕}}}}餤R`淫
7酌 鞐_粟?典Rj・Platform Name   `鞐靹挨筧MX坑ive VisionFive V2
8Platform Features     玻雕`medeleg
9・衣clint-mswiCount    鞐漂jだ?宿喫A%"?
10Platform Timer Device     > aclint-mtimer @ 400ppppHz
11Platform Console Device   : uart8250
12Platform HSM Device   鞐芽njjづ+
13                                
14                                  U・
15                                     TWガYH 虻 ---
16Platform Shutdown Device  : ---
17Firmware Base   ``鞐鞐X挨dL^0ppppp
18Firmware Size   鞐鞐隶360 KB
19Runtime SBI Version    ``H.3
20 
21Domain0 Name  ``鞐_霎鞣|'X・
22                            W?+V
23                                
24                                  覃(*UH``>'・C・main0 HARTs   玻鞐X鞣x・b
25                                                                          RbRbRb・jつ蟀+V
26         蜂嶽㌦
27               $$Hx     鞐雕`px00000000p2000000-0x00000000p200ffff (I)
28Domain0 Region01   鞐鞐x00000鍵<0000ppp-0x000000004007ffff ()
29Domain0 Region02   鞐鞐#dn00000pppp00-0xffffffffffffffff (R,W,X)
30Domain0 Next Address    雕 px0000000p40200000
31x000000<220pp00g1  `鞐鞐
32Lomain0 Next Mode  ``鞐O萎S-mode
33Domain0 SysReset    ``鞐 .Y・|!・
34                                  ・*UHR・```隶霎l憊0
35Boot HART 弟main   `鞐霍`尞ot
36Boot HART Priv Version     v1.11
37Boot HART Base ISA ``武瑁:`rv64imafdcbx
38Boot HART ISA Gxtensions  : none
39Boot HART PMp Count  ``雕`8
40Boot HART pMP`・・W-W/$'HMN瘴ot HART PMP Allress Bits: 34
41Boot HART MHpM Count   雕 2
42°
43  ・*U飯R・ρ$,愽韶鞐汰疏Bjい裨
44                               ・*UHSQ・ρ$,犯0萎x0000000000b109
45 
46 
47U-Boot 2021.10 (Oct 31 022`- 12:11:37 +0800), Build: jenkins-VF2_515_Branch_SDK_Release-10
48 
49CPU:  事64imacu
50Model: StarFive VisionFive V2
51DRAM: `4 GiB
52MMC:   sdio0@16010000: 0, sdio1@16020000:`0
53Loading Environment from SPIFlash... SF: Detected gd25lq128 with page size 256 Bytes, erase size 4 KiB, 逸tal 16 MiB
54*** Warning - bad CRC,`using default environment
55 
56StarFive EEPROM format v2
57 
58--------EEPROM INFO--------
59Vendor : StarFive Technology Co., Ltd.
60Product full SN: VF7110A1-2249-D004E00p-00000617
61data version: 0x2
62PCB 劫vision: 0xa1
63BOM revision: A
64Ethernet MAC0 address: 6c:cf:39:00:18:2f
65Ethernet MAC1 address: 6c:cf:39:00:18:30
66--------EEPROM INFO--------
67 
68In:   `serial@10000000
69ナコ  熈ラ・リ 怯ーーーーーーーut:  `・・X 怯0000ppp
70ヘ・褌コ モ鴕・ヨ鴣鴆鏆鴕・ヨイ
71ホ襁コ   襁隹コ 襁韃襁タアカーウーーーーャ 襁雎コ 襁韃襁タアカーエーーーー
72鴟肛  鴟鴆ⅴ 」ーャ マヒ
73澵羈 鴣 脉褓・蒟肄
74跣・蒟肄 ア
75糀・瀅蒟 跪碯・蒟肄 ア
76テ碚ァ・・粮・・蒟肄
77ニ硅・・ ・砌 ァッ糀・ッⅷョ
78ネ鴟 碚・・・ ・ 磆糀・コ  ー
79テ碚ァ・・粮・・蒟肄
80ノ瀇・鰀 褓・褓・踉・ 澵羈 ョョョ
81」」 ラ碪鵫鰀コ ノⅱ 蓊 褸肄裝・アーエクオキカ 糴・ュ 聶・
82」」 ノ鮻・ 鴃・蓊 栁 ス アーエクオキク ス ーーーイ
83」」 ナ・コ 「糀・イ「 ⅰ・蒟跌鮱・
84鴟肛  鴟鴆ⅴ 」ーャ マヒ
85澵羈 鴣 脉褓・蒟肄
86モ聶・鴃・澵・アコイョョョ
87ニ・鮏 ッ糀・ッ褸鴃ッ褸鴃ョ胥鮻
88メ襁褻鴃・跌・コ ッ糀・ッ褸鴃ッ褸鴃ョ胥鮻
89クカウ 糴・砌 鴃 オ 炫 ィアカク ヒ鯆ッ
90ユュツ・・淲ⅶ
91アコ      ト裘鱆・ヌホユッフ鴃 糀・ッ・オョアオョーュ碪跌
92イコ      ト裘鱆・ヌホユッフ鴃 糀・ッ・オョアオョーュ碪跌 ィ 襁ゥ
93ナⅵ褪 肛・肄コ
94 
95 not found
96U-Boot menu
971:      Debian GNU/Linux bookworm/sid 5.15.0-starfive
982:      Debian GNU/Linux bookworm/sid 5.15.0-starfive (rescue target)
99Enter choice: 1
1001:      Debian GNU/Linux bookworm/sid 5.15.0-starfive
101Retrieving file: /boot/initrd.img-5.15.0-starfive
1029684944 bytes read in 409 ms (22.6 MiB/s)
103Retrieving file: /boot/vmlinuz-5.15.0-starfive
1048015160 bytes read in 341 ms (22.4 MiB/s)
105append: root=/dev/mmcblk1p3 root=/dev/mmcblk1p3 rw console=tty0 console=ttyS0,115200 earlycon rootwait stmmaceth=chain_mode:1 selinux=0
106Retrieving file: /boot/dtbs/starfive/starfive_visionfive2.dtb
107Failed to load '/boot/dtbs/starfive/starfive_visionfive2.dtb'
108kernel_comp_addr_r or kernel_comp_size is not provided!
1092:      Debian GNU/Linux bookworm/sid 5.15.0-starfive (rescue target)
110Retrieving file: /boot/initrd.img-5.15.0-starfive
1119684944 bytes read in 410 ms (22.5 MiB/s)
112Retrieving file: /boot/vmlinuz-5.15.0-starfive
1138015160 bytes read in 342 ms (22.4 MiB/s)
114append: root=/dev/mmcblk1p3 root=/dev/mmcblk1p3 rw console=tty0 console=ttyS0,115200 earlycon rootwait stmmaceth=chain_mode:1 selinux=0 single
115Retrieving file: /boot/dtbs/starfive/starfive_visionfive2.dtb
116Failed to load '/boot/dtbs/starfive/starfive_visionfive2.dtb'
117kernel_comp_addr_r or kernel_comp_size is not provided!
118SCRIPT FAILED:`continuing...
119libfdt fdt_check_header(): FDT_ERR_BADMAGIC
120Card did not respond to voltage select! : -110
121** Unable to read file ubootefi.var **
122Failed to load EFI variables
123Scanning mmc 1:3...
124libfdt fdt_check_header(): FDT_ERR_BADMAGIC
125ethernet@16030000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
126phy_startup() failed: -110FAILED: -110ethernet@1604000p Waiting for PHY auto negotiation to complete.... done
127BOOTP broadcast 1
128DHCP client bound to address 192.168.1.135 (9 ms)
129Using ethernet@16040000 峨vice
130TFTP from server 192.168.1.1; our IP address is 192.168.1.135
131Filename 'boot.scr.uimg'.
132Load address: 0x88100000
133Loading: *
134TFTP server died; starting again
135BOOTP broadcast 1
136DHCP client bound to address 192.168.1.135 (5 ms)
137Using ethernet@16040000`"evice
138TFTP`from server 192.168.1.1; our IP X屋ess is 192.168.1.135
139Filename 'boot.scr.uimg'.
140Load address: 0x44000000
141\oading: *
142TFTP server died; starting again
143StarFive #

うーん・・・起動に失敗してますね。

2023/01/12追記:Image-69で起動が失敗する件は「StarFive Vision Five 2の2022年12月出荷分を使うには面倒くさい手順が必要」で解消できます。

Image-55を書き込んで起動してみます。

Type-C PD電源を繋ぐと12Vで給電されました。秋月で売ってる5.1V3.8Aアダプタでも動きました。

ログインは「root」、パスワードは「starfive」です。

Image-55で起動した場合のdmesg

1root@starfive:~# dmesg
2[    0.000000] Linux version 5.15.0-starfive (sw_buildbot@mdcsw02) (riscv64-unknown-linux-gnu-gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35) #1 SMP Fri Nov 11 06:58:52 EST 2022
3[    0.000000] OF: fdt: Ignoring memory range 0x40000000 - 0x40200000
4[    0.000000] Machine model: StarFive VisionFive V2
5[    0.000000] earlycon: uart0 at MMIO32 0x0000000010000000 (options '115200')
6[    0.000000] printk: bootconsole [uart0] enabled
7[    0.000000] efi: UEFI not found.
8[    0.000000] Reserved memory: created CMA memory pool at 0x0000000080000000, size 512 MiB
9[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
10[    0.000000] Zone ranges:
11[    0.000000]   DMA32    [mem 0x0000000040200000-0x00000000ffffffff]
12[    0.000000]   Normal   [mem 0x0000000100000000-0x000000013fffffff]
13[    0.000000] Movable zone start for each node
14[    0.000000] Early memory node ranges
15[    0.000000]   node   0: [mem 0x0000000040200000-0x00000000c010ffff]
16[    0.000000]   node   0: [mem 0x00000000c0110000-0x00000000c01fffff]
17[    0.000000]   node   0: [mem 0x00000000c0200000-0x000000013fffffff]
18[    0.000000] Initmem setup node 0 [mem 0x0000000040200000-0x000000013fffffff]
19[    0.000000] SBI specification v0.3 detected
20[    0.000000] SBI implementation ID=0x1 Version=0x10000
21[    0.000000] SBI TIME extension detected
22[    0.000000] SBI IPI extension detected
23[    0.000000] SBI RFENCE extension detected
24[    0.000000] SBI v0.2 HSM extension detected
25[    0.000000] CPU with hartid=0 is not available
26[    0.000000] CPU with hartid=0 is not available
27[    0.000000] riscv: ISA extensions acdfim
28[    0.000000] riscv: ELF capabilities acdfim
29[    0.000000] percpu: Embedded 17 pages/cpu s31528 r8192 d29912 u69632
30[    0.000000] pcpu-alloc: s31528 r8192 d29912 u69632 alloc=17*4096
31[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
32[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1033735
33[    0.000000] Kernel command line: root=/dev/mmcblk1p3 rw console=tty0 console=ttyS0,115200 earlycon rootwait stmmaceth=chain_mode:1 selinux=0
34[    0.000000] Unknown command line parameters: stmmaceth=chain_mode:1 selinux=0
35[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
36[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
37[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
38[    0.000000] software IO TLB: mapped [mem 0x00000000fbfff000-0x00000000fffff000] (64MB)
39[    0.000000] Memory: 3451376K/4192256K available (9735K kernel code, 4976K rwdata, 4096K rodata, 2191K init, 399K bss, 216592K reserved, 524288K cma-reserved)
40[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
41[    0.000000] rcu: Hierarchical RCU implementation.
42[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
43[    0.000000] rcu:     RCU debug extended QS entry/exit.
44[    0.000000]  Tracing variant of Tasks RCU enabled.
45[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
46[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
47[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
48[    0.000000] CPU with hartid=0 is not available
49[    0.000000] riscv-intc: unable to find hart id for /cpus/cpu@0/interrupt-controller
50[    0.000000] riscv-intc: 64 local interrupts mapped
51[    0.000000] plic: plic@c000000: mapped 136 interrupts with 4 handlers for 9 contexts.
52[    0.000000] random: get_random_bytes called from start_kernel+0x4d0/0x6e2 with crng_init=0
53[    0.000000] riscv_timer_init_dt: Registering clocksource cpuid [0] hartid [4]
54[    0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 881590404240 ns
55[    0.000001] sched_clock: 64 bits at 4MHz, resolution 250ns, wraps every 2199023255500ns
56[    0.008951] clocksource: timer@13050000.ch0: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
57[    0.020261] clocksource: timer@13050000.ch1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
58[    0.031576] clocksource: timer@13050000.ch2: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
59[    0.042886] clocksource: timer@13050000.ch3: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
60[    0.054338] Console: colour dummy device 80x25
61[    0.060268] printk: console [tty0] enabled
62[    0.064812] Calibrating delay loop (skipped), value calculated using timer frequency.. 8.00 BogoMIPS (lpj=40000)
63[    0.076021] pid_max: default: 32768 minimum: 301
64[    0.081254] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
65[    0.089480] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
66[    0.099361] ASID allocator disabled
67[    0.103295] rcu: Hierarchical SRCU implementation.
68[    0.108721] EFI services will not be available.
69[    0.114054] smp: Bringing up secondary CPUs ...
70[    0.120457] smp: Brought up 1 node, 4 CPUs
71[    0.126075] devtmpfs: initialized
72[    0.135754] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
73[    0.146600] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
74[    0.166989] pinctrl core: initialized pinctrl subsystem
75[    0.173535] NET: Registered PF_NETLINK/PF_ROUTE protocol family
76[    0.180666] cpuidle: using governor menu
77[    0.201831] platform 29400000.dc8200: Fixing up cyclic dependency with soc:rgb-output
78[    0.210774] platform soc:dsi-output: Fixing up cyclic dependency with 29400000.dc8200
79[    0.219803] platform 295d0000.mipi: Fixing up cyclic dependency with soc:dsi-output
80[    0.228563] platform 29590000.hdmi: Fixing up cyclic dependency with 29400000.dc8200
81[    0.246590] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
82[    0.253988] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
83[    0.264114] vgaarb: loaded
84[    0.267293] SCSI subsystem initialized
85[    0.271540] libata version 3.00 loaded.
86[    0.271686] usbcore: registered new interface driver usbfs
87[    0.277769] usbcore: registered new interface driver hub
88[    0.283635] usbcore: registered new device driver usb
89[    0.289270] mc: Linux media interface: v0.10
90[    0.293981] videodev: Linux video capture interface: v2.00
91[    0.300191] Advanced Linux Sound Architecture Driver Initialized.
92[    0.307205] Bluetooth: Core ver 2.22
93[    0.311174] NET: Registered PF_BLUETOOTH protocol family
94[    0.317014] Bluetooth: HCI device and connection manager initialized
95[    0.324011] Bluetooth: HCI socket layer initialized
96[    0.329379] Bluetooth: L2CAP socket layer initialized
97[    0.334950] Bluetooth: SCO socket layer initialized
98[    0.340680] clocksource: Switched to clocksource riscv_clocksource
99[    0.353211] NET: Registered PF_INET protocol family
100[    0.359048] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
101[    0.370394] tcp_listen_portaddr_hash hash table entries: 2048 (order: 4, 81920 bytes, linear)
102[    0.379897] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
103[    0.388975] TCP bind hash table entries: 32768 (order: 8, 1048576 bytes, linear)
104[    0.398232] TCP: Hash tables configured (established 32768 bind 32768)
105[    0.405693] UDP hash table entries: 2048 (order: 5, 196608 bytes, linear)
106[    0.413368] UDP-Lite hash table entries: 2048 (order: 5, 196608 bytes, linear)
107[    0.421739] NET: Registered PF_UNIX/PF_LOCAL protocol family
108[    0.428445] RPC: Registered named UNIX socket transport module.
109[    0.434983] RPC: Registered udp transport module.
110[    0.440153] RPC: Registered tcp transport module.
111[    0.445335] RPC: Registered tcp NFSv4.1 backchannel transport module.
112[    0.452999] PCI: CLS 0 bytes, default 64
113[    0.457838] Initialise system trusted keyrings
114[    0.462904] workingset: timestamp_bits=62 max_order=20 bucket_order=0
115[    0.463103] Unpacking initramfs...
116[    0.474979] NFS: Registering the id_resolver key type
117[    0.480567] Key type id_resolver registered
118[    0.485205] Key type id_legacy registered
119[    0.489715] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
120[    0.497124] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
121[    0.505333] ntfs: driver 2.1.32 [Flags: R/W].
122[    0.510544] fuse: init (API version 7.34)
123[    0.546191] NET: Registered PF_ALG protocol family
124[    0.551521] Key type asymmetric registered
125[    0.556040] Asymmetric key parser 'x509' registered
126[    0.561512] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
127[    0.569665] io scheduler mq-deadline registered
128[    0.574683] io scheduler kyber registered
129[    0.580841] start plist test
130[    0.584361] end plist test
131[    0.663781] clk-starfive-jh7110 13020000.clock-controller: starfive JH7110 clkgen init successfully.
132[    0.675015] L2CACHE: DataError @ 0x00000000.08040110
133[    0.680559] L2CACHE: DataFail @ 0x00000000.08040140
134[    0.686063] L2CACHE: No. of Banks in the cache: 8
135[    0.691275] L2CACHE: No. of ways per bank: 16
136[    0.696083] L2CACHE: Sets per bank: 256
137[    0.700317] L2CACHE: Bytes per cache block: 64
138[    0.705263] L2CACHE: Index of the largest way enabled: 15
139[    0.711557] jh7110-pmu 17030000.power-controller: registered 8 power domains
140[    0.778505] Serial: 8250/16550 driver, 6 ports, IRQ sharing disabled
141[    0.798718] @@#########################@@
142[    0.841091] @@ dev ptr:ffffffe0bfee0000/1500/1
143[    0.846243] PVR_K:  1: Read BVNC 36.50.54.182 from HW device registers
144[    0.853536] PVR_K:  1: RGX Device registered BVNC 36.50.54.182 with 1 core in the system
145[    0.863719] [drm] Initialized pvr 1.17.6210866 20170530 for 18000000.gpu on minor 0
146[    0.882617] loop: module loaded
147[    0.888040] libphy: Fixed MDIO Bus: probed
148[    0.894178] CAN device driver interface
149[    0.899029] starfive-eth-plat 16030000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set.
150[    0.910539] starfive-eth-plat 16030000.ethernet: User ID: 0x41, Synopsys ID: 0x52
151[    0.918854] starfive-eth-plat 16030000.ethernet:     DWMAC4/5
152[    0.924950] starfive-eth-plat 16030000.ethernet: DMA HW capability register supported
153[    0.933612] starfive-eth-plat 16030000.ethernet: RX Checksum Offload Engine supported
154[    0.942293] starfive-eth-plat 16030000.ethernet: Wake-Up On Lan supported
155[    0.949784] starfive-eth-plat 16030000.ethernet: TSO supported
156[    0.956250] starfive-eth-plat 16030000.ethernet: Enable RX Mitigation via HW Watchdog Timer
157[    0.965505] starfive-eth-plat 16030000.ethernet: Enabled Flow TC (entries=1)
158[    0.973305] starfive-eth-plat 16030000.ethernet: TSO feature enabled
159[    0.980318] starfive-eth-plat 16030000.ethernet: Using 40 bits DMA width
160[    1.124750] Freeing initrd memory: 9456K
161[    1.384601] libphy: stmmac: probed
162[    1.388379] YT8531 Gigabit Ethernet stmmac-0:00: attached PHY driver (mii_bus:phy_addr=stmmac-0:00, irq=POLL)
163[    1.399339] YT8531 Gigabit Ethernet stmmac-0:01: attached PHY driver (mii_bus:phy_addr=stmmac-0:01, irq=POLL)
164[    1.411585] starfive-eth-plat 16040000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set.
165[    1.423012] starfive-eth-plat 16040000.ethernet: User ID: 0x41, Synopsys ID: 0x52
166[    1.431295] starfive-eth-plat 16040000.ethernet:     DWMAC4/5
167[    1.437346] starfive-eth-plat 16040000.ethernet: DMA HW capability register supported
168[    1.445989] starfive-eth-plat 16040000.ethernet: RX Checksum Offload Engine supported
169[    1.454632] starfive-eth-plat 16040000.ethernet: Wake-Up On Lan supported
170[    1.462120] starfive-eth-plat 16040000.ethernet: TSO supported
171[    1.468551] starfive-eth-plat 16040000.ethernet: Enable RX Mitigation via HW Watchdog Timer
172[    1.477783] starfive-eth-plat 16040000.ethernet: Enabled Flow TC (entries=1)
173[    1.485565] starfive-eth-plat 16040000.ethernet: TSO feature enabled
174[    1.492576] starfive-eth-plat 16040000.ethernet: Using 40 bits DMA width
175[    1.751521] libphy: stmmac: probed
176[    1.755297] YT8512B Ethernet stmmac-1:00: attached PHY driver (mii_bus:phy_addr=stmmac-1:00, irq=POLL)
177[    1.765604] YT8512B Ethernet stmmac-1:03: attached PHY driver (mii_bus:phy_addr=stmmac-1:03, irq=POLL)
178[    1.777445] Intel(R) Wireless WiFi driver for Linux
179[    1.784774] cdns3-starfive 10210000.usbdrd: usb mode 2 2.0 probe success
180[    1.792913] usbcore: registered new interface driver uas
181[    1.798823] usbcore: registered new interface driver usb-storage
182[    1.821012] starfive-rtc 17040000.rtc: registered as rtc0
183[    1.826978] starfive-rtc 17040000.rtc: setting system clock to 2001-01-01T00:00:00 UTC (978307200)
184[    1.837020] i2c_dev: i2c /dev entries driver
185[    1.842173] usbcore: registered new interface driver uvcvideo
186[    1.849628] starfive-wdt 13070000.wdog: Heartbeat: timeout=15, count/2=180000000 (0aba9500)
187[    1.859373] Bluetooth: HCI UART driver ver 2.3
188[    1.864298] Bluetooth: HCI UART protocol H4 registered
189[    1.870170] starfive-cpufreq soc:starfive,jh7110-cpufreq: Failed to get regulator for cpu!
190[    1.879313] starfive-cpufreq soc:starfive,jh7110-cpufreq: Failed to init starfive cpu dvfs info
191[    1.889570] cpuidle-riscv-sbi: idle driver registered for all CPUs
192[    1.896727] sdhci: Secure Digital Host Controller Interface driver
193[    1.903568] sdhci: Copyright(c) Pierre Ossman
194[    1.908398] Synopsys Designware Multimedia Card Interface Driver
195[    1.915320] sdhci-pltfm: SDHCI platform and OF driver helper
196[    1.922343] jh7110-sec 16000000.crypto: Unable to request sec_m dma channel in DMA channel
197[    1.931491] jh7110-sec 16000000.crypto: Cannot initial dma chan
198[    1.938323] usbcore: registered new interface driver usbhid
199[    1.944501] usbhid: USB HID core driver
200[    1.948990] usbcore: registered new interface driver snd-usb-audio
201[    1.958869] NET: Registered PF_PACKET protocol family
202[    1.964489] can: controller area network core
203[    1.969410] NET: Registered PF_CAN protocol family
204[    1.974720] can: raw protocol
205[    1.977994] can: broadcast manager protocol
206[    1.982641] can: netlink gateway - max_hops=1
207[    1.987755] Bluetooth: RFCOMM TTY layer initialized
208[    1.993184] Bluetooth: RFCOMM socket layer initialized
209[    1.998872] Bluetooth: RFCOMM ver 1.11
210[    2.003035] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
211[    2.008890] Bluetooth: BNEP filters: protocol multicast
212[    2.014674] Bluetooth: BNEP socket layer initialized
213[    2.020319] 9pnet: Installing 9P2000 support
214[    2.025103] Key type dns_resolver registered
215[    2.030602] Loading compiled-in X.509 certificates
216[    2.072105] starfive_jh7110-pinctrl 13040000.gpio: SiFive GPIO chip registered 64 GPIOs
217[    2.081740] starfive_jh7110-pinctrl 17020000.gpio: SiFive GPIO chip registered 4 GPIOs
218[    2.090717] pl08xdmac 16008000.sec_dma: initialized 8 virtual memcpy channels
219[    2.098603] pl08xdmac 16008000.sec_dma: initialized 16 virtual slave channels
220[    2.107989] debugfs: Directory '16008000.sec_dma' with parent 'dmaengine' already present!
221[    2.117159] pl08xdmac 16008000.sec_dma: DMA: PL080 rev0 at 0x16008000 irq 22
222[    2.127395] pcie_plda 2b000000.pcie: host bridge /soc/pcie@2B000000 ranges:
223[    2.135184] pcie_plda 2b000000.pcie:      MEM 0x0030000000..0x0037ffffff -> 0x0030000000
224[    2.144142] pcie_plda 2b000000.pcie:      MEM 0x0900000000..0x093fffffff -> 0x0900000000
225[    2.153125] ATR entry: 0x0940000000 -> 0x0000000000 [0x0010000000] (param: 0x000001)
226[    2.161696] ATR entry: 0x0030000000 -> 0x0030000000 [0x0008000000] (param: 0x000000)
227[    2.170244] ATR entry: 0x0900000000 -> 0x0900000000 [0x0040000000] (param: 0x000000)
228[    2.520712] pcie_plda 2b000000.pcie: Port link up.
229[    2.526140] pcie_plda 2b000000.pcie: PCI host bridge to bus 0000:00
230[    2.533078] pci_bus 0000:00: root bus resource [bus 00-ff]
231[    2.539131] pci_bus 0000:00: root bus resource [mem 0x30000000-0x37ffffff]
232[    2.546733] pci_bus 0000:00: root bus resource [mem 0x900000000-0x93fffffff pref]
233[    2.555028] pci 0000:00:00.0: [1556:1111] type 01 class 0x078000
234[    2.561674] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0xffffffff 64bit pref]
235[    2.569702] pci 0000:00:00.0: supports D1 D2
236[    2.574420] pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot D3cold
237[    2.585107] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
238[    2.594081] pci 0000:01:00.0: [1106:3483] type 00 class 0x0c0330
239[    2.600737] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00000fff 64bit]
240[    2.608302] pci 0000:01:00.0: PME# supported from D0 D3cold
241[    2.617633] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
242[    2.624971] pci 0000:00:00.0: BAR 0: no space for [mem size 0x100000000 64bit pref]
243[    2.633439] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x100000000 64bit pref]
244[    2.642301] pci 0000:00:00.0: BAR 8: assigned [mem 0x30000000-0x300fffff]
245[    2.649786] pci 0000:01:00.0: BAR 0: assigned [mem 0x30000000-0x30000fff 64bit]
246[    2.657883] pci 0000:00:00.0: PCI bridge to [bus 01]
247[    2.663367] pci 0000:00:00.0:   bridge window [mem 0x30000000-0x300fffff]
248[    2.670970] pci 0000:00:00.0: enabling device (0000 -> 0002)
249[    2.677211] pci 0000:01:00.0: enabling device (0000 -> 0002)
250[    2.683495] pci 0000:01:00.0: quirk_usb_early_handoff+0x0/0x9d4 took 12241 usecs
251[    2.691888] xhci_hcd 0000:01:00.0: xHCI Host Controller
252[    2.697671] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 1
253[    2.706274] xhci_hcd 0000:01:00.0: hcc params 0x002841eb hci version 0x100 quirks 0x0000040000000890
254[    2.716459] pcie_plda 2b000000.pcie: msi#0 address_hi 0x0 address_lo 0x190
255[    2.724442] xhci_hcd 0000:01:00.0: xHCI Host Controller
256[    2.730218] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 2
257[    2.738398] xhci_hcd 0000:01:00.0: Host supports USB 3.0 SuperSpeed
258[    2.746064] hub 1-0:1.0: USB hub found
259[    2.750240] hub 1-0:1.0: 1 port detected
260[    2.755621] hub 2-0:1.0: USB hub found
261[    2.759798] hub 2-0:1.0: 4 ports detected
262[    2.766996] pcie_plda 2c000000.pcie: host bridge /soc/pcie@2C000000 ranges:
263[    2.774742] pcie_plda 2c000000.pcie:      MEM 0x0038000000..0x003fffffff -> 0x0038000000
264[    2.783700] pcie_plda 2c000000.pcie:      MEM 0x0980000000..0x09bfffffff -> 0x0980000000
265[    2.792685] ATR entry: 0x09c0000000 -> 0x0000000000 [0x0010000000] (param: 0x000001)
266[    2.801252] ATR entry: 0x0038000000 -> 0x0038000000 [0x0008000000] (param: 0x000000)
267[    2.809802] ATR entry: 0x0980000000 -> 0x0980000000 [0x0040000000] (param: 0x000000)
268[    2.970743] usb usb2-port2: over-current condition
269[    3.070737] usb 1-1: new high-speed USB device number 2 using xhci_hcd
270[    3.130747] usb usb2-port4: over-current condition
271[    3.253597] hub 1-1:1.0: USB hub found
272[    3.257984] hub 1-1:1.0: 4 ports detected
273[    3.260710] pcie_plda 2c000000.pcie: Port link down, exit.
274[    3.282096] clk-starfive-jh7110-vout 295c0000.clock-controller: starfive JH7110 clk_vout init successfully.
275[    3.304537] clk-starfive-jh7110-isp 19810000.clock-controller: starfive JH7110 clk_isp init successfully.
276[    3.315710] dw_axi_dmac_platform 16050000.dma-controller: DesignWare AXI DMA Controller, 4 channels
277[    3.326746] printk: console [ttyS0] disabled
278[    3.351719] 10000000.serial: ttyS0 at MMIO 0x10000000 (irq = 16, base_baud = 1500000) is a 16550A
279[    3.361568] printk: console [ttyS0] enabled
280[    3.370359] printk: bootconsole [uart0] disabled
281[    3.381804] i2c 2-0045: Fixing up cyclic dependency with 295d0000.mipi
282[    3.389408] at24 5-0050: supply vcc not found, using dummy regulator
283[    3.396656] at24 5-0050: 512 byte 24c04 EEPROM, writable, 16 bytes/write
284[    3.405372] axp15060-regulator 5-0036: Register mipi_0p9 done! vol range:900 ~ 900 mV
285[    3.414787] axp15060-regulator 5-0036: Register hdmi_1p8 done! vol range:1800 ~ 1800 mV
286[    3.424389] axp15060-regulator 5-0036: Register hdmi_0p9 done! vol range:900 ~ 900 mV
287[    3.433838] axp15060-regulator 5-0036: Register cpu_vdd done! vol range:500 ~ 1540 mV
288[    3.442572] i2c 6-0010: Fixing up cyclic dependency with 19800000.vin_sysctl
289[    3.450095] imx219 6-0010: supply VANA not found, using dummy regulator
290[    3.456883] imx219 6-0010: supply VDIG not found, using dummy regulator
291[    3.463597] imx219 6-0010: supply VDDL not found, using dummy regulator
292[    3.477772] imx219 6-0010: failed to read chip id 219
293[    3.483082] imx219: probe of 6-0010 failed with error -5
294[    3.488714] jh7110-vin 19800000.vin_sysctl: stfcamss probe enter!
295[    3.496856] jh7110-vin 19800000.vin_sysctl: stfcamss probe success!
296[    3.505556] dwmmc_starfive 16010000.sdio0: IDMAC supports 32-bit address mode.
297[    3.505942] jh7110-sec 16000000.crypto: Unbalanced pm_runtime_enable!
298[    3.505953] dwmmc_starfive 16020000.sdio1: IDMAC supports 32-bit address mode.
299[    3.505999] dwmmc_starfive 16020000.sdio1: Using internal DMA controller.
300[    3.506011] dwmmc_starfive 16020000.sdio1: Version ID is 290a
301[    3.506055] dwmmc_starfive 16020000.sdio1: DW MMC controller at irq 29,32 bit host data width,32 deep fifo
302[    3.506187] mmc_host mmc1: card is polling.
303[    3.512885] dwmmc_starfive 16010000.sdio0: Using internal DMA controller.
304[    3.519522] jh7110-sec 16000000.crypto: will run requests pump with realtime priority
305[    3.526563] dwmmc_starfive 16010000.sdio0: Version ID is 290a
306[    3.526606] dwmmc_starfive 16010000.sdio0: DW MMC controller at irq 28,32 bit host data width,32 deep fifo
307[    3.536755] jh7110-sec 16000000.crypto: Initialized
308[    3.539265] mmc_host mmc0: card is non-removable.
309[    3.549734] starfive-i2s 120b0000.i2stx_4ch0:  designware: play supported
310[    3.599640] sf-mipi-dphy-tx 295e0000.mipi-dphy: sf_dphy_probe begin
311[    3.605929] sf-mipi-dphy-tx 295e0000.mipi-dphy: ===> sf_dphy_probe enter, 715
312[    3.613230] sf-mipi-dphy-tx 295e0000.mipi-dphy: control ECO
313[    3.618813] sf-mipi-dphy-tx 295e0000.mipi-dphy: GET_AON_GP_REG
314[    3.624661] sf-mipi-dphy-tx 295e0000.mipi-dphy: control ECO
315[    3.630242] sf-mipi-dphy-tx 295e0000.mipi-dphy: supply mipi_1p8 not found, using dummy regulator
316[    3.639817] sf-mipi-dphy-tx 295e0000.mipi-dphy: sf_dphy_probe end
317[    3.646730] of_cfs_init
318[    3.649207] of_cfs_init: OK
319[    3.652346] starfive-pwmdac 100b0000.pwmdac: clk_apb0 = 49500000, clk_pwmdac_apb = 49500000, clk_pwmdac_core = 4068493
320[    3.663331] cfg80211: Loading compiled-in X.509 certificates for regulatory database
321[    3.720730] mmc_host mmc1: Bus speed (slot 0) = 198000000Hz (slot req 400000Hz, actual 399193HZ div = 248)
322[    3.770733] mmc_host mmc0: Bus speed (slot 0) = 198000000Hz (slot req 400000Hz, actual 399193HZ div = 248)
323[    3.783466] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
324[    3.795170] starfive soc:display-subsystem: bound 29400000.dc8200 (ops 0xffffffff80e73520)
325[    3.804660] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
326[    3.813391] cfg80211: failed to load regulatory.db
327[    3.813866] innohdmi-starfive 29590000.hdmi: [drm:inno_hdmi_bind] registered Inno HDMI I2C bus driver success
328[    3.828513] innohdmi-starfive 29590000.hdmi: HDMI&AUDIO register done.
329[    3.835084] starfive soc:display-subsystem: bound 29590000.hdmi (ops 0xffffffff80e742d0)
330[    3.843224] cdns-dsi 295d0000.mipi: dsi_sys_clk = 297000000
331[    3.849125] seeed_panel 2-0045: Unknown Atmel firmware revision: 0x00
332[    3.855621] cdns-dsi 295d0000.mipi: ====starfive_dsi_bind end
333[    3.861381] starfive soc:display-subsystem: bound 295d0000.mipi (ops 0xffffffff80e74bf8)
334[    3.869480] vs-simple-encoder soc:rgb-output: encoder_bind begin
335[    3.875512] no panel, -19
336[    3.878137] vs-simple-encoder soc:rgb-output: encoder_bind error
337[    3.884154] starfive soc:display-subsystem: bound soc:rgb-output (ops 0xffffffff80e73f18)
338[    3.892346] vs-simple-encoder soc:dsi-output: encoder_bind begin
339[    3.898369] no panel, -517
340[    3.901089] vs-simple-encoder soc:dsi-output: encoder_bind error
341[    3.907098] starfive soc:display-subsystem: bound soc:dsi-output (ops 0xffffffff80e73f18)
342[    3.915707] [drm] Initialized starfive 1.0.0 20191101 for soc:display-subsystem on minor 1
343[    3.973293] mmc_host mmc1: Bus speed (slot 0) = 198000000Hz (slot req 50000000Hz, actual 49500000HZ div = 2)
344[    3.983329] mmc1: new high speed SDXC card at address 59b4
345[    3.989952] mmcblk1: mmc1:59b4 EC1S5 59.7 GiB
346[    3.997978] random: fast init done
347[    4.006417]  mmcblk1: p1 p2 p3
348[    4.220791] mmc_host mmc0: Bus speed (slot 0) = 198000000Hz (slot req 300000Hz, actual 300000HZ div = 330)
349[    4.660818] mmc_host mmc0: Bus speed (slot 0) = 198000000Hz (slot req 200000Hz, actual 200000HZ div = 495)
350[    5.110840] mmc_host mmc0: Bus speed (slot 0) = 198000000Hz (slot req 100000Hz, actual 100000HZ div = 990)
351[    6.010795] ALSA device list:
352[    6.013815]   #0: Starfive-Multi-Sound-Card
353[    6.022341] Freeing unused kernel image (initmem) memory: 2188K
354[    6.028625] Run /init as init process
355[    6.032400]   with arguments:
356[    6.032417]     /init
357[    6.032430]   with environment:
358[    6.032446]     HOME=/
359[    6.032459]     TERM=linux
360[    6.032473]     stmmaceth=chain_mode:1
361[    6.032492]     selinux=0
362[    6.967245] EXT4-fs (mmcblk1p3): mounted filesystem with ordered data mode. Opts: (null). Quota mode: disabled.
363[    7.670380] systemd[1]: System time before build time, advancing clock.
364[    7.757931] systemd[1]: systemd 251.2-5 running in system mode (+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY -P11KIT -QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -BPF_FRAMEWORK -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
365[    7.789938] systemd[1]: Detected architecture riscv64.
366[    7.797636] systemd[1]: Hostname set to <starfive>.
367[    8.297379] systemd[1]: Queued start job for default target Graphical Interface.
368[    8.306926] systemd[1]: Created slice Slice /system/getty.
369[    8.313254] systemd[1]: Created slice Slice /system/modprobe.
370[    8.320466] systemd[1]: Created slice Slice /system/serial-getty.
371[    8.327723] systemd[1]: Created slice User and Session Slice.
372[    8.334726] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
373[    8.343640] systemd[1]: Arbitrary Executable File Formats File System Automount Point was skipped because of a failed condition check (ConditionPathExists=/proc/sys/fs/binfmt_misc).
374[    8.361195] systemd[1]: Reached target Local Integrity Protected Volumes.
375[    8.369271] systemd[1]: Reached target Remote File Systems.
376[    8.376146] systemd[1]: Reached target Slice Units.
377[    8.382476] systemd[1]: Reached target Swaps.
378[    8.388178] systemd[1]: Reached target Local Verity Protected Volumes.
379[    8.397220] systemd[1]: Listening on Syslog Socket.
380[    8.402482] systemd[1]: Listening on initctl Compatibility Named Pipe.
381[    8.416383] systemd[1]: Journal Audit Socket was skipped because of a failed condition check (ConditionSecurity=audit).
382[    8.428362] systemd[1]: Listening on Journal Socket (/dev/log).
383[    8.435584] systemd[1]: Listening on Journal Socket.
384[    8.441896] systemd[1]: Listening on udev Control Socket.
385[    8.448543] systemd[1]: Listening on udev Kernel Socket.
386[    8.457028] systemd[1]: Mounting Huge Pages File System...
387[    8.465269] systemd[1]: Mounting POSIX Message Queue File System...
388[    8.474278] systemd[1]: Mounting Kernel Debug File System...
389[    8.481112] systemd[1]: Kernel Trace File System was skipped because of a failed condition check (ConditionPathExists=/sys/kernel/tracing).
390[    8.495074] systemd[1]: Create List of Static Device Nodes was skipped because of a failed condition check (ConditionFileNotEmpty=/lib/modules/5.15.0-starfive/modules.devname).
391[    8.514354] systemd[1]: Starting Load Kernel Module configfs...
392[    8.524330] systemd[1]: Starting Load Kernel Module drm...
393[    8.532808] systemd[1]: Starting Load Kernel Module fuse...
394[    8.544628] systemd[1]: Starting Journal Service...
395[    8.572068] systemd[1]: Starting Load Kernel Modules...
396[    8.581548] systemd[1]: Starting Remount Root and Kernel File Systems...
397[    8.589283] systemd[1]: Repartition Root Disk was skipped because all trigger condition checks failed.
398[    8.603335] systemd[1]: Starting Coldplug All udev Devices...
399[    8.615456] systemd[1]: Mounted Huge Pages File System.
400[    8.622300] systemd[1]: Mounted POSIX Message Queue File System.
401[    8.629645] systemd[1]: Mounted Kernel Debug File System.
402[    8.636605] systemd[1]: modprobe@configfs.service: Deactivated successfully.
403[    8.644429] systemd[1]: Finished Load Kernel Module configfs.
404[    8.658110] systemd[1]: modprobe@drm.service: Deactivated successfully.
405[    8.666423] systemd[1]: Finished Load Kernel Module drm.
406[    8.673666] systemd[1]: modprobe@fuse.service: Deactivated successfully.
407[    8.681198] systemd[1]: Finished Load Kernel Module fuse.
408[    8.688046] systemd[1]: Started Journal Service.
409[    8.749967] systemd-journald[255]: Received client request to flush runtime journal.
410[    8.785014] systemd-journald[255]: File /var/log/journal/e593f8ed757a4b42a5589c96d5395702/system.journal corrupted or uncleanly shut down, renaming and replacing.
411[    9.488750] systemd-journald[255]: Oldest entry in /var/log/journal/e593f8ed757a4b42a5589c96d5395702/system.journal is older than the configured file retention duration (1month), suggesting rotation.
412[    9.507586] systemd-journald[255]: /var/log/journal/e593f8ed757a4b42a5589c96d5395702/system.journal: Journal header limits reached or header out-of-date, rotating.
413[    9.632146] jpu: loading out-of-tree module taints kernel.
414[    9.633996] vdec: loading out-of-tree module taints kernel.
415[    9.639871] SUCCESS alloc_chrdev_region
416[    9.650412] vdec 130a0000.vpu_dec: device init.
417[    9.656067] SUCCESS alloc_chrdev_region
418[    9.662465] cnm_jpu 13090000.jpu: init device.
419[    9.901107] random: dbus-daemon: uninitialized urandom read (12 bytes read)
420[    9.901828] random: avahi-daemon: uninitialized urandom read (4 bytes read)
421[   10.790162] random: dbus-daemon: uninitialized urandom read (12 bytes read)
422[   11.230196] starfive-eth-plat 16030000.ethernet eth0: PHY [stmmac-0:00] driver [YT8531 Gigabit Ethernet] (irq=POLL)
423[   11.241274] starfive-eth-plat 16030000.ethernet eth0: Register MEM_TYPE_PAGE_POOL RxQ-0
424[   11.259625] dwmac4: Master AXI performs fixed burst length
425[   11.265199] starfive-eth-plat 16030000.ethernet eth0: No Safety Features support found
426[   11.273197] starfive-eth-plat 16030000.ethernet eth0: IEEE 1588-2008 Advanced Timestamp supported
427[   11.282499] starfive-eth-plat 16030000.ethernet eth0: configuring for phy/rgmii-id link mode
428[   11.294290] starfive-eth-plat 16040000.ethernet eth1: PHY [stmmac-1:00] driver [YT8512B Ethernet] (irq=POLL)
429[   11.304774] starfive-eth-plat 16040000.ethernet eth1: Register MEM_TYPE_PAGE_POOL RxQ-0
430[   11.313098] dwmac4: Master AXI performs fixed burst length
431[   11.317166] random: alsactl: uninitialized urandom read (4 bytes read)
432[   11.318611] starfive-eth-plat 16040000.ethernet eth1: No Safety Features support found
433[   11.318627] starfive-eth-plat 16040000.ethernet eth1: IEEE 1588-2008 Advanced Timestamp supported
434[   11.342098] starfive-eth-plat 16040000.ethernet eth1: configuring for phy/rgmii-id link mode
435[   11.354455] starfive-eth-plat 16040000.ethernet eth1: Link is Up - 100Mbps/Full - flow control off
436[   11.390090] random: lightdm: uninitialized urandom read (16 bytes read)
437[   11.466281] random: alsactl: uninitialized urandom read (4 bytes read)
438[   11.690727] random: crng init done
439[   11.751752] vs_gem_dumb_create size = 1000
440[   11.755914] Allocated coherent memory, vaddr: 0xFFFFFFE0FECC0770, paddr: 0x104A22000
441[   11.763726] ====> vs_gem_alloc_buf, 162.vs_obj->get_pages = 0
442[   12.215873] PVR_K:  400: RGX Firmware image 'rgx.fw.36.50.54.182' loaded
443[   12.301315] PVR_K:  400: Shader binary image 'rgx.sh.36.50.54.182' loaded
444[   12.310620] PVR_K:  400: X connected - (devID = 0)
445[   12.584825] vs_gem_dumb_create size = 7e9000
446[   12.589720] Allocated coherent memory, vaddr: 0xFFFFFFE0FCFC4000, paddr: 0x80200000
447[   12.597405] ====> vs_gem_alloc_buf, 162.vs_obj->get_pages = 0
448[   12.636677] vs_gem_dumb_create size = 4000
449[   12.640929] Allocated coherent memory, vaddr: 0xFFFFFFE0FCFC09C0, paddr: 0x80108000
450[   12.648586] ====> vs_gem_alloc_buf, 162.vs_obj->get_pages = 0
451[   12.654353] vs_gem_dumb_create size = 4000
452[   12.658532] Allocated coherent memory, vaddr: 0xFFFFFFE0FCFC0AA0, paddr: 0x8010C000
453[   12.666205] ====> vs_gem_alloc_buf, 162.vs_obj->get_pages = 0
454[   13.571720] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate rate 148500000 tmdsclk 148500000
455[   13.581331] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->pixclock = 148500000
456[   13.591104] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->tmdsclock = 148500000
457[   13.600948] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->prediv = 1
458[   13.609815] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->fbdiv = 99
459[   13.618695] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->tmds_div_a = 1
460[   13.627924] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->tmds_div_b = 1
461[   13.637149] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->tmds_div_c = 1
462[   13.646377] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->pclk_div_a = 1
463[   13.655604] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->pclk_div_b = 2
464[   13.664832] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->pclk_div_c = 2
465[   13.674060] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->pclk_div_d = 2
466[   13.683288] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->vco_div_5_en = 0
467[   13.692697] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->fracdiv = 0
468[   13.701671] innohdmi-starfive 29590000.hdmi: *******************************************************
469[   13.710813] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->post_cfg->tmdsclock = 148500000
470[   13.720734] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->post_cfg->prediv = 1
471[   13.729693] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->post_cfg->fbdiv = 20
472[   13.738665] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->post_cfg->postdiv = 1
473[   13.747726] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->post_cfg->post_div_en = 3
474[   13.757134] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->post_cfg->version = 3
475root@starfive:~#

なお、 https://debian.starfivetech.com/ から入手するDebian以外に、 StarFiveTech VisionFive2 SDK から入手できる sdcard.img というものもあります。

起動してみるとBuildrootのLinuxとして起動

1Starting DHCP server: FAIL
2 
3Welcome to Buildroot
4buildroot login: root
5Password:
6# uname -a
7Linux buildroot 5.15.0 #1 SMP Sun Dec 25 20:59:22 CST 2022 riscv64 GNU/Linux
8# apt
9-sh: apt: not found
10# df
11Filesystem           1K-blocks      Used Available Use% Mounted on
12devtmpfs          `    1669016         0   1669016   0% /dev
13tmpfs          `  `    1993648      `  0  `1993648   0% /dev/shm
14tmpfs          `  ``   1993648        64   1993584   0% /tmp
15tmpfs          `  `   `1993648       196   1993452   0% /run
16/dev/mmcblk1p4      ` ` 69346    245002    194648  56% /
17#

まあ、パッケージ管理システムがないので、実用には向かない感じですかね

1# dmesg
2[    0.000000] Linux version 5.15.0 (jenkins@soft05) (riscv64-buildroot-linux-gnu-gcc.br_real (Buildroot VF2_v2.5.0) 10.3.0, GNU ld (GNU Binutils) 2.36.1) #1 SMP Sun Dec 25 20:59:22 CST 2022
3[    0.000000] OF: fdt: Ignoring memory range 0x40000000 - 0x40200000
4[    0.000000] Machine model: StarFive VisionFive V2
5[    0.000000] earlycon: sbi0 at I/O port 0x0 (options '')
6[    0.000000] printk: bootconsole [sbi0] enabled
7[    0.000000] efi: UEFI not found.
8[    0.000000] Reserved memory: created CMA memory pool at 0x0000000080000000, size 512 MiB
9[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
10[    0.000000] Zone ranges:
11[    0.000000]   DMA32    [mem 0x0000000040200000-0x00000000ffffffff]
12[    0.000000]   Normal   [mem 0x0000000100000000-0x000000013fffffff]
13[    0.000000] Movable zone start for each node
14[    0.000000] Early memory node ranges
15[    0.000000]   node   0: [mem 0x0000000040200000-0x00000000c010ffff]
16[    0.000000]   node   0: [mem 0x00000000c0110000-0x00000000c01fffff]
17[    0.000000]   node   0: [mem 0x00000000c0200000-0x000000013fffffff]
18[    0.000000] Initmem setup node 0 [mem 0x0000000040200000-0x000000013fffffff]
19[    0.000000] SBI specification v0.3 detected
20[    0.000000] SBI implementation ID=0x1 Version=0x10000
21[    0.000000] SBI TIME extension detected
22[    0.000000] SBI IPI extension detected
23[    0.000000] SBI RFENCE extension detected
24[    0.000000] SBI v0.2 HSM extension detected
25[    0.000000] CPU with hartid=0 is not available
26[    0.000000] CPU with hartid=0 is not available
27[    0.000000] riscv: ISA extensions acdfim
28[    0.000000] riscv: ELF capabilities acdfim
29[    0.000000] percpu: Embedded 17 pages/cpu s31528 r8192 d29912 u69632
30[    0.000000] pcpu-alloc: s31528 r8192 d29912 u69632 alloc=17*4096
31[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
32[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1033735
33[    0.000000] Kernel command line: earlyprintk console=ttyS0,115200 debug rootwait earlycon=sbi root=/dev/mmcblk1p4
34[    0.000000] Unknown command line parameters: earlyprintk
35[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
36[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
37[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
38[    0.000000] software IO TLB: mapped [mem 0x00000000fbfff000-0x00000000fffff000] (64MB)
39[    0.000000] Memory: 3338036K/4192256K available (9878K kernel code, 4982K rwdata, 4096K rodata, 2191K init, 401K bss, 329932K reserved, 524288K cma-reserved)
40[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
41[    0.000000] rcu: Hierarchical RCU implementation.
42[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
43[    0.000000] rcu:     RCU debug extended QS entry/exit.
44[    0.000000]  Tracing variant of Tasks RCU enabled.
45[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
46[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
47[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
48[    0.000000] CPU with hartid=0 is not available
49[    0.000000] riscv-intc: unable to find hart id for /cpus/cpu@0/interrupt-controller
50[    0.000000] riscv-intc: 64 local interrupts mapped
51[    0.000000] plic: plic@c000000: mapped 136 interrupts with 4 handlers for 9 contexts.
52[    0.000000] random: get_random_bytes called from start_kernel+0x4d0/0x6e2 with crng_init=0
53[    0.000000] riscv_timer_init_dt: Registering clocksource cpuid [0] hartid [3]
54[    0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 881590404240 ns
55[    0.000001] sched_clock: 64 bits at 4MHz, resolution 250ns, wraps every 2199023255500ns
56[    0.008207] clocksource: timer@13050000.ch0: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
57[    0.018416] clocksource: timer@13050000.ch1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
58[    0.028737] clocksource: timer@13050000.ch2: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
59[    0.039044] clocksource: timer@13050000.ch3: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
60[    0.049493] Console: colour dummy device 80x25
61[    0.053893] Calibrating delay loop (skipped), value calculated using timer frequency.. 8.00 BogoMIPS (lpj=40000)
62[    0.064089] pid_max: default: 32768 minimum: 301
63[    0.068920] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
64[    0.076318] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
65[    0.085379] ASID allocator disabled
66[    0.088882] rcu: Hierarchical SRCU implementation.
67[    0.093794] EFI services will not be available.
68[    0.098582] smp: Bringing up secondary CPUs ...
69[    0.104458] smp: Brought up 1 node, 4 CPUs
70[    0.109521] devtmpfs: initialized
71[    0.118784] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
72[    0.128559] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
73[    0.148220] pinctrl core: initialized pinctrl subsystem
74[    0.154189] NET: Registered PF_NETLINK/PF_ROUTE protocol family
75[    0.160600] cpuidle: using governor menu
76[    0.181977] platform soc:dsi-output: Fixing up cyclic dependency with 29400000.dc8200
77[    0.190170] platform 295d0000.mipi: Fixing up cyclic dependency with soc:dsi-output
78[    0.198067] platform 29590000.hdmi: Fixing up cyclic dependency with 29400000.dc8200
79[    0.215374] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
80[    0.222021] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
81[    0.231460] vgaarb: loaded
82[    0.234304] SCSI subsystem initialized
83[    0.238091] libata version 3.00 loaded.
84[    0.242011] usbcore: registered new interface driver usbfs
85[    0.247462] usbcore: registered new interface driver hub
86[    0.252810] usbcore: registered new device driver usb
87[    0.258230] mc: Linux media interface: v0.10
88[    0.262431] videodev: Linux video capture interface: v2.00
89[    0.268126] Advanced Linux Sound Architecture Driver Initialized.
90[    0.274452] Bluetooth: Core ver 2.22
91[    0.277965] NET: Registered PF_BLUETOOTH protocol family
92[    0.283315] Bluetooth: HCI device and connection manager initialized
93[    0.289740] Bluetooth: HCI socket layer initialized
94[    0.294672] Bluetooth: L2CAP socket layer initialized
95[    0.299800] Bluetooth: SCO socket layer initialized
96[    0.304985] clocksource: Switched to clocksource riscv_clocksource
97[    0.316941] NET: Registered PF_INET protocol family
98[    0.322381] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
99[    0.332924] tcp_listen_portaddr_hash hash table entries: 2048 (order: 4, 81920 bytes, linear)
100[    0.341481] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
101[    0.349724] TCP bind hash table entries: 32768 (order: 8, 1048576 bytes, linear)
102[    0.358126] TCP: Hash tables configured (established 32768 bind 32768)
103[    0.364831] UDP hash table entries: 2048 (order: 5, 196608 bytes, linear)
104[    0.371792] UDP-Lite hash table entries: 2048 (order: 5, 196608 bytes, linear)
105[    0.379358] NET: Registered PF_UNIX/PF_LOCAL protocol family
106[    0.385460] RPC: Registered named UNIX socket transport module.
107[    0.391302] RPC: Registered udp transport module.
108[    0.396086] RPC: Registered tcp transport module.
109[    0.400834] RPC: Registered tcp NFSv4.1 backchannel transport module.
110[    0.407928] PCI: CLS 0 bytes, default 64
111[    0.412310] Initialise system trusted keyrings
112[    0.416845] workingset: timestamp_bits=62 max_order=20 bucket_order=0
113[    0.417043] Unpacking initramfs...
114[    0.428050] NFS: Registering the id_resolver key type
115[    0.433040] Key type id_resolver registered
116[    0.437306] Key type id_legacy registered
117[    0.441427] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
118[    0.448133] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
119[    0.455616] ntfs: driver 2.1.32 [Flags: R/W].
120[    0.460206] jffs2: version 2.2. (NAND) \xc2\xa9 2001-2006 Red Hat, Inc.
121[    0.466609] fuse: init (API version 7.34)
122[    0.502722] NET: Registered PF_ALG protocol family
123[    0.507481] Key type asymmetric registered
124[    0.511608] Asymmetric key parser 'x509' registered
125[    0.516645] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
126[    0.524002] io scheduler mq-deadline registered
127[    0.528621] io scheduler kyber registered
128[    0.533253] start plist test
129[    0.538623] end plist test
130[    0.621657] clk-starfive-jh7110 13020000.clock-controller: starfive JH7110 clkgen init successfully.
131[    0.631893] L2CACHE: DataError @ 0x00000000.080400F8
132[    0.636868] L2CACHE: DataFail @ 0x00000000.0804005B
133[    0.641801] L2CACHE: No. of Banks in the cache: 8
134[    0.646512] L2CACHE: No. of ways per bank: 16
135[    0.650916] L2CACHE: Sets per bank: 256
136[    0.654816] L2CACHE: Bytes per cache block: 64
137[    0.659342] L2CACHE: Index of the largest way enabled: 15
138[    0.665131] jh7110-pmu 17030000.power-controller: registered 8 power domains
139[    0.733104] Serial: 8250/16550 driver, 6 ports, IRQ sharing disabled
140[    0.742249] @@#########################@@
141[    0.784445] @@ dev ptr:ffffffe0bfee0000/1500/1
142[    0.789085] PVR_K:  1: Read BVNC 36.50.54.182 from HW device registers
143[    0.795622] PVR_K:  1: RGX Device registered BVNC 36.50.54.182 with 1 core in the system
144[    0.804932] [drm] Initialized pvr 1.17.6210866 20170530 for 18000000.gpu on minor 0
145[    0.821652] loop: module loaded
146[    0.827242] spi-nor spi0.0: gd25lq128d (16384 Kbytes)
147[    6.163101] Initramfs unpacking failed: invalid magic at start of compressed archive
148[    6.335156] Freeing initrd memory: 122788K
149[    6.350721] 3 fixed-partitions partitions found on MTD device 13010000.spi.0
150[    6.357746] Creating 3 MTD partitions on "13010000.spi.0":
151[    6.363263] 0x000000000000-0x000000020000 : "spl"
152[    6.369876] 0x000000100000-0x000000400000 : "uboot"
153[    6.376294] 0x000000f00000-0x000001000000 : "data"
154[    6.383678] libphy: Fixed MDIO Bus: probed
155[    6.389233] CAN device driver interface
156[    6.393580] starfive-eth-plat 16030000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set.
157[    6.403898] starfive-eth-plat 16030000.ethernet: User ID: 0x41, Synopsys ID: 0x52
158[    6.411332] starfive-eth-plat 16030000.ethernet:     DWMAC4/5
159[    6.416867] starfive-eth-plat 16030000.ethernet: DMA HW capability register supported
160[    6.424738] starfive-eth-plat 16030000.ethernet: RX Checksum Offload Engine supported
161[    6.432635] starfive-eth-plat 16030000.ethernet: Wake-Up On Lan supported
162[    6.439481] starfive-eth-plat 16030000.ethernet: TSO supported
163[    6.445375] starfive-eth-plat 16030000.ethernet: Enable RX Mitigation via HW Watchdog Timer
164[    6.453773] starfive-eth-plat 16030000.ethernet: Enabled Flow TC (entries=1)
165[    6.460890] starfive-eth-plat 16030000.ethernet: TSO feature enabled
166[    6.467302] starfive-eth-plat 16030000.ethernet: Using 40 bits DMA width
167[    6.716361] libphy: stmmac: probed
168[    6.719701] YT8531 Gigabit Ethernet stmmac-0:00: attached PHY driver (mii_bus:phy_addr=stmmac-0:00, irq=POLL)
169[    6.729693] YT8531 Gigabit Ethernet stmmac-0:01: attached PHY driver (mii_bus:phy_addr=stmmac-0:01, irq=POLL)
170[    6.740838] starfive-eth-plat 16040000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set.
171[    6.751143] starfive-eth-plat 16040000.ethernet: User ID: 0x41, Synopsys ID: 0x52
172[    6.758574] starfive-eth-plat 16040000.ethernet:     DWMAC4/5
173[    6.764097] starfive-eth-plat 16040000.ethernet: DMA HW capability register supported
174[    6.771996] starfive-eth-plat 16040000.ethernet: RX Checksum Offload Engine supported
175[    6.779881] starfive-eth-plat 16040000.ethernet: Wake-Up On Lan supported
176[    6.786728] starfive-eth-plat 16040000.ethernet: TSO supported
177[    6.792608] starfive-eth-plat 16040000.ethernet: Enable RX Mitigation via HW Watchdog Timer
178[    6.801034] starfive-eth-plat 16040000.ethernet: Enabled Flow TC (entries=1)
179[    6.808137] starfive-eth-plat 16040000.ethernet: TSO feature enabled
180[    6.814536] starfive-eth-plat 16040000.ethernet: Using 40 bits DMA width
181[    7.062390] libphy: stmmac: probed
182[    7.065758] YT8512B Ethernet stmmac-1:00: attached PHY driver (mii_bus:phy_addr=stmmac-1:00, irq=POLL)
183[    7.075101] YT8512B Ethernet stmmac-1:03: attached PHY driver (mii_bus:phy_addr=stmmac-1:03, irq=POLL)
184[    7.085971] Intel(R) Wireless WiFi driver for Linux
185[    7.092653] cdns3-starfive 10210000.usbdrd: usb mode 2 2.0 probe success
186[    7.100068] usbcore: registered new interface driver uas
187[    7.105381] usbcore: registered new interface driver usb-storage
188[    7.125324] starfive-rtc 17040000.rtc: registered as rtc0
189[    7.130661] starfive-rtc 17040000.rtc: setting system clock to 2001-01-01T00:00:00 UTC (978307200)
190[    7.139816] i2c_dev: i2c /dev entries driver
191[    7.144258] usbcore: registered new interface driver uvcvideo
192[    7.151107] starfive-wdt 13070000.wdog: Heartbeat: timeout=15, count/2=180000000 (0aba9500)
193[    7.159926] Bluetooth: HCI UART driver ver 2.3
194[    7.164299] Bluetooth: HCI UART protocol H4 registered
195[    7.169730] starfive-cpufreq soc:starfive,jh7110-cpufreq: Failed to get regulator for cpu!
196[    7.177948] starfive-cpufreq soc:starfive,jh7110-cpufreq: Failed to init starfive cpu dvfs info
197[    7.187226] sdhci: Secure Digital Host Controller Interface driver
198[    7.193340] sdhci: Copyright(c) Pierre Ossman
199[    7.197808] Synopsys Designware Multimedia Card Interface Driver
200[    7.204133] sdhci-pltfm: SDHCI platform and OF driver helper
201[    7.210534] jh7110-sec 16000000.crypto: Unable to request sec_m dma channel in DMA channel
202[    7.218766] jh7110-sec 16000000.crypto: Cannot initial dma chan
203[    7.225021] usbcore: registered new interface driver usbhid
204[    7.230525] usbhid: USB HID core driver
205[    7.234668] usbcore: registered new interface driver snd-usb-audio
206[    7.244078] NET: Registered PF_PACKET protocol family
207[    7.249105] can: controller area network core
208[    7.253577] NET: Registered PF_CAN protocol family
209[    7.258352] can: raw protocol
210[    7.261374] can: broadcast manager protocol
211[    7.265654] can: netlink gateway - max_hops=1
212[    7.270319] Bluetooth: RFCOMM TTY layer initialized
213[    7.275156] Bluetooth: RFCOMM socket layer initialized
214[    7.280348] Bluetooth: RFCOMM ver 1.11
215[    7.284174] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
216[    7.289527] Bluetooth: BNEP filters: protocol multicast
217[    7.294807] Bluetooth: BNEP socket layer initialized
218[    7.300037] 9pnet: Installing 9P2000 support
219[    7.304298] Key type dns_resolver registered
220[    7.309315] Loading compiled-in X.509 certificates
221[    7.349770] starfive_jh7110-pinctrl 13040000.gpio: SiFive GPIO chip registered 64 GPIOs
222[    7.358542] starfive_jh7110-pinctrl 17020000.gpio: SiFive GPIO chip registered 4 GPIOs
223[    7.366630] pl08xdmac 16008000.sec_dma: initialized 8 virtual memcpy channels
224[    7.373710] pl08xdmac 16008000.sec_dma: initialized 16 virtual slave channels
225[    7.382563] debugfs: Directory '16008000.sec_dma' with parent 'dmaengine' already present!
226[    7.390808] pl08xdmac 16008000.sec_dma: DMA: PL080 rev0 at 0x16008000 irq 23
227[    7.398152] ssp-pl022 10060000.spi: ARM PL022 driver for StarFive SoC platform, device ID: 0x00041022
228[    7.407335] ssp-pl022 10060000.spi: mapped registers from 0x0000000010060000 to (____ptrval____)
229[    7.416616] ssp-pl022 10060000.spi: Requested frequency: 10000000 Hz is unsupported,select by default 8250000 Hz
230[    7.427123] ssp-pl022 10060000.spi: will use autosuspend for runtime pm, delay 100ms
231[    7.436132] i2c 2-0045: Fixing up cyclic dependency with 295d0000.mipi
232[    7.442852] seeed_panel 2-0045: Unknown Atmel firmware revision: 0x00
233[    7.449451] i2c 2-0019: Fixing up cyclic dependency with 295d0000.mipi
234[    7.457354] at24 5-0050: supply vcc not found, using dummy regulator
235[    7.464420] at24 5-0050: 512 byte 24c04 EEPROM, writable, 16 bytes/write
236[    7.472982] axp15060-regulator 5-0036: Register mipi_0p9 done! vol range:900 ~ 900 mV
237[    7.482264] axp15060-regulator 5-0036: Register hdmi_1p8 done! vol range:1800 ~ 1800 mV
238[    7.491702] axp15060-regulator 5-0036: Register hdmi_0p9 done! vol range:900 ~ 900 mV
239[    7.500980] axp15060-regulator 5-0036: Register cpu_vdd done! vol range:500 ~ 1540 mV
240[    7.509530] i2c 6-0010: Fixing up cyclic dependency with 19800000.vin_sysctl
241[    7.516925] imx219 6-0010: supply VANA not found, using dummy regulator
242[    7.523594] imx219 6-0010: supply VDIG not found, using dummy regulator
243[    7.530237] imx219 6-0010: supply VDDL not found, using dummy regulator
244[    7.544306] imx219 6-0010: failed to read chip id 219
245[    7.549516] imx219: probe of 6-0010 failed with error -5
246[    7.557305] pcie_plda 2b000000.pcie: host bridge /soc/pcie@2B000000 ranges:
247[    7.564244] pcie_plda 2b000000.pcie:      MEM 0x0030000000..0x0037ffffff -> 0x0030000000
248[    7.572409] pcie_plda 2b000000.pcie:      MEM 0x0900000000..0x093fffffff -> 0x0900000000
249[    7.580567] ATR entry: 0x0940000000 -> 0x0000000000 [0x0010000000] (param: 0x000001)
250[    7.588333] ATR entry: 0x0030000000 -> 0x0030000000 [0x0008000000] (param: 0x000000)
251[    7.596119] ATR entry: 0x0900000000 -> 0x0900000000 [0x0040000000] (param: 0x000000)
252[    7.945086] pcie_plda 2b000000.pcie: Port link up.
253[    7.949963] pcie_plda 2b000000.pcie: PCI host bridge to bus 0000:00
254[    7.956182] pci_bus 0000:00: root bus resource [bus 00-ff]
255[    7.961705] pci_bus 0000:00: root bus resource [mem 0x30000000-0x37ffffff]
256[    7.968653] pci_bus 0000:00: root bus resource [mem 0x900000000-0x93fffffff pref]
257[    7.976220] pci 0000:00:00.0: [1556:1111] type 01 class 0x060400
258[    7.982255] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0xffffffff 64bit pref]
259[    7.989597] pci 0000:00:00.0: supports D1 D2
260[    7.993858] pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot D3cold
261[    8.004020] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
262[    8.012105] pci 0000:01:00.0: [1106:3483] type 00 class 0x0c0330
263[    8.018068] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00000fff 64bit]
264[    8.024966] pci 0000:01:00.0: PME# supported from D0 D3cold
265[    8.033819] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
266[    8.040414] pci 0000:00:00.0: BAR 0: no space for [mem size 0x100000000 64bit pref]
267[    8.048093] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x100000000 64bit pref]
268[    8.056154] pci 0000:00:00.0: BAR 8: assigned [mem 0x30000000-0x300fffff]
269[    8.062990] pci 0000:01:00.0: BAR 0: assigned [mem 0x30000000-0x30000fff 64bit]
270[    8.070377] pci 0000:00:00.0: PCI bridge to [bus 01]
271[    8.075394] pci 0000:00:00.0:   bridge window [mem 0x30000000-0x300fffff]
272[    8.082330] pci 0000:00:00.0: enabling device (0000 -> 0002)
273[    8.087968] pci 0000:01:00.0: enabling device (0000 -> 0002)
274[    8.093697] pci 0000:01:00.0: quirk_usb_early_handoff+0x0/0x9d4 took 11109 usecs
275[    8.101345] xhci_hcd 0000:01:00.0: xHCI Host Controller
276[    8.106537] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 1
277[    8.114362] xhci_hcd 0000:01:00.0: hcc params 0x002841eb hci version 0x100 quirks 0x0000040000000890
278[    8.123534] pcie_plda 2b000000.pcie: msi#0 address_hi 0x0 address_lo 0x190
279[    8.130747] xhci_hcd 0000:01:00.0: xHCI Host Controller
280[    8.135929] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 2
281[    8.143361] xhci_hcd 0000:01:00.0: Host supports USB 3.0 SuperSpeed
282[    8.150455] hub 1-0:1.0: USB hub found
283[    8.154164] hub 1-0:1.0: 1 port detected
284[    8.159175] hub 2-0:1.0: USB hub found
285[    8.162884] hub 2-0:1.0: 4 ports detected
286[    8.169690] pcie_plda 2c000000.pcie: host bridge /soc/pcie@2C000000 ranges:
287[    8.176646] pcie_plda 2c000000.pcie:      MEM 0x0038000000..0x003fffffff -> 0x0038000000
288[    8.184755] pcie_plda 2c000000.pcie:      MEM 0x0980000000..0x09bfffffff -> 0x0980000000
289[    8.192956] ATR entry: 0x09c0000000 -> 0x0000000000 [0x0010000000] (param: 0x000001)
290[    8.200713] ATR entry: 0x0038000000 -> 0x0038000000 [0x0008000000] (param: 0x000000)
291[    8.208504] ATR entry: 0x0980000000 -> 0x0980000000 [0x0040000000] (param: 0x000000)
292[    8.375033] usb usb2-port2: over-current condition
293[    8.475048] usb 1-1: new high-speed USB device number 2 using xhci_hcd
294[    8.535067] usb usb2-port4: over-current condition
295[    8.645256] pcie_plda 2c000000.pcie: Port link down, exit.
296[    8.664394] clk-starfive-jh7110-vout 295c0000.clock-controller: starfive JH7110 clk_vout init successfully.
297[    8.666191] hub 1-1:1.0: USB hub found
298[    8.683633] hub 1-1:1.0: 4 ports detected
299[    8.685694] clk-starfive-jh7110-isp 19810000.clock-controller: starfive JH7110 clk_isp init successfully.
300[    8.697845] dw_axi_dmac_platform 16050000.dma-controller: DesignWare AXI DMA Controller, 4 channels
301[    8.707898] printk: console [ttyS0] disabled
302[    8.732341] 10000000.serial: ttyS0 at MMIO 0x10000000 (irq = 17, base_baud = 1500000) is a 16550A
303[    8.741251] printk: console [ttyS0] enabled
304[    8.749550] printk: bootconsole [sbi0] disabled
305[    8.759171] jh7110-vin 19800000.vin_sysctl: stfcamss probe enter!
306[    8.767285] jh7110-vin 19800000.vin_sysctl: stfcamss probe success!
307[    8.776062] dwmmc_starfive 16010000.sdio0: IDMAC supports 32-bit address mode.
308[    8.776520] dwmmc_starfive 16020000.sdio1: IDMAC supports 32-bit address mode.
309[    8.783348] dwmmc_starfive 16010000.sdio0: Using internal DMA controller.
310[    8.790619] dwmmc_starfive 16020000.sdio1: Using internal DMA controller.
311[    8.797391] dwmmc_starfive 16010000.sdio0: Version ID is 290a
312[    8.804178] dwmmc_starfive 16020000.sdio1: Version ID is 290a
313[    8.809968] dwmmc_starfive 16010000.sdio0: DW MMC controller at irq 29,32 bit host data width,32 deep fifo
314[    8.810081] jh7110-sec 16000000.crypto: will run requests pump with realtime priority
315[    8.813252] jh7110-sec 16000000.crypto: Initialized
316[    8.814330] starfive-i2s 120b0000.i2stx_4ch0:  designware: play supported
317[    8.814340] starfive-i2s 120b0000.i2stx_4ch0: designware: i2s master mode supported
318[    8.814517] sf-mipi-dphy-tx 295e0000.mipi-dphy: sf_dphy_probe begin
319[    8.814530] sf-mipi-dphy-tx 295e0000.mipi-dphy: ===> sf_dphy_probe enter, 445
320[    8.814656] sf-mipi-dphy-tx 295e0000.mipi-dphy: control ECO
321[    8.814676] sf-mipi-dphy-tx 295e0000.mipi-dphy: supply mipi_1p8 not found, using dummy regulator
322[    8.814961] sf-mipi-dphy-tx 295e0000.mipi-dphy: sf_dphy_probe end
323[    8.815177] cdns-dsi 295d0000.mipi: dsi_sys_clk = 297000000
324[    8.815414] cdns-dsi 295d0000.mipi: starfive dsi bind end
325[    8.815749] dwmmc_starfive 16020000.sdio1: DW MMC controller at irq 30,32 bit host data width,32 deep fifo
326[    8.817635] of_cfs_init
327[    8.817676] of_cfs_init: OK
328[    8.818197] starfive-pwmdac 100b0000.pwmdac: clk_apb0 = 49500000, clk_pwmdac_apb = 49500000, clk_pwmdac_core = 4068493
329[    8.818696] cfg80211: Loading compiled-in X.509 certificates for regulatory database
330[    8.825533] mmc_host mmc0: card is non-removable.
331[    8.833373] mmc_host mmc1: card is polling.
332[    8.929459] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
333[    8.948766] starfive soc:display-subsystem: bound 29400000.dc8200 (ops 0xffffffff80e75b38)
334[    8.957085] innohdmi-starfive 29590000.hdmi: inno hdmi bind begin
335[    8.963977] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
336[    8.972619] cfg80211: failed to load regulatory.db
337[    8.972931] innohdmi-starfive 29590000.hdmi: [drm:inno_hdmi_bind] registered Inno HDMI I2C bus driver success
338[    8.987563] innohdmi-starfive 29590000.hdmi: HDMI&AUDIO register done.
339[    8.994127] innohdmi-starfive 29590000.hdmi: inno hdmi bind end
340[    9.000087] starfive soc:display-subsystem: bound 29590000.hdmi (ops 0xffffffff80e768e8)
341[    9.008196] vs-simple-encoder soc:dsi-output: encoder_bind begin
342[    9.014217] no panel, -517
343[    9.016930] vs-simple-encoder soc:dsi-output: encoder_bind error
344[    9.022932] starfive soc:display-subsystem: bound soc:dsi-output (ops 0xffffffff80e76530)
345[    9.031555] [drm] Initialized starfive 1.0.0 20191101 for soc:display-subsystem on minor 1
346[    9.055005] mmc_host mmc0: Bus speed (slot 0) = 198000000Hz (slot req 400000Hz, actual 399193HZ div = 248)
347[    9.145059] mmc_host mmc1: Bus speed (slot 0) = 198000000Hz (slot req 400000Hz, actual 399193HZ div = 248)
348[    9.290157] random: fast init done
349[    9.397446] mmc_host mmc1: Bus speed (slot 0) = 198000000Hz (slot req 50000000Hz, actual 49500000HZ div = 2)
350[    9.408322] mmc1: new high speed SDXC card at address 59b4
351[    9.415198] mmcblk1: mmc1:59b4 ED2S5 119 GiB
352[    9.428259]  mmcblk1: p1 p2 p3 p4
353[    9.505093] mmc_host mmc0: Bus speed (slot 0) = 198000000Hz (slot req 300000Hz, actual 300000HZ div = 330)
354[    9.945051] mmc_host mmc0: Bus speed (slot 0) = 198000000Hz (slot req 200000Hz, actual 200000HZ div = 495)
355[   10.395102] mmc_host mmc0: Bus speed (slot 0) = 198000000Hz (slot req 100000Hz, actual 100000HZ div = 990)
356[   11.055070] ALSA device list:
357[   11.058064]   #0: Starfive-PWMDAC-Sound-Card
358[   11.062364]   #1: Starfive-HDMI-Sound-Card
359[   11.071575] Freeing unused kernel image (initmem) memory: 2188K
360[   11.077824] Run /init as init process
361[   11.081513]   with arguments:
362[   11.084498]     /init
363[   11.086825]     earlyprintk
364[   11.089640]   with environment:
365[   11.092804]     HOME=/
366[   11.095211]     TERM=linux
367[   11.218169] EXT4-fs (mmcblk1p4): mounted filesystem with ordered data mode. Opts: (null). Quota mode: disabled.
368[   11.784545] EXT4-fs (mmcblk1p4): re-mounted. Opts: (null). Quota mode: disabled.
369[   12.264121] udevd[221]: starting version 3.2.10
370[   12.280697] random: udevd: uninitialized urandom read (16 bytes read)
371[   12.288433] random: udevd: uninitialized urandom read (16 bytes read)
372[   12.294947] random: udevd: uninitialized urandom read (16 bytes read)
373[   12.355311] udevd[222]: starting eudev-3.2.10
374[   12.470759] jpu: loading out-of-tree module taints kernel.
375[   12.479700] vdec 130a0000.vpu_dec: device init.
376[   12.482697] cnm_jpu 13090000.jpu: init device.
377[   12.484250] SUCCESS alloc_chrdev_region
378[   12.484633] SUCCESS alloc_chrdev_region
379[   13.172744] starfive-eth-plat 16030000.ethernet eth0: PHY [stmmac-0:00] driver [YT8531 Gigabit Ethernet] (irq=POLL)
380[   13.184615] starfive-eth-plat 16030000.ethernet eth0: Register MEM_TYPE_PAGE_POOL RxQ-0
381[   13.203187] dwmac4: Master AXI performs fixed burst length
382[   13.208732] starfive-eth-plat 16030000.ethernet eth0: No Safety Features support found
383[   13.218053] starfive-eth-plat 16030000.ethernet eth0: IEEE 1588-2008 Advanced Timestamp supported
384[   13.227963] starfive-eth-plat 16030000.ethernet eth0: configuring for phy/rgmii-id link mode
385[   13.238746] starfive-eth-plat 16040000.ethernet eth1: PHY [stmmac-1:00] driver [YT8512B Ethernet] (irq=POLL)
386[   13.248829] starfive-eth-plat 16040000.ethernet eth1: Register MEM_TYPE_PAGE_POOL RxQ-0
387[   13.257127] dwmac4: Master AXI performs fixed burst length
388[   13.262625] starfive-eth-plat 16040000.ethernet eth1: No Safety Features support found
389[   13.270565] starfive-eth-plat 16040000.ethernet eth1: IEEE 1588-2008 Advanced Timestamp supported
390[   13.281166] starfive-eth-plat 16040000.ethernet eth1: configuring for phy/rgmii-id link mode
391[   13.292204] starfive-eth-plat 16040000.ethernet eth1: Link is Up - 100Mbps/Full - flow control off
392[   38.975439] mipi_0p9: disabling
393[  163.455196] random: crng init done
394[  163.458654] random: 7 urandom warning(s) missed due to ratelimiting
395#

Orange Pi 5純正のUbuntuのGPU表示を高速化できるのか?

ゆきまくらさんの「OrangePi5の公式xfceイメージにビデオドライバーをあてる」にGPUドライバを適用する話が書かれていた。

ただ上記だと詳細がわからないので、いろいろ調べながら試してみた。

現状調査

まず、同じRK3588S使っているKhadas Edge 2 Proあたりの情報みればなんかあるかな?と、cnxsoftwareにある「Khadas Edge2 Pro review – A Rockchip RK3588S SBC tested with Ubuntu 22.04」を読んでみる

「inxi -Fc0」というコマンドを実行するとハードウェア構成が出る、と

1orangepi@orangepi5:~$ inxi -Fc0
2System:
3  Host: orangepi5 Kernel: 5.10.110-rockchip-rk3588 aarch64 bits: 64
4    Desktop: Xfce 4.16.0 Distro: Ubuntu 22.04.1 LTS (Jammy Jellyfish)
5Machine:
6  Type: ARM System: Orange Pi 5 details: N/A
7CPU:
8  Info: 3x 4-core model: N/A variant-1: cortex-a76 variant-2: cortex-a55
9    bits: 64 type: MCP AMP cache: L2: 3x 512 KiB (1.5 MiB)
10  Speed (MHz): avg: 408 min/max: 408/1800:2400 cores: 1: 408 2: 408 3: 408
11    4: 408 5: 408 6: 408 7: 408 8: 408
12Graphics:
13  Device-1: display-subsystem driver: rockchip_drm v: N/A
14  Device-2: mali-bifrost driver: mali v: N/A
15  Device-3: rk3588-dw-hdmi driver: dwhdmi_rockchip v: N/A
16  Display: server: X.Org v: 1.21.1.3 driver: X: loaded: modesetting
17    gpu: rockchip_drm,mali,dwhdmi_rockchip resolution: 1920x1080~60Hz
18  OpenGL: renderer: llvmpipe (LLVM 13.0.1 128 bits) v: 4.5 Mesa 22.0.5
19Audio:
20  Device-1: hdmi driver: rk_hdmi_sound
21  Device-2: rk3588-dw-hdmi driver: dwhdmi_rockchip
22  Device-3: hdmi driver: rk_hdmi_sound
23  Sound Server-1: ALSA v: k5.10.110-rockchip-rk3588 running: yes
24  Sound Server-2: PulseAudio v: 15.99.1 running: yes
25Network:
26  Device-1: rk3588-gmac driver: rk_gmac_dwmac
27  IF: eth0 state: up speed: 1000 Mbps duplex: full mac: 66:bd:6f:11:95:d7
28Drives:
29  Local Storage: total: 29.9 GiB used: 11.49 GiB (38.4%)
30  ID-1: /dev/mmcblk1 model: 5cMJR size: 29.9 GiB
31Partition:
32  ID-1: / size: 29.14 GiB used: 11.4 GiB (39.1%) fs: ext4 dev: /dev/mmcblk1p2
33  ID-2: /boot size: 255.7 MiB used: 94.2 MiB (36.8%) fs: vfat
34    dev: /dev/mmcblk1p1
35  ID-3: /var/log size: 187.3 MiB used: 2.4 MiB (1.3%) fs: ext4
36    dev: /dev/zram1
37Swap:
38  ID-1: swap-1 type: zram size: 3.75 GiB used: 0 KiB (0.0%) dev: /dev/zram0
39Sensors:
40  System Temperatures: cpu: 40.7 C mobo: N/A
41  Fan Speeds (RPM): N/A
42Info:
43  Processes: 246 Uptime: 7m Memory: 7.51 GiB used: 796.8 MiB (10.4%)
44  Shell: Bash inxi: 3.3.13
45orangepi@orangepi5:~$

「glxinfo -B」で現在使用しているGPU出力に関する設定が分かるらしく「OpenGL renderer string: llvmpipe (LLVM 13.0.1, 128 bits)」を使ってる

1orangepi@orangepi5:~$ glxinfo -B
2name of display: :0
3libGL error: failed to create dri screen
4libGL error: failed to load driver: rockchip
5libGL error: failed to create dri screen
6libGL error: failed to load driver: rockchip
7display: :0  screen: 0
8direct rendering: Yes
9Extended renderer info (GLX_MESA_query_renderer):
10    Vendor: Mesa/X.org (0xffffffff)
11    Device: llvmpipe (LLVM 13.0.1, 128 bits) (0xffffffff)
12    Version: 22.0.5
13    Accelerated: no
14    Video memory: 7689MB
15    Unified memory: no
16    Preferred profile: core (0x1)
17    Max core profile version: 4.5
18    Max compat profile version: 4.5
19    Max GLES1 profile version: 1.1
20    Max GLES[23] profile version: 3.2
21OpenGL vendor string: Mesa/X.org
22OpenGL renderer string: llvmpipe (LLVM 13.0.1, 128 bits)
23OpenGL core profile version string: 4.5 (Core Profile) Mesa 22.0.5
24OpenGL core profile shading language version string: 4.50
25OpenGL core profile context flags: (none)
26OpenGL core profile profile mask: core profile
27 
28OpenGL version string: 4.5 (Compatibility Profile) Mesa 22.0.5
29OpenGL shading language version string: 4.50
30OpenGL context flags: (none)
31OpenGL profile mask: compatibility profile
32 
33OpenGL ES profile version string: OpenGL ES 3.2 Mesa 22.0.5
34OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
35 
36orangepi@orangepi5:~$

「eglinfo」でも情報がある

1orangepi@orangepi5:~$ eglinfo
2EGL client extensions string:
3    EGL_EXT_client_extensions EGL_EXT_platform_base
4    EGL_KHR_client_get_all_proc_addresses EGL_KHR_platform_x11
5    EGL_EXT_platform_x11 EGL_KHR_platform_gbm
6 
7GBM platform:
8arm_release_ver of this libmali is 'g6p0-01eac0', rk_so_ver is '5'.
9eglinfo: eglInitialize failed
10 
11X11 platform:
12EGL API version: 1.4
13EGL vendor string: ARM
14EGL version string: 1.4 Valhall-"g6p0-01eac0"
15EGL client APIs: OpenGL_ES
16EGL extensions string:
17    EGL_NV_context_priority_realtime EGL_KHR_image_pixmap
18    EGL_KHR_partial_update EGL_EXT_image_dma_buf_import
19    EGL_KHR_config_attribs EGL_KHR_image EGL_KHR_image_base
20    EGL_KHR_fence_sync EGL_KHR_wait_sync EGL_KHR_gl_colorspace
21    EGL_KHR_get_all_proc_addresses EGL_IMG_context_priority
22    EGL_KHR_no_config_context EGL_EXT_image_dma_buf_import
23    EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_yuv_surface
24    EGL_EXT_pixel_format_float EGL_ARM_pixmap_multisample_discard
25    EGL_KHR_gl_texture_2D_image EGL_KHR_gl_renderbuffer_image
26    EGL_KHR_create_context EGL_KHR_surfaceless_context
27    EGL_KHR_gl_texture_cubemap_image EGL_EXT_image_gl_colorspace
28    EGL_EXT_create_context_robustness
29Configurations:
30     bf lv colorbuffer dp st  ms    vis   cav bi  renderable  supported
31  id sz  l  r  g  b  a th cl ns b    id   eat nd gl es es2 vg surfaces
32---------------------------------------------------------------------
330x01 32  0  8  8  8  8  0  0  0 0 0x67TC      a     y  y     win,pb,pix
340x02 32  0  8  8  8  8 24  0  0 0 0x67TC      a     y  y     win,pb,pix
350x03 32  0  8  8  8  8 24  8  0 0 0x67TC      a     y  y     win,pb,pix
360x04 32  0  8  8  8  8 24  8  4 1 0x67TC      a     y  y     win,pb,pix
370x05 16  0  5  6  5  0  0  0  0 0 0x00--      y     y  y     pb,pix
380x06 16  0  5  6  5  0 24  0  0 0 0x00--      y     y  y     pb,pix
390x07 16  0  5  6  5  0 24  8  0 0 0x00--      y     y  y     pb,pix
400x08 16  0  5  6  5  0 24  8  4 1 0x00--      y     y  y     pb,pix
410x09 24  0  8  8  8  0  0  0  0 0 0x21TC      y     y  y     win,pb,pix
420x0a 24  0  8  8  8  0 24  8  0 0 0x21TC      y     y  y     win,pb,pix
430x0b 24  0  8  8  8  0  0  0  4 1 0x21TC      y     y  y     win,pb,pix
440x0c 24  0  8  8  8  0 24  8  4 1 0x21TC      y     y  y     win,pb,pix
450x0d 16  0  5  5  5  1 24  8  0 0 0x00--      a     y  y     pb,pix
460x0e 16  0  5  5  5  1 24  8  4 1 0x00--      a     y  y     pb,pix
470x0f 16  0  4  4  4  4 24  8  0 0 0x00--      a     y  y     pb,pix
480x10 16  0  4  4  4  4 24  8  4 1 0x00--      a     y  y     pb,pix
490x11 32  0  8  8  8  8 24  8  8 1 0x67TC      a     y  y     win,pb,pix
500x12 16  0  5  6  5  0 24  8  8 1 0x00--      y     y  y     pb,pix
510x13 24  0  8  8  8  0 24  8  8 1 0x21TC      y     y  y     win,pb,pix
520x14 32  0  8  8  8  8 24  8 16 1 0x67TC      a     y  y     win,pb,pix
530x15 16  0  5  6  5  0 24  8 16 1 0x00--      y     y  y     pb,pix
540x16 24  0  8  8  8  0 24  8 16 1 0x21TC      y     y  y     win,pb,pix
550x17 24  0  8  8  8  0  0  0  0 0 0x21TC            y  y     win,pb,pix
560x18 64  0 16 16 16 16 24  8  0 0 0x00--            y  y     pb
570x19 32  0 10 10 10  2 24  8  0 0 0x00--      a     y  y     pb,pix
580x1a 24  0  8  8  8  0  0  0  0 0 0x21TC      y     y  y     win,pb,pix
59 
60orangepi@orangepi5:~$

cnxの記事でglmark2-es2-waylandを使ってベンチマークとってるので、マネして「sudo apt install glmark2-es2-wayland」でベンチマークソフトをインストールして実行

1orangepi@orangepi5:~$ glmark2-es2-wayland
2Error: main: Could not initialize canvas
3orangepi@orangepi5:~$

Orange PI 5 Ubuntu環境では実行できない

よくよく確認してみるとX-waylandを使用していないので「glmark2-es2」を実行。

1orangepi@orangepi5:~$ glmark2-es2
2arm_release_ver of this libmali is 'g6p0-01eac0', rk_so_ver is '5'.
3arm_release_ver of this libmali is 'g6p0-01eac0', rk_so_ver is '5'.
4=======================================================
5    glmark2 2021.02
6=======================================================
7    OpenGL Information
8    GL_VENDOR:     ARM
9    GL_RENDERER:   Mali-LODX
10    GL_VERSION:    OpenGL ES 3.2 v1.g6p0-01eac0.efb75e2978d783a80fe78be1bfb0efc1
11=======================================================
12[build] use-vbo=false: FPS: 688 FrameTime: 1.453 ms
13[build] use-vbo=true: FPS: 855 FrameTime: 1.170 ms
14[texture] texture-filter=nearest: FPS: 899 FrameTime: 1.112 ms
15[texture] texture-filter=linear: FPS: 859 FrameTime: 1.164 ms
16[texture] texture-filter=mipmap: FPS: 848 FrameTime: 1.179 ms
17[shading] shading=gouraud: FPS: 904 FrameTime: 1.106 ms
18[shading] shading=blinn-phong-inf: FPS: 886 FrameTime: 1.129 ms
19[shading] shading=phong: FPS: 814 FrameTime: 1.229 ms
20[shading] shading=cel: FPS: 789 FrameTime: 1.267 ms
21[bump] bump-render=high-poly: FPS: 552 FrameTime: 1.812 ms
22[bump] bump-render=normals: FPS: 952 FrameTime: 1.050 ms
23[bump] bump-render=height: FPS: 900 FrameTime: 1.111 ms
24[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 973 FrameTime: 1.028 ms
25[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 746 FrameTime: 1.340 ms
26[pulsar] light=false:quads=5:texture=false: FPS: 973 FrameTime: 1.028 ms
27[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 482 FrameTime: 2.075 ms
28[desktop] effect=shadow:windows=4: FPS: 785 FrameTime: 1.274 ms
29[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 222 FrameTime: 4.505 ms
30[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 194 FrameTime: 5.155 ms
31[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 354 FrameTime: 2.825 ms
32[ideas] speed=duration: FPS: 491 FrameTime: 2.037 ms
33[jellyfish] <default>: FPS: 696 FrameTime: 1.437 ms
34[terrain] <default>: FPS: 186 FrameTime: 5.376 ms
35[shadow] <default>: FPS: 732 FrameTime: 1.366 ms
36[refract] <default>: FPS: 301 FrameTime: 3.322 ms
37[conditionals] fragment-steps=0:vertex-steps=0: FPS: 874 FrameTime: 1.144 ms
38[conditionals] fragment-steps=5:vertex-steps=0: FPS: 837 FrameTime: 1.195 ms
39[conditionals] fragment-steps=0:vertex-steps=5: FPS: 802 FrameTime: 1.247 ms
40[function] fragment-complexity=low:fragment-steps=5: FPS: 868 FrameTime: 1.152 ms
41[function] fragment-complexity=medium:fragment-steps=5: FPS: 788 FrameTime: 1.269 ms
42[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 877 FrameTime: 1.140 ms
43[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 833 FrameTime: 1.200 ms
44[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 820 FrameTime: 1.220 ms
45=======================================================
46                                  glmark2 Score: 720
47=======================================================
48orangepi@orangepi5:~$

glmark2の場合はどうなるかを確認

1orangepi@orangepi5:~$ glmark2
2libGL error: failed to create dri screen
3libGL error: failed to load driver: rockchip
4libGL error: failed to create dri screen
5libGL error: failed to load driver: rockchip
6** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
7** Failed to set swap interval. Results may be bounded above by refresh rate.
8=======================================================
9    glmark2 2021.02
10=======================================================
11    OpenGL Information
12    GL_VENDOR:     Mesa/X.org
13    GL_RENDERER:   llvmpipe (LLVM 13.0.1, 128 bits)
14    GL_VERSION:    4.5 (Compatibility Profile) Mesa 22.0.5
15=======================================================
16** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
17** Failed to set swap interval. Results may be bounded above by refresh rate.
18[build] use-vbo=false: FPS: 111 FrameTime: 9.009 ms
19** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
20** Failed to set swap interval. Results may be bounded above by refresh rate.
21[build] use-vbo=true: FPS: 112 FrameTime: 8.929 ms
22** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
23** Failed to set swap interval. Results may be bounded above by refresh rate.
24[texture] texture-filter=nearest: FPS: 325 FrameTime: 3.077 ms
25** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
26** Failed to set swap interval. Results may be bounded above by refresh rate.
27[texture] texture-filter=linear: FPS: 246 FrameTime: 4.065 ms
28** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
29** Failed to set swap interval. Results may be bounded above by refresh rate.
30[texture] texture-filter=mipmap: FPS: 191 FrameTime: 5.236 ms
31** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
32** Failed to set swap interval. Results may be bounded above by refresh rate.
33[shading] shading=gouraud: FPS: 85 FrameTime: 11.765 ms
34** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
35** Failed to set swap interval. Results may be bounded above by refresh rate.
36[shading] shading=blinn-phong-inf: FPS: 75 FrameTime: 13.333 ms
37** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
38** Failed to set swap interval. Results may be bounded above by refresh rate.
39[shading] shading=phong: FPS: 62 FrameTime: 16.129 ms
40** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
41** Failed to set swap interval. Results may be bounded above by refresh rate.
42[shading] shading=cel: FPS: 69 FrameTime: 14.493 ms
43** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
44** Failed to set swap interval. Results may be bounded above by refresh rate.
45[bump] bump-render=high-poly: FPS: 40 FrameTime: 25.000 ms
46** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
47** Failed to set swap interval. Results may be bounded above by refresh rate.
48[bump] bump-render=normals: FPS: 278 FrameTime: 3.597 ms
49** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
50** Failed to set swap interval. Results may be bounded above by refresh rate.
51[bump] bump-render=height: FPS: 291 FrameTime: 3.436 ms
52** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
53** Failed to set swap interval. Results may be bounded above by refresh rate.
54[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 114 FrameTime: 8.772 ms
55** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
56** Failed to set swap interval. Results may be bounded above by refresh rate.
57[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 99 FrameTime: 10.101 ms
58** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
59** Failed to set swap interval. Results may be bounded above by refresh rate.
60[pulsar] light=false:quads=5:texture=false: FPS: 213 FrameTime: 4.695 ms
61** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
62** Failed to set swap interval. Results may be bounded above by refresh rate.
63[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 25 FrameTime: 40.000 ms
64** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
65** Failed to set swap interval. Results may be bounded above by refresh rate.
66[desktop] effect=shadow:windows=4: FPS: 65 FrameTime: 15.385 ms
67** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
68** Failed to set swap interval. Results may be bounded above by refresh rate.
69[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 65 FrameTime: 15.385 ms
70** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
71** Failed to set swap interval. Results may be bounded above by refresh rate.
72[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 67 FrameTime: 14.925 ms
73** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
74** Failed to set swap interval. Results may be bounded above by refresh rate.
75[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 66 FrameTime: 15.152 ms
76** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
77** Failed to set swap interval. Results may be bounded above by refresh rate.
78[ideas] speed=duration: FPS: 80 FrameTime: 12.500 ms
79** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
80** Failed to set swap interval. Results may be bounded above by refresh rate.
81[jellyfish] <default>: FPS: 57 FrameTime: 17.544 ms
82** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
83** Failed to set swap interval. Results may be bounded above by refresh rate.
84[terrain] <default>: FPS: 3 FrameTime: 333.333 ms
85** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
86** Failed to set swap interval. Results may be bounded above by refresh rate.
87[shadow] <default>: FPS: 54 FrameTime: 18.519 ms
88** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
89** Failed to set swap interval. Results may be bounded above by refresh rate.
90[refract] <default>: FPS: 9 FrameTime: 111.111 ms
91** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
92** Failed to set swap interval. Results may be bounded above by refresh rate.
93[conditionals] fragment-steps=0:vertex-steps=0: FPS: 139 FrameTime: 7.194 ms
94** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
95** Failed to set swap interval. Results may be bounded above by refresh rate.
96[conditionals] fragment-steps=5:vertex-steps=0: FPS: 137 FrameTime: 7.299 ms
97** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
98** Failed to set swap interval. Results may be bounded above by refresh rate.
99[conditionals] fragment-steps=0:vertex-steps=5: FPS: 140 FrameTime: 7.143 ms
100** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
101** Failed to set swap interval. Results may be bounded above by refresh rate.
102[function] fragment-complexity=low:fragment-steps=5: FPS: 98 FrameTime: 10.204 ms
103** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
104** Failed to set swap interval. Results may be bounded above by refresh rate.
105[function] fragment-complexity=medium:fragment-steps=5: FPS: 101 FrameTime: 9.901 ms
106** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
107** Failed to set swap interval. Results may be bounded above by refresh rate.
108[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 129 FrameTime: 7.752 ms
109** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
110** Failed to set swap interval. Results may be bounded above by refresh rate.
111[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 135 FrameTime: 7.407 ms
112** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
113** Failed to set swap interval. Results may be bounded above by refresh rate.
114[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 128 FrameTime: 7.812 ms
115=======================================================
116                                  glmark2 Score: 115
117=======================================================
118orangepi@orangepi5:~$

glmark2の方だとうまく動いてないようだ。

次に、ChromiumブラウザでWebGL Aquariumを開いてみると「fps 3」という数字。めっちゃカクカクしている。

cnxsoftwareのRK3588関連記事を探してみると「Rock 5B RK3588 SBC preview – What works, what doesn’t in Debian 11」に「GPU 3D acceleration is not enabled in Debian 11」という話がある。

上の方にあるglxinfo結果のように「Device: llvmpipe (LLVM 13.0.1, 128 bits) (0xffffffff)」と「llvmpipe 」が含まれている場合はソフトウェアレンダリングである、とのこと。

「dmesg|grep -i mali」を実行して起動時にGPUドライバmaliが読み込まれているかを確認してみると、エラーっぽい感じの出力となっている。

1orangepi@orangepi5:~$ dmesg|grep -i mali
2[    7.672628] mali fb000000.gpu: Kernel DDK version g13p0-01eac0
3[    7.672650] mali fb000000.gpu: Looking up mali-supply from device tree
4[    7.673153] mali fb000000.gpu: Looking up mem-supply from device tree
5[    7.676448] mali fb000000.gpu: Looking up mali-supply from device tree
6[    7.676724] mali fb000000.gpu: Looking up mem-supply from device tree
7[    7.676911] mali fb000000.gpu: Looking up mali-supply from device tree
8[    7.677340] mali fb000000.gpu: leakage=12
9[    7.677395] mali fb000000.gpu: Looking up mali-supply from device tree
10[    7.677419] debugfs: Directory 'fb000000.gpu-mali' with parent 'vdd_gpu_s0' already present!
11[    7.679307] mali fb000000.gpu: pvtm=869
12[    7.679356] mali fb000000.gpu: pvtm-volt-sel=3
13[    7.680674] mali fb000000.gpu: avs=0
14[    7.682511] W : [File] : drivers/gpu/arm/bifrost/platform/rk/mali_kbase_config_rk.c; [Line] : 136; [Func] : kbase_platform_rk_init(); power-off-delay-ms not available.
15[    7.689235] mali fb000000.gpu: GPU hardware issue table may need updating:
16[    7.689246] mali fb000000.gpu: GPU identified as 0x7 arch 10.8.6 r0p0 status 0
17[    7.689340] mali fb000000.gpu: No priority control manager is configured
18[    7.689348] mali fb000000.gpu: No memory group manager is configured
19[    7.689378] mali fb000000.gpu: Protected memory allocator not available
20[    7.689818] mali fb000000.gpu: Capping CSF_FIRMWARE_TIMEOUT to CSF_FIRMWARE_PING_TIMEOUT
21[    7.690655] mali fb000000.gpu: Couldn't find power_model DT node matching 'arm,mali-simple-power-model'
22[    7.690666] mali fb000000.gpu: Error -22, no DT entry: mali-simple-power-model.static-coefficient = 1*[0]
23[    7.690992] mali fb000000.gpu: Error -22, no DT entry: mali-simple-power-model.dynamic-coefficient = 1*[0]
24[    7.691272] mali fb000000.gpu: Error -22, no DT entry: mali-simple-power-model.ts = 4*[0]
25[    7.691552] mali fb000000.gpu: Error -22, no DT entry: mali-simple-power-model.thermal-zone = ''
26[    7.695409] mali fb000000.gpu: Using configured power model mali-lodx-power-model, and fallback mali-simple-power-model
27[    7.695604] mali fb000000.gpu: l=10000 h=85000 hyst=5000 l_limit=0 h_limit=800000000 h_table=0
28[    7.696563] mali fb000000.gpu: Probed as mali0
29[    7.782056] I : [File] : drivers/gpu/arm/mali400/mali/linux/mali_kernel_linux.c; [Line] : 405; [Func] : mali_module_init(); svn_rev_string_from_arm of this mali_ko is '', rk_ko_ver is '5', built at '10:16:11', on 'Dec  7 2022'.
30[    7.782364] Mali:
31[    7.782367] Mali device driver loaded
32[   16.423617] mali fb000000.gpu: Loading Mali firmware 0x1010000
33[   16.425057] mali fb000000.gpu: Mali firmware git_sha: e6cfd856a9b143e1ab6657328e8b5ffc44a623f9
34orangepi@orangepi5:~$

libmali-valhall-g610-g6p0-x11-gbm はインストールされている。

1orangepi@orangepi5:~$ apt search libmali
2Sorting... Done
3Full Text Search... Done
4libmali-valhall-g610-g6p0-x11-gbm/now 1.9-1 arm64 [installed,local]
5  Mali GPU User-Space Binary Drivers
6 
7orangepi@orangepi5:~$

改善方法の試行

GPUに関する処理が改善できるのかを調査。

同じSoCを使うRock 5に関するフォーラムに「Best way to run GPU-accelerated applications」という記事があり、Panfrost GPU driverというものがあげられていた。

Ubuntu 22.02に対してインストールする場合の事例は「Ubuntu 20.02 & Mali Drivers」にあり、Ubutuのppaに登録されている panfork mesa to support mali g610 を利用する、というものである。

このPanfrost driverを適用するというのが、冒頭の「OrangePi5の公式xfceイメージにビデオドライバーをあてる」の内容である。

ただ、このPanfrostさん、行いに問題があるようでarmbianにこのppaを登録して欲しいというpull requestが拒否られています。( add panfork-mesa appgroup for jammy #4476 )

なんでもfork元のfreedesktop.orgでの行いに問題があってアカウントがbanされたんだとか・・・

なので、使うのはどうなのかなぁ、と思いつつとりあえず速度改善するのかどうかを確認してみることにします。

まずは「sudo add-apt-repository ppa:liujianfeng1994/panfork-mesa」を実行して、panfork mesa to support mali g610を登録します。

1orangepi@orangepi5:~$ sudo add-apt-repository ppa:liujianfeng1994/panfork-mesa
3Description:
5You need to download mali firmware from https://github.com/JeffyCN/rockchip_mirrors/raw/libmali/firmware/g610/mali_csffw.bin and copy it to /lib/firmware/
6More info: https://launchpad.net/~liujianfeng1994/+archive/ubuntu/panfork-mesa
7Adding repository.
8Press [ENTER] to continue or Ctrl-c to cancel.
9Adding deb entry to /etc/apt/sources.list.d/liujianfeng1994-ubuntu-panfork-mesa-jammy.list
10Adding disabled deb-src entry to /etc/apt/sources.list.d/liujianfeng1994-ubuntu-panfork-mesa-jammy.list
11Adding key to /etc/apt/trusted.gpg.d/liujianfeng1994-ubuntu-panfork-mesa.gpg with fingerprint 0B2F0747E3BD546820A639B68065BE1FC67AABDE
13Hit:2 http://repo.huaweicloud.com/ubuntu-ports jammy-security InRelease
15Hit:4 http://repo.huaweicloud.com/ubuntu-ports jammy-updates InRelease
17Hit:6 http://repo.huaweicloud.com/ubuntu-ports jammy-backports InRelease
20Fetched 26.4 kB in 4s (6,080 B/s)
21Reading package lists... Done
22W: https://repo.huaweicloud.com/docker-ce/linux/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
23orangepi@orangepi5:~$

出力内に「You need to download mali firmware from https://github.com/JeffyCN/rockchip_mirrors/raw/libmali/firmware/g610/mali_csffw.bin and copy it to /lib/firmware/」とあるように、mali_csffw.bin を入れ替える必要があります。

1orangepi@orangepi5:~$ ls -l /lib/firmware/*mali*
2-rw-r--r-- 1 root root 266240 Jul 29  2020 /lib/firmware/mali_csffw.bin
3orangepi@orangepi5:~$
4orangepi@orangepi5:~$ sudo curl --output /lib/firmware/mali_csffw.bin https://raw.githubusercontent.com/JeffyCN/rockchip_mirrors/libmali/firmware/g610/mali_csffw.bin
5  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
6                                 Dload  Upload   Total   Spent    Left  Speed
7100  268k  100  268k    0     0  1319k      0 --:--:-- --:--:-- --:--:-- 1326k
8orangepi@orangepi5:~$ ls -l /lib/firmware/*mali*
9-rw-r--r-- 1 root root 274432 Dec 27 21:08 /lib/firmware/mali_csffw.bin
10orangepi@orangepi5:~$

入れ替えたあとは「sudo apt update」でレポジトリの情報を更新します。

1orangepi@orangepi5:~$ sudo apt update
3Hit:2 http://repo.huaweicloud.com/ubuntu-ports jammy-security InRelease
4Hit:3 http://repo.huaweicloud.com/ubuntu-ports jammy-updates InRelease
5Hit:4 http://repo.huaweicloud.com/ubuntu-ports jammy-backports InRelease
8Reading package lists... Done
9Building dependency tree... Done
10Reading state information... Done
1133 packages can be upgraded. Run 'apt list --upgradable' to see them.
12W: https://repo.huaweicloud.com/docker-ce/linux/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
13orangepi@orangepi5:~$

どんなアップデートがあるのか「apt list –upgradable」を実行して確認すると、いくつかのライブラリなどが更新対象となるようだ。

1orangepi@orangepi5:~$ apt list --upgradable
2Listing... Done
3ffmpeg/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1]
4gstreamer1.0-tools/jammy-updates 1.20.3-0ubuntu1 arm64 [upgradable from: 1.20.3-0ubuntu1]
5libavcodec-dev/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1]
6libavcodec58/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1]
7libavdevice-dev/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1]
8libavdevice58/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1]
9libavfilter-dev/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1]
10libavfilter7/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1]
11libavformat-dev/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1]
12libavformat58/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1]
13libavutil-dev/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1]
14libavutil56/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1]
15libdvbv5-0/jammy 1.22.1-2build1 arm64 [upgradable from: 1.22.1-2build1]
16libegl-mesa0/jammy 23.0~panfork~csf~git221210.120202c6757~j arm64 [upgradable from: 22.0.5-0ubuntu0.1]
17libgbm-dev/jammy 23.0~panfork~csf~git221210.120202c6757~j arm64 [upgradable from: 22.0.5-0ubuntu0.1]
18libgbm1/jammy 23.0~panfork~csf~git221210.120202c6757~j arm64 [upgradable from: 22.0.5-0ubuntu0.1]
19libgl1-mesa-dri/jammy 23.0~panfork~csf~git221210.120202c6757~j arm64 [upgradable from: 22.0.5-0ubuntu0.1]
20libglapi-mesa/jammy 23.0~panfork~csf~git221210.120202c6757~j arm64 [upgradable from: 22.0.5-0ubuntu0.1]
21libglx-mesa0/jammy 23.0~panfork~csf~git221210.120202c6757~j arm64 [upgradable from: 22.0.5-0ubuntu0.1]
22libgstreamer1.0-0/jammy-updates 1.20.3-0ubuntu1 arm64 [upgradable from: 1.20.3-0ubuntu1]
23libmpv1/jammy 0.34.1-1ubuntu3 arm64 [upgradable from: 0.34.1-1ubuntu3]
24libpostproc55/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1]
25libswresample-dev/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1]
26libswresample3/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1]
27libswscale5/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1]
28mesa-common-dev/jammy 23.0~panfork~csf~git221210.120202c6757~j arm64 [upgradable from: 22.0.5-0ubuntu0.1]
29mpv/jammy 0.34.1-1ubuntu3 arm64 [upgradable from: 0.34.1-1ubuntu3]
30v4l-utils/jammy 1.22.1-2build1 arm64 [upgradable from: 1.22.1-2build1]
31wiringpi/jammy 2.50-0ubuntu2 arm64 [upgradable from: 2.46]
32xserver-common/jammy-security,jammy-security,jammy-updates,jammy-updates 2:21.1.3-2ubuntu2.5 all [upgradable from: 2:21.1.3-2ubuntu2]
33xserver-xorg-core/jammy-security,jammy-updates 2:21.1.3-2ubuntu2.5 arm64 [upgradable from: 2:21.1.3-2ubuntu2]
34xserver-xorg-dev/jammy-security,jammy-updates 2:21.1.3-2ubuntu2.5 arm64 [upgradable from: 2:21.1.3-2ubuntu2]
35xserver-xorg-legacy/jammy-security,jammy-updates 2:21.1.3-2ubuntu2.5 arm64 [upgradable from: 2:21.1.3-2ubuntu2]
36orangepi@orangepi5:~$

で「sudo apt upgrade -y」を実行してアップデートを適用して、再起動します。

適用後の状況

ChromiumブラウザでWebGL Aquariumが「fps:60」で動作するようになりました

これはと思って他をいろいろチェック・・・

1orangepi@orangepi5:~$ glxinfo -B
2name of display: :0
3display: :0  screen: 0
4direct rendering: Yes
5Extended renderer info (GLX_MESA_query_renderer):
6    Vendor: Panfrost (0xffffffff)
7    Device: Mali-G610 (Panfrost) (0xffffffff)
8    Version: 23.0.0
9    Accelerated: yes
10    Video memory: 7689MB
11    Unified memory: yes
12    Preferred profile: compat (0x2)
13    Max core profile version: 0.0
14    Max compat profile version: 3.0
15    Max GLES1 profile version: 1.1
16    Max GLES[23] profile version: 3.1
17OpenGL vendor string: Panfrost
18OpenGL renderer string: Mali-G610 (Panfrost)
19OpenGL version string: 3.0 Mesa 23.0.0-devel
20OpenGL shading language version string: 1.30
21OpenGL context flags: (none)
22 
23OpenGL ES profile version string: OpenGL ES 3.1 Mesa 23.0.0-devel
24OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
25 
26orangepi@orangepi5:~$

glxinfoの結果でllvmpipe がなくなり、「OpenGL renderer string: Mali-G610 (Panfrost)」となっている。

1orangepi@orangepi5:~$ inxi -Fc0
2System:
3  Host: orangepi5 Kernel: 5.10.110-rockchip-rk3588 aarch64 bits: 64
4    Desktop: Xfce 4.16.0 Distro: Ubuntu 22.04.1 LTS (Jammy Jellyfish)
5Machine:
6  Type: ARM System: Orange Pi 5 details: N/A
7CPU:
8  Info: 3x 4-core model: N/A variant-1: cortex-a55 variant-2: cortex-a76
9    bits: 64 type: MCP AMP cache: L2: 3x 512 KiB (1.5 MiB)
10  Speed (MHz): avg: 408 min/max: 408/1800:2400 cores: 1: 408 2: 408 3: 408
11    4: 408 5: 408 6: 408 7: 408 8: 408
12Graphics:
13  Device-1: display-subsystem driver: rockchip_drm v: N/A
14  Device-2: mali-bifrost driver: mali v: N/A
15  Device-3: rk3588-dw-hdmi driver: dwhdmi_rockchip v: N/A
16  Display: server: X.Org v: 1.21.1.3 driver: X: loaded: modesetting
17    gpu: rockchip_drm,mali,dwhdmi_rockchip resolution: 1920x1080~60Hz
18  OpenGL: renderer: Mali-G610 (Panfrost) v: 3.0 Mesa 23.0.0-devel
19Audio:
20  Device-1: hdmi driver: rk_hdmi_sound
21  Device-2: rk3588-dw-hdmi driver: dwhdmi_rockchip
22  Device-3: hdmi driver: rk_hdmi_sound
23  Sound Server-1: ALSA v: k5.10.110-rockchip-rk3588 running: yes
24  Sound Server-2: PulseAudio v: 15.99.1 running: yes
25Network:
26  Device-1: rk3588-gmac driver: rk_gmac_dwmac
27  IF: eth0 state: up speed: 1000 Mbps duplex: full mac: 7e:2c:10:9c:32:61
28Drives:
29  Local Storage: total: 29.9 GiB used: 5 GiB (16.7%)
30  ID-1: /dev/mmcblk1 model: 5cMJR size: 29.9 GiB
31Partition:
32  ID-1: / size: 29.14 GiB used: 4.9 GiB (16.8%) fs: ext4 dev: /dev/mmcblk1p2
33  ID-2: /boot size: 255.7 MiB used: 94.2 MiB (36.8%) fs: vfat
34    dev: /dev/mmcblk1p1
35  ID-3: /var/log size: 187.3 MiB used: 4.5 MiB (2.4%) fs: ext4
36    dev: /dev/zram1
37Swap:
38  ID-1: swap-1 type: zram size: 3.75 GiB used: 0 KiB (0.0%) dev: /dev/zram0
39Sensors:
40  System Temperatures: cpu: 45.3 C mobo: N/A
41  Fan Speeds (RPM): N/A
42Info:
43  Processes: 263 Uptime: 1m Memory: 7.51 GiB used: 706.6 MiB (9.2%)
44  Shell: Bash inxi: 3.3.13
45orangepi@orangepi5:~$
1orangepi@orangepi5:~$ eglinfo
2EGL client extensions string:
3    EGL_EXT_client_extensions EGL_EXT_platform_base
4    EGL_KHR_client_get_all_proc_addresses EGL_KHR_platform_x11
5    EGL_EXT_platform_x11 EGL_KHR_platform_gbm
6 
7GBM platform:
8arm_release_ver of this libmali is 'g6p0-01eac0', rk_so_ver is '5'.
9eglinfo: eglInitialize failed
10 
11X11 platform:
12EGL API version: 1.4
13EGL vendor string: ARM
14EGL version string: 1.4 Valhall-"g6p0-01eac0"
15EGL client APIs: OpenGL_ES
16EGL extensions string:
17    EGL_NV_context_priority_realtime EGL_KHR_image_pixmap
18    EGL_KHR_partial_update EGL_EXT_image_dma_buf_import
19    EGL_KHR_config_attribs EGL_KHR_image EGL_KHR_image_base
20    EGL_KHR_fence_sync EGL_KHR_wait_sync EGL_KHR_gl_colorspace
21    EGL_KHR_get_all_proc_addresses EGL_IMG_context_priority
22    EGL_KHR_no_config_context EGL_EXT_image_dma_buf_import
23    EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_yuv_surface
24    EGL_EXT_pixel_format_float EGL_ARM_pixmap_multisample_discard
25    EGL_KHR_gl_texture_2D_image EGL_KHR_gl_renderbuffer_image
26    EGL_KHR_create_context EGL_KHR_surfaceless_context
27    EGL_KHR_gl_texture_cubemap_image EGL_EXT_image_gl_colorspace
28    EGL_EXT_create_context_robustness
29Configurations:
30     bf lv colorbuffer dp st  ms    vis   cav bi  renderable  supported
31  id sz  l  r  g  b  a th cl ns b    id   eat nd gl es es2 vg surfaces
32---------------------------------------------------------------------
330x01 32  0  8  8  8  8  0  0  0 0 0x67TC      a     y  y     win,pb,pix
340x02 32  0  8  8  8  8 24  0  0 0 0x67TC      a     y  y     win,pb,pix
350x03 32  0  8  8  8  8 24  8  0 0 0x67TC      a     y  y     win,pb,pix
360x04 32  0  8  8  8  8 24  8  4 1 0x67TC      a     y  y     win,pb,pix
370x05 16  0  5  6  5  0  0  0  0 0 0x00--      y     y  y     pb,pix
380x06 16  0  5  6  5  0 24  0  0 0 0x00--      y     y  y     pb,pix
390x07 16  0  5  6  5  0 24  8  0 0 0x00--      y     y  y     pb,pix
400x08 16  0  5  6  5  0 24  8  4 1 0x00--      y     y  y     pb,pix
410x09 24  0  8  8  8  0  0  0  0 0 0x21TC      y     y  y     win,pb,pix
420x0a 24  0  8  8  8  0 24  8  0 0 0x21TC      y     y  y     win,pb,pix
430x0b 24  0  8  8  8  0  0  0  4 1 0x21TC      y     y  y     win,pb,pix
440x0c 24  0  8  8  8  0 24  8  4 1 0x21TC      y     y  y     win,pb,pix
450x0d 16  0  5  5  5  1 24  8  0 0 0x00--      a     y  y     pb,pix
460x0e 16  0  5  5  5  1 24  8  4 1 0x00--      a     y  y     pb,pix
470x0f 16  0  4  4  4  4 24  8  0 0 0x00--      a     y  y     pb,pix
480x10 16  0  4  4  4  4 24  8  4 1 0x00--      a     y  y     pb,pix
490x11 32  0  8  8  8  8 24  8  8 1 0x67TC      a     y  y     win,pb,pix
500x12 16  0  5  6  5  0 24  8  8 1 0x00--      y     y  y     pb,pix
510x13 24  0  8  8  8  0 24  8  8 1 0x21TC      y     y  y     win,pb,pix
520x14 32  0  8  8  8  8 24  8 16 1 0x67TC      a     y  y     win,pb,pix
530x15 16  0  5  6  5  0 24  8 16 1 0x00--      y     y  y     pb,pix
540x16 24  0  8  8  8  0 24  8 16 1 0x21TC      y     y  y     win,pb,pix
550x17 24  0  8  8  8  0  0  0  0 0 0x21TC            y  y     win,pb,pix
560x18 64  0 16 16 16 16 24  8  0 0 0x00--            y  y     pb
570x19 32  0 10 10 10  2 24  8  0 0 0x00--      a     y  y     pb,pix
580x1a 24  0  8  8  8  0  0  0  0 0 0x21TC      y     y  y     win,pb,pix
59 
60orangepi@orangepi5:~$

で・・・「glmark2-es2」を実行してベンチマークをとってみる(cnxの記事だと glmark2-es2-wayland を実行しているが、wayland環境ではないので、 glmark2-es2を実行する)

1orangepi@orangepi5:~$ glmark2-es2
2arm_release_ver of this libmali is 'g6p0-01eac0', rk_so_ver is '5'.
3arm_release_ver of this libmali is 'g6p0-01eac0', rk_so_ver is '5'.
4=======================================================
5    glmark2 2021.02
6=======================================================
7    OpenGL Information
8    GL_VENDOR:     ARM
9    GL_RENDERER:   Mali-LODX
10    GL_VERSION:    OpenGL ES 3.2 v1.g6p0-01eac0.efb75e2978d783a80fe78be1bfb0efc1
11=======================================================
12[build] use-vbo=false: FPS: 718 FrameTime: 1.393 ms
13[build] use-vbo=true: FPS: 850 FrameTime: 1.176 ms
14[texture] texture-filter=nearest: FPS: 977 FrameTime: 1.024 ms
15[texture] texture-filter=linear: FPS: 820 FrameTime: 1.220 ms
16[texture] texture-filter=mipmap: FPS: 833 FrameTime: 1.200 ms
17[shading] shading=gouraud: FPS: 804 FrameTime: 1.244 ms
18[shading] shading=blinn-phong-inf: FPS: 789 FrameTime: 1.267 ms
19[shading] shading=phong: FPS: 799 FrameTime: 1.252 ms
20[shading] shading=cel: FPS: 798 FrameTime: 1.253 ms
21[bump] bump-render=high-poly: FPS: 607 FrameTime: 1.647 ms
22[bump] bump-render=normals: FPS: 897 FrameTime: 1.115 ms
23[bump] bump-render=height: FPS: 898 FrameTime: 1.114 ms
24[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 945 FrameTime: 1.058 ms
25[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 716 FrameTime: 1.397 ms
26[pulsar] light=false:quads=5:texture=false: FPS: 958 FrameTime: 1.044 ms
27[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 479 FrameTime: 2.088 ms
28[desktop] effect=shadow:windows=4: FPS: 702 FrameTime: 1.425 ms
29[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 195 FrameTime: 5.128 ms
30[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 193 FrameTime: 5.181 ms
31[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 348 FrameTime: 2.874 ms
32[ideas] speed=duration: FPS: 475 FrameTime: 2.105 ms
33[jellyfish] <default>: FPS: 723 FrameTime: 1.383 ms
34[terrain] <default>: FPS: 184 FrameTime: 5.435 ms
35[shadow] <default>: FPS: 716 FrameTime: 1.397 ms
36[refract] <default>: FPS: 292 FrameTime: 3.425 ms
37[conditionals] fragment-steps=0:vertex-steps=0: FPS: 880 FrameTime: 1.136 ms
38[conditionals] fragment-steps=5:vertex-steps=0: FPS: 810 FrameTime: 1.235 ms
39[conditionals] fragment-steps=0:vertex-steps=5: FPS: 804 FrameTime: 1.244 ms
40[function] fragment-complexity=low:fragment-steps=5: FPS: 862 FrameTime: 1.160 ms
41[function] fragment-complexity=medium:fragment-steps=5: FPS: 832 FrameTime: 1.202 ms
42[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 800 FrameTime: 1.250 ms
43[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 749 FrameTime: 1.335 ms
44[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 817 FrameTime: 1.224 ms
45=======================================================
46                                  glmark2 Score: 705
47=======================================================
48orangepi@orangepi5:~$

glmark2-esの標準時の「glmark2 Score: 720」から下がってしまったという・・・

そして、glmark2

1orangepi@orangepi5:~$ glmark2
2=======================================================
3    glmark2 2021.02
4=======================================================
5    OpenGL Information
6    GL_VENDOR:     Panfrost
7    GL_RENDERER:   Mali-G610 (Panfrost)
8    GL_VERSION:    3.0 Mesa 23.0.0-devel
9=======================================================
10[build] use-vbo=false:Queue group error: status 0x24c00488 sideband 0x140947fbf
11syncobj 0x5598b328f0 wait timeout
12CSI 0 CS_EXTRACT (9664) != 9856, CS_ACTIVE (0)
13fences:
14 slot 3: seqnum 51
15 slot 2: seqnum 51
16syncobj 0x5598b328f0 wait timeout
17CSI 1 CS_EXTRACT (12864) != 13120, CS_ACTIVE (0)
18fences:
19 slot 3: seqnum 51
20 slot 2: seqnum 51
21MESA: error: Context reset
22bound csi 0 again
23bound csi 1 again
24Queue group error: status 0x24c00488 sideband 0x124b794ff
25syncobj 0x5598b328f0 wait timeout
26CSI 0 CS_EXTRACT (13120) != 13312, CS_ACTIVE (0)
27fences:
28 slot 3: seqnum 69
29 slot 2: seqnum 69
30syncobj 0x5598b328f0 wait timeout
31CSI 1 CS_EXTRACT (17472) != 17728, CS_ACTIVE (0)
32fences:
33 slot 3: seqnum 69
34 slot 2: seqnum 69
35MESA: error: Context reset
36bound csi 0 again
37bound csi 1 again
38 FPS: 156 FrameTime: 6.410 ms
39[build] use-vbo=true: FPS: 492 FrameTime: 2.033 ms
40[texture] texture-filter=nearest: FPS: 451 FrameTime: 2.217 ms
41[texture] texture-filter=linear: FPS: 458 FrameTime: 2.183 ms
42[texture] texture-filter=mipmap: FPS: 463 FrameTime: 2.160 ms
43[shading] shading=gouraud: FPS: 444 FrameTime: 2.252 ms
44[shading] shading=blinn-phong-inf: FPS: 237 FrameTime: 4.219 ms
45[shading] shading=phong: FPS: 431 FrameTime: 2.320 ms
46[shading] shading=cel: FPS: 454 FrameTime: 2.203 ms
47[bump] bump-render=high-poly: FPS: 572 FrameTime: 1.748 ms
48[bump] bump-render=normals: FPS: 658 FrameTime: 1.520 ms
49[bump] bump-render=height: FPS: 652 FrameTime: 1.534 ms
50[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 659 FrameTime: 1.517 ms
51[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 538 FrameTime: 1.859 ms
52[pulsar] light=false:quads=5:texture=false: FPS: 569 FrameTime: 1.757 ms
53[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 196 FrameTime: 5.102 ms
54[desktop] effect=shadow:windows=4: FPS: 471 FrameTime: 2.123 ms
55[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 303 FrameTime: 3.300 ms
56[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 291 FrameTime: 3.436 ms
57[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 313 FrameTime: 3.195 ms
58[ideas] speed=duration: FPS: 243 FrameTime: 4.115 ms
59[jellyfish] <default>: FPS: 476 FrameTime: 2.101 ms
60[terrain] <default>: FPS: 57 FrameTime: 17.544 ms
61[shadow] <default>: FPS: 347 FrameTime: 2.882 ms
62[refract] <default>: FPS: 275 FrameTime: 3.636 ms
63[conditionals] fragment-steps=0:vertex-steps=0: FPS: 599 FrameTime: 1.669 ms
64[conditionals] fragment-steps=5:vertex-steps=0: FPS: 391 FrameTime: 2.558 ms
65[conditionals] fragment-steps=0:vertex-steps=5: FPS: 382 FrameTime: 2.618 ms
66[function] fragment-complexity=low:fragment-steps=5: FPS: 390 FrameTime: 2.564 ms
67[function] fragment-complexity=medium:fragment-steps=5: FPS: 376 FrameTime: 2.660 ms
68[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 384 FrameTime: 2.604 ms
69[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 361 FrameTime: 2.770 ms
70[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 293 FrameTime: 3.413 ms
71=======================================================
72                                  glmark2 Score: 405
73=======================================================
74orangepi@orangepi5:~$

スコアは標準の115から405へと躍進していますが、実際に表示された画面は、馬が変な状態でフリーズしたまま、GUIが全部とまりましたので、Panrost GPUドライバ自体の動きが非常に怪しいようです。

というわけで、ブラウザ表示の高速化であれば大丈夫そうですが、ちゃんとGPUを使っていこうとすると、問題が出たりしそうです。

Orange Pi 5用Android 12からGSIイメージの汎用Androidを起動する

Orange Pi 5用として公式で出ているAndroid 12とOrange Pi OS (Droid)のどちらにもGoogle Playは入っていなかった。

しかし、開発者向けオプションを有効にしてみると、DSU Loaderが使えることがわかった。

また、root権限が使える状態であるため、DSU Sideloader を使うと好きなGSI イメージを使って起動させることができそうです。

(注: LCD用Androidイメージ+Type-Cディスプレイの場合、GSIイメージで起動すると最初はHDMI出力のみで、初期セットアップ完了後じゃないとType-Cディスプレイが使えませんでした)

phhussonさんとこのGeneric System Image (GSI) List からAOSP 12.1 v416を使って見ました。

(なお、GSIイメージによっては黒画面のまま起動してきません)

まず、起動したAndroid上の検索枠で「dsu loader github」と検索すると出てくるDSU Sideloaderのgithubページにある apkファイルをAndroidにインストールして、DSU Sideloaderアプリの設定で「Build-in installer」を有効にしてから、GSIイメージを選択してインストールします。

Userdate sizeを30GB以上に設定しないと原神はインストールできないと思います。(22GBだと駄目だったので、とりあえず50GBで設定した)

インストールに使用するGSIイメージは system-squeak-arm64-ab-gapps.img.xz を使いました。Androidブラウザでダウンロードするとファイル名が system-squeak-arm64-ab-gapps.bin で保存されてしまうので、保存完了後ファイル名を system-squeak-arm64-ab-gapps.img.xz に変更する必要があります。

正常に導入が終わると「Reboot into DSU」というボタンが現れるので、それをクリックすると、GSIイメージのAndroidが起動します。

正常に動作するGSIイメージであればAndroidの初期画面が表示されるでしょう

Google Playストアがありますね

で・・・原神も動きました。

ただ、Orange Pi 5のAndroidだとHDMI/Type-Cディスプレイで音が出るんですが、GSIイメージから起動すると、Orange Pi 5オンボードのイヤフォン端子からのみ音が出る、という状態でした。

原神は、初期設定だとグラフィック設定:低いとちょっと荒い表示ですが、設定で「最高」を選んでも問題無く動きました。

その際の消費電力は5V1.8Aぐらいを上限として1.1A~1.8Aを動いている感じでした。


Lenovo/ワコム液晶をType-Cコネクタ1本でつないだ場合の使い勝手について

OrangePi5_RK3588S_Android12_spi-nvme_lcd_v1.0.0.img
→ いまいち。タッチ動作がおかしくなったり、GSIイメージで起動した場合のディスプレイ出力が怪しかったりする
  なぜかGSIイメージで原神を起動するとすぐに落ちる
  ブート画面はType-C側に出力される

OrangePi5_RK3588S_Android12_spi-nvme_v1.0.0.img
→ 問題無し? 液晶側から音もなるが、GSIイメージ起動の場合はOrange Pi本体のイヤフォン端子からのみ音が出る
  GSIイメージで原神は問題無く動いた
  ブート画面はHDMI側に出力され、Type-Cディスプレイしかつないでない場合、起動が完了するころまで黒画面のままとなる

OrangePi-OS_Droid_orangepi5_spi-nvme_v0.0.2_beta.img
→ OrangePi5_RK3588S_Android12_spi-nvme_v1.0.0.imgとだいたい同じような感じ。
  v0.0.3へのアップデートがふってくることと来ないことがあるのが謎
  GSIイメージで原神は問題無く動いた
  ブート画面はHDMI側に出力され、Type-Cディスプレイしかつないでない場合、起動が完了するころまで黒画面のままとなる

Orange Piの中国サイトからだとOrange Pi OS(Droid)が入手できる

2023/01/04追記:Orange Pi 5でGoogle Play ストアを使うためには「Orange Pi 5用Android 12からGSIイメージの汎用Androidを起動する」の手順で十分です。


youtubeにOrange Pi 5のレビュー動画が公開されていた。

Androidのホーム画面にGoogle Playがいるばかりか、原神をプレイしている・・・

Google Play入りのOrange Pi 5用Androidイメージはどうやって入手するんだ?と思っていたらOrange Pi 5の中国語ページ にある「Orange Pi OS(Droid)」のリンク先でダウンロードできるようだ、というタレコミが・・・

たしかにOrange Pi OS(Droid)のファイルがある。

しかし、このサイト pan.baidu.com は専用クライアントソフトを使わないとファイルがダウンロードできない。

使わなくともダウンロードできるような手法もあるのですが、今回のファイルダウンロードでは上手く動作せず。

仕方が無いので、専用クライアントソフト+baiduアカウントでログインしてファイルをダウンロードします。

ダウンロード速度は低速で30Kbps~150Kbpsで推移していました。

課金すると早くなるらしいです。

こうして入手したファイル OrangePi-OS_Droid_orangepi5_v0.0.2_beta.tar.gz を展開して .imgファイルを SDDiskToolのSD_Firmware_Tool.exe で書き込みます(詳細)

ただ・・・いろいろ遊んでみたところ、容量が足らなかったので、NVMe SSDへインストールすることにしました。

Type-Cコネクタをパソコンにつないで、ボード上のMaskROMボタンを押しながら電源を繋ぎます。

そうすると、下記のような不明なデバイス(VID_2207&PID_350B)が現れます。

これは、DriverAssitant_v5.12\Driver にあるドライバを適用すると以下の認識になります。

そうするとRKDevTool上の表示が「Found One MASKROM Device」となります

次に「Upgrade Firmware」タブで「Firmware」をクリックし、書き込みイメージファイルを指定し、「Upgrade」をクリックして書き込みます

書き込みが始まると右側に状況が表示されます

進行中…

書き込みが完了すると、そのままAndroidが起動して、「Found One ADB Deivce」と表示されます

・・・・で、起動したわけなんですが、期待していたGoogle Playはありませんでした。

なんで、Chromeは入ってるんだろうか??

で・・・設定画面をいろいろ見ていたら「開発者向けオプション」に「DSU Loader」というのがあった

Dynamic System Updates(DSU)はGSIイメージを利用して別のAndroidを起動するための仕組み。

選択してみるとGSI+GMSがある・・・GMS=Google Mobile ServiceということでGoogle Playストアが使えるイメージが選択できる、ということ

ただ、GSI+GMSのイメージを選択すると、ダウンロードが開始されて、用意が終わるとそのイメージで起動できるのですが、そのシステムディスクで使えるストレージが7GB程度と固定で、原神をインストールするには足りませんでした。

また、GSIで起動したAndroid側ではHDMI 経由の音声出力がうまくいかないようで、イヤフォン端子からのみ音が出ていました。

また、このDSU Loader経由での別のAndroidイメージの起動は、Orange Pi OS (Droid)じゃない、普通のAndroid 12イメージでも動きました。

詳細手順としては「Orange Pi 5用Android 12からGSIイメージの汎用Androidを起動する」にまとめました。

ということで、わざわざBaiduクライアントをインストールした意味があまりなかった、という話でした

Orange Pi 5でデータディスクとしてならM.2 SATAも使える

Orange Pi 5で、M.2 SATAを利用する方法がある、という情報をいただきました。

(2023/01/05追記: M.2 NVMe SSDでLinuxを起動する記事はこちら→Orange Pi 5 が届いた)
(2023/01/08追記: M.2 SATA SSDからLinux/Androidが起動できるようになりました→Orange Pi 5でAndroid/Linux共にM.2 SATA SSDから起動できるようになった)

Orange Pi純正のUbuntuに入っているorangepi-configに設定がある、ということ。

「sudo orangepi-config」で起動して、[System]-[Hardware]を開くと、「ssd-sata」というモジュールがあります。

これにチェックを入れて保存し、再起動するとM.2 SATAを認識するようになります。

デバイスは/dev/sdaとして認識します。

ただし、現状、microSDからUbuntuを起動し、データディスクとしてM.2 SATAを起動できる、という状態です。

M.2 SATA を起動ディスクとして使うことはできませんでした。

StatCounter - Free Web Tracker and Counter