ゆきまくらさんの「OrangePi5の公式xfceイメージにビデオドライバーをあてる」にGPUドライバを適用する話が書かれていた。
ただ上記だと詳細がわからないので、いろいろ調べながら試してみた。
現状調査
まず、同じRK3588S使っているKhadas Edge 2 Proあたりの情報みればなんかあるかな?と、cnxsoftwareにある「Khadas Edge2 Pro review – A Rockchip RK3588S SBC tested with Ubuntu 22.04」を読んでみる
「inxi -Fc0」というコマンドを実行するとハードウェア構成が出る、と
1 | orangepi@orangepi5:~$ inxi -Fc0 |
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) |
6 | Type: ARM System: Orange Pi 5 details: N/A |
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 |
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 |
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 |
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 |
29 | Local Storage: total: 29.9 GiB used: 11.49 GiB (38.4%) |
30 | ID-1: /dev/mmcblk1 model: 5cMJR size: 29.9 GiB |
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 |
35 | ID-3: /var/log size: 187.3 MiB used: 2.4 MiB (1.3%) fs: ext4 |
38 | ID-1: swap-1 type: zram size: 3.75 GiB used: 0 KiB (0.0%) dev: /dev/zram0 |
40 | System Temperatures: cpu: 40.7 C mobo: N/A |
43 | Processes: 246 Uptime: 7m Memory: 7.51 GiB used: 796.8 MiB (10.4%) |
44 | Shell: Bash inxi: 3.3.13 |
「glxinfo -B」で現在使用しているGPU出力に関する設定が分かるらしく「OpenGL renderer string: llvmpipe (LLVM 13.0.1, 128 bits)」を使ってる
1 | orangepi@orangepi5:~$ glxinfo -B |
3 | libGL error: failed to create dri screen |
4 | libGL error: failed to load driver: rockchip |
5 | libGL error: failed to create dri screen |
6 | libGL error: failed to load driver: rockchip |
9 | Extended renderer info (GLX_MESA_query_renderer): |
10 | Vendor: Mesa/X.org (0xffffffff) |
11 | Device: llvmpipe (LLVM 13.0.1, 128 bits) (0xffffffff) |
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 |
21 | OpenGL vendor string: Mesa/X.org |
22 | OpenGL renderer string: llvmpipe (LLVM 13.0.1, 128 bits) |
23 | OpenGL core profile version string: 4.5 (Core Profile) Mesa 22.0.5 |
24 | OpenGL core profile shading language version string: 4.50 |
25 | OpenGL core profile context flags: (none) |
26 | OpenGL core profile profile mask: core profile |
28 | OpenGL version string: 4.5 (Compatibility Profile) Mesa 22.0.5 |
29 | OpenGL shading language version string: 4.50 |
30 | OpenGL context flags: (none) |
31 | OpenGL profile mask: compatibility profile |
33 | OpenGL ES profile version string: OpenGL ES 3.2 Mesa 22.0.5 |
34 | OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20 |
「eglinfo」でも情報がある
1 | orangepi@orangepi5:~$ eglinfo |
2 | EGL 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 |
8 | arm_release_ver of this libmali is 'g6p0-01eac0', rk_so_ver is '5'. |
9 | eglinfo: eglInitialize failed |
14 | EGL version string: 1.4 Valhall-"g6p0-01eac0" |
15 | EGL client APIs: OpenGL_ES |
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 |
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 | --------------------------------------------------------------------- |
33 | 0x01 32 0 8 8 8 8 0 0 0 0 0x67TC a y y win,pb,pix |
34 | 0x02 32 0 8 8 8 8 24 0 0 0 0x67TC a y y win,pb,pix |
35 | 0x03 32 0 8 8 8 8 24 8 0 0 0x67TC a y y win,pb,pix |
36 | 0x04 32 0 8 8 8 8 24 8 4 1 0x67TC a y y win,pb,pix |
37 | 0x05 16 0 5 6 5 0 0 0 0 0 0x00-- y y y pb,pix |
38 | 0x06 16 0 5 6 5 0 24 0 0 0 0x00-- y y y pb,pix |
39 | 0x07 16 0 5 6 5 0 24 8 0 0 0x00-- y y y pb,pix |
40 | 0x08 16 0 5 6 5 0 24 8 4 1 0x00-- y y y pb,pix |
41 | 0x09 24 0 8 8 8 0 0 0 0 0 0x21TC y y y win,pb,pix |
42 | 0x0a 24 0 8 8 8 0 24 8 0 0 0x21TC y y y win,pb,pix |
43 | 0x0b 24 0 8 8 8 0 0 0 4 1 0x21TC y y y win,pb,pix |
44 | 0x0c 24 0 8 8 8 0 24 8 4 1 0x21TC y y y win,pb,pix |
45 | 0x0d 16 0 5 5 5 1 24 8 0 0 0x00-- a y y pb,pix |
46 | 0x0e 16 0 5 5 5 1 24 8 4 1 0x00-- a y y pb,pix |
47 | 0x0f 16 0 4 4 4 4 24 8 0 0 0x00-- a y y pb,pix |
48 | 0x10 16 0 4 4 4 4 24 8 4 1 0x00-- a y y pb,pix |
49 | 0x11 32 0 8 8 8 8 24 8 8 1 0x67TC a y y win,pb,pix |
50 | 0x12 16 0 5 6 5 0 24 8 8 1 0x00-- y y y pb,pix |
51 | 0x13 24 0 8 8 8 0 24 8 8 1 0x21TC y y y win,pb,pix |
52 | 0x14 32 0 8 8 8 8 24 8 16 1 0x67TC a y y win,pb,pix |
53 | 0x15 16 0 5 6 5 0 24 8 16 1 0x00-- y y y pb,pix |
54 | 0x16 24 0 8 8 8 0 24 8 16 1 0x21TC y y y win,pb,pix |
55 | 0x17 24 0 8 8 8 0 0 0 0 0 0x21TC y y win,pb,pix |
56 | 0x18 64 0 16 16 16 16 24 8 0 0 0x00-- y y pb |
57 | 0x19 32 0 10 10 10 2 24 8 0 0 0x00-- a y y pb,pix |
58 | 0x1a 24 0 8 8 8 0 0 0 0 0 0x21TC y y y win,pb,pix |
cnxの記事でglmark2-es2-waylandを使ってベンチマークとってるので、マネして「sudo apt install glmark2-es2-wayland」でベンチマークソフトをインストールして実行
1 | orangepi@orangepi5:~$ glmark2-es2-wayland |
2 | Error: main: Could not initialize canvas |
Orange PI 5 Ubuntu環境では実行できない
よくよく確認してみるとX-waylandを使用していないので「glmark2-es2」を実行。
1 | orangepi@orangepi5:~$ glmark2-es2 |
2 | arm_release_ver of this libmali is 'g6p0-01eac0', rk_so_ver is '5'. |
3 | arm_release_ver of this libmali is 'g6p0-01eac0', rk_so_ver is '5'. |
4 | ======================================================= |
6 | ======================================================= |
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 | ======================================================= |
47 | ======================================================= |
glmark2の場合はどうなるかを確認
1 | orangepi@orangepi5:~$ glmark2 |
2 | libGL error: failed to create dri screen |
3 | libGL error: failed to load driver: rockchip |
4 | libGL error: failed to create dri screen |
5 | libGL 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 | ======================================================= |
10 | ======================================================= |
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 | ======================================================= |
117 | ======================================================= |
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が読み込まれているかを確認してみると、エラーっぽい感じの出力となっている。
1 | orangepi@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'. |
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 |
libmali-valhall-g610-g6p0-x11-gbm はインストールされている。
1 | orangepi@orangepi5:~$ apt search libmali |
3 | Full Text Search... Done |
4 | libmali-valhall-g610-g6p0-x11-gbm/now 1.9-1 arm64 [installed,local] |
5 | Mali GPU User-Space Binary Drivers |
改善方法の試行
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を登録します。
1 | orangepi@orangepi5:~$ sudo add-apt-repository ppa:liujianfeng1994/panfork-mesa |
8 | Press [ENTER] to continue or Ctrl-c to cancel. |
9 | Adding deb entry to /etc/apt/sources.list.d/liujianfeng1994-ubuntu-panfork-mesa-jammy.list |
10 | Adding disabled deb-src entry to /etc/apt/sources.list.d/liujianfeng1994-ubuntu-panfork-mesa-jammy.list |
11 | Adding key to /etc/apt/trusted.gpg.d/liujianfeng1994-ubuntu-panfork-mesa.gpg with fingerprint 0B2F0747E3BD546820A639B68065BE1FC67AABDE |
20 | Fetched 26.4 kB in 4s (6,080 B/s) |
21 | Reading package lists... Done |
出力内に「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 を入れ替える必要があります。
1 | orangepi@orangepi5:~$ ls -l /lib/firmware/*mali* |
2 | -rw-r--r-- 1 root root 266240 Jul 29 2020 /lib/firmware/mali_csffw.bin |
5 | % Total % Received % Xferd Average Speed Time Time Time Current |
6 | Dload Upload Total Spent Left Speed |
7 | 100 268k 100 268k 0 0 1319k 0 --:--:-- --:--:-- --:--:-- 1326k |
8 | orangepi@orangepi5:~$ ls -l /lib/firmware/*mali* |
9 | -rw-r--r-- 1 root root 274432 Dec 27 21:08 /lib/firmware/mali_csffw.bin |
入れ替えたあとは「sudo apt update」でレポジトリの情報を更新します。
1 | orangepi@orangepi5:~$ sudo apt update |
8 | Reading package lists... Done |
9 | Building dependency tree... Done |
10 | Reading state information... Done |
11 | 33 packages can be upgraded. Run 'apt list --upgradable' to see them. |
どんなアップデートがあるのか「apt list –upgradable」を実行して確認すると、いくつかのライブラリなどが更新対象となるようだ。
1 | orangepi@orangepi5:~$ apt list --upgradable |
3 | ffmpeg/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1] |
4 | gstreamer1.0-tools/jammy-updates 1.20.3-0ubuntu1 arm64 [upgradable from: 1.20.3-0ubuntu1] |
5 | libavcodec-dev/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1] |
6 | libavcodec58/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1] |
7 | libavdevice-dev/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1] |
8 | libavdevice58/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1] |
9 | libavfilter-dev/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1] |
10 | libavfilter7/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1] |
11 | libavformat-dev/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1] |
12 | libavformat58/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1] |
13 | libavutil-dev/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1] |
14 | libavutil56/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1] |
15 | libdvbv5-0/jammy 1.22.1-2build1 arm64 [upgradable from: 1.22.1-2build1] |
16 | libegl-mesa0/jammy 23.0~panfork~csf~git221210.120202c6757~j arm64 [upgradable from: 22.0.5-0ubuntu0.1] |
17 | libgbm-dev/jammy 23.0~panfork~csf~git221210.120202c6757~j arm64 [upgradable from: 22.0.5-0ubuntu0.1] |
18 | libgbm1/jammy 23.0~panfork~csf~git221210.120202c6757~j arm64 [upgradable from: 22.0.5-0ubuntu0.1] |
19 | libgl1-mesa-dri/jammy 23.0~panfork~csf~git221210.120202c6757~j arm64 [upgradable from: 22.0.5-0ubuntu0.1] |
20 | libglapi-mesa/jammy 23.0~panfork~csf~git221210.120202c6757~j arm64 [upgradable from: 22.0.5-0ubuntu0.1] |
21 | libglx-mesa0/jammy 23.0~panfork~csf~git221210.120202c6757~j arm64 [upgradable from: 22.0.5-0ubuntu0.1] |
22 | libgstreamer1.0-0/jammy-updates 1.20.3-0ubuntu1 arm64 [upgradable from: 1.20.3-0ubuntu1] |
23 | libmpv1/jammy 0.34.1-1ubuntu3 arm64 [upgradable from: 0.34.1-1ubuntu3] |
24 | libpostproc55/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1] |
25 | libswresample-dev/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1] |
26 | libswresample3/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1] |
27 | libswscale5/jammy-security,jammy-updates 7:4.4.2-0ubuntu0.22.04.1 arm64 [upgradable from: 7:4.4.2-0ubuntu0.22.04.1] |
28 | mesa-common-dev/jammy 23.0~panfork~csf~git221210.120202c6757~j arm64 [upgradable from: 22.0.5-0ubuntu0.1] |
29 | mpv/jammy 0.34.1-1ubuntu3 arm64 [upgradable from: 0.34.1-1ubuntu3] |
30 | v4l-utils/jammy 1.22.1-2build1 arm64 [upgradable from: 1.22.1-2build1] |
31 | wiringpi/jammy 2.50-0ubuntu2 arm64 [upgradable from: 2.46] |
32 | xserver-common/jammy-security,jammy-security,jammy-updates,jammy-updates 2:21.1.3-2ubuntu2.5 all [upgradable from: 2:21.1.3-2ubuntu2] |
33 | xserver-xorg-core/jammy-security,jammy-updates 2:21.1.3-2ubuntu2.5 arm64 [upgradable from: 2:21.1.3-2ubuntu2] |
34 | xserver-xorg-dev/jammy-security,jammy-updates 2:21.1.3-2ubuntu2.5 arm64 [upgradable from: 2:21.1.3-2ubuntu2] |
35 | xserver-xorg-legacy/jammy-security,jammy-updates 2:21.1.3-2ubuntu2.5 arm64 [upgradable from: 2:21.1.3-2ubuntu2] |
で「sudo apt upgrade -y」を実行してアップデートを適用して、再起動します。
適用後の状況
ChromiumブラウザでWebGL Aquariumが「fps:60」で動作するようになりました
これはと思って他をいろいろチェック・・・
1 | orangepi@orangepi5:~$ glxinfo -B |
5 | Extended renderer info (GLX_MESA_query_renderer): |
6 | Vendor: Panfrost (0xffffffff) |
7 | Device: Mali-G610 (Panfrost) (0xffffffff) |
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 |
17 | OpenGL vendor string: Panfrost |
18 | OpenGL renderer string: Mali-G610 (Panfrost) |
19 | OpenGL version string: 3.0 Mesa 23.0.0-devel |
20 | OpenGL shading language version string: 1.30 |
21 | OpenGL context flags: (none) |
23 | OpenGL ES profile version string: OpenGL ES 3.1 Mesa 23.0.0-devel |
24 | OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10 |
glxinfoの結果でllvmpipe がなくなり、「OpenGL renderer string: Mali-G610 (Panfrost)」となっている。
1 | orangepi@orangepi5:~$ inxi -Fc0 |
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) |
6 | Type: ARM System: Orange Pi 5 details: N/A |
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 |
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 |
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 |
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 |
29 | Local Storage: total: 29.9 GiB used: 5 GiB (16.7%) |
30 | ID-1: /dev/mmcblk1 model: 5cMJR size: 29.9 GiB |
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 |
35 | ID-3: /var/log size: 187.3 MiB used: 4.5 MiB (2.4%) fs: ext4 |
38 | ID-1: swap-1 type: zram size: 3.75 GiB used: 0 KiB (0.0%) dev: /dev/zram0 |
40 | System Temperatures: cpu: 45.3 C mobo: N/A |
43 | Processes: 263 Uptime: 1m Memory: 7.51 GiB used: 706.6 MiB (9.2%) |
44 | Shell: Bash inxi: 3.3.13 |
1 | orangepi@orangepi5:~$ eglinfo |
2 | EGL 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 |
8 | arm_release_ver of this libmali is 'g6p0-01eac0', rk_so_ver is '5'. |
9 | eglinfo: eglInitialize failed |
14 | EGL version string: 1.4 Valhall-"g6p0-01eac0" |
15 | EGL client APIs: OpenGL_ES |
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 |
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 | --------------------------------------------------------------------- |
33 | 0x01 32 0 8 8 8 8 0 0 0 0 0x67TC a y y win,pb,pix |
34 | 0x02 32 0 8 8 8 8 24 0 0 0 0x67TC a y y win,pb,pix |
35 | 0x03 32 0 8 8 8 8 24 8 0 0 0x67TC a y y win,pb,pix |
36 | 0x04 32 0 8 8 8 8 24 8 4 1 0x67TC a y y win,pb,pix |
37 | 0x05 16 0 5 6 5 0 0 0 0 0 0x00-- y y y pb,pix |
38 | 0x06 16 0 5 6 5 0 24 0 0 0 0x00-- y y y pb,pix |
39 | 0x07 16 0 5 6 5 0 24 8 0 0 0x00-- y y y pb,pix |
40 | 0x08 16 0 5 6 5 0 24 8 4 1 0x00-- y y y pb,pix |
41 | 0x09 24 0 8 8 8 0 0 0 0 0 0x21TC y y y win,pb,pix |
42 | 0x0a 24 0 8 8 8 0 24 8 0 0 0x21TC y y y win,pb,pix |
43 | 0x0b 24 0 8 8 8 0 0 0 4 1 0x21TC y y y win,pb,pix |
44 | 0x0c 24 0 8 8 8 0 24 8 4 1 0x21TC y y y win,pb,pix |
45 | 0x0d 16 0 5 5 5 1 24 8 0 0 0x00-- a y y pb,pix |
46 | 0x0e 16 0 5 5 5 1 24 8 4 1 0x00-- a y y pb,pix |
47 | 0x0f 16 0 4 4 4 4 24 8 0 0 0x00-- a y y pb,pix |
48 | 0x10 16 0 4 4 4 4 24 8 4 1 0x00-- a y y pb,pix |
49 | 0x11 32 0 8 8 8 8 24 8 8 1 0x67TC a y y win,pb,pix |
50 | 0x12 16 0 5 6 5 0 24 8 8 1 0x00-- y y y pb,pix |
51 | 0x13 24 0 8 8 8 0 24 8 8 1 0x21TC y y y win,pb,pix |
52 | 0x14 32 0 8 8 8 8 24 8 16 1 0x67TC a y y win,pb,pix |
53 | 0x15 16 0 5 6 5 0 24 8 16 1 0x00-- y y y pb,pix |
54 | 0x16 24 0 8 8 8 0 24 8 16 1 0x21TC y y y win,pb,pix |
55 | 0x17 24 0 8 8 8 0 0 0 0 0 0x21TC y y win,pb,pix |
56 | 0x18 64 0 16 16 16 16 24 8 0 0 0x00-- y y pb |
57 | 0x19 32 0 10 10 10 2 24 8 0 0 0x00-- a y y pb,pix |
58 | 0x1a 24 0 8 8 8 0 0 0 0 0 0x21TC y y y win,pb,pix |
で・・・「glmark2-es2」を実行してベンチマークをとってみる(cnxの記事だと glmark2-es2-wayland を実行しているが、wayland環境ではないので、 glmark2-es2を実行する)
1 | orangepi@orangepi5:~$ glmark2-es2 |
2 | arm_release_ver of this libmali is 'g6p0-01eac0', rk_so_ver is '5'. |
3 | arm_release_ver of this libmali is 'g6p0-01eac0', rk_so_ver is '5'. |
4 | ======================================================= |
6 | ======================================================= |
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 | ======================================================= |
47 | ======================================================= |
glmark2-esの標準時の「glmark2 Score: 720」から下がってしまったという・・・
そして、glmark2
1 | orangepi@orangepi5:~$ glmark2 |
2 | ======================================================= |
4 | ======================================================= |
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 |
11 | syncobj 0x5598b328f0 wait timeout |
12 | CSI 0 CS_EXTRACT (9664) != 9856, CS_ACTIVE (0) |
16 | syncobj 0x5598b328f0 wait timeout |
17 | CSI 1 CS_EXTRACT (12864) != 13120, CS_ACTIVE (0) |
21 | MESA: error: Context reset |
24 | Queue group error: status 0x24c00488 sideband 0x124b794ff |
25 | syncobj 0x5598b328f0 wait timeout |
26 | CSI 0 CS_EXTRACT (13120) != 13312, CS_ACTIVE (0) |
30 | syncobj 0x5598b328f0 wait timeout |
31 | CSI 1 CS_EXTRACT (17472) != 17728, CS_ACTIVE (0) |
35 | MESA: error: Context reset |
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 | ======================================================= |
73 | ======================================================= |
スコアは標準の115から405へと躍進していますが、実際に表示された画面は、馬が変な状態でフリーズしたまま、GUIが全部とまりましたので、Panrost GPUドライバ自体の動きが非常に怪しいようです。
というわけで、ブラウザ表示の高速化であれば大丈夫そうですが、ちゃんとGPUを使っていこうとすると、問題が出たりしそうです。