LoginSignup
3
2

ZynqMP 向け Ubuntu22.04で Lima を動かしてみた(glmark2編)

Last updated at Posted at 2022-10-10

はじめに

Lima とは Mali-400/450 用のオープンソースなグラフィックドライバです。筆者は Lima を ZynqMP 向け Ubuntu 22.04 で試験的に動かしてみました。動かすのに少々苦労したので、その方法を何回かに分けて説明します。

この記事では Ultra96-V2/KV260 + Lima + Ubuntu 22.04 OpenGL のベンチマークソフト(glmark2) を走らせた結果を示します。

準備

Ubuntu22.04 がパッケージとして提供している glmark2 だと何故か Segmentation fault が発生して動きませんでした。

Ubuntu22.04 glmark2 error log
fpga@ubuntu-fpga:~$ sudo apt install glmark2
Reading package lists... Done
Building dependency tree... Done
Reading state information... DoneThe following additional packages will be installed:
  glmark2-data
The following NEW packages will be installed:
  glmark2 glmark2-data
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 6015 kB of archives.
After this operation, 10.1 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 http://ports.ubuntu.com/ubuntu-ports jammy/universe arm64 glmark2-data all 2021.02-0ubuntu1 [5837kB]
Get:2 http://ports.ubuntu.com/ubuntu-ports jammy/universe arm64 glmark2 arm64 2021.02-0ubuntu1 [178 kB] Fetched 6015 kB in 3s (1724 kB/s)
Selecting previously unselected package glmark2-data.
(Reading database ... 83202 files and directories currently installed.)
Preparing to unpack .../glmark2-data_2021.02-0ubuntu1_all.deb ...
Unpacking glmark2-data (2021.02-0ubuntu1) ...
Selecting previously unselected package glmark2.
Preparing to unpack .../glmark2_2021.02-0ubuntu1_arm64.deb ...
Unpacking glmark2 (2021.02-0ubuntu1) ...
Setting up glmark2-data (2021.02-0ubuntu1) ...
Setting up glmark2 (2021.02-0ubuntu1) ...
Processing triggers for man-db (2.10.2-1) ...
fpga@ubuntu-fpga:~$ /usr/bin/glmark2
=======================================================
    glmark2 2021.02
=======================================================
    OpenGL Information
    GL_VENDOR:     lima
    GL_RENDERER:   Mali400
    GL_VERSION:    2.1 Mesa 22.0.5 (git-d88d2f3687)
=======================================================
[build] use-vbo=false: FPS: 325 FrameTime: 3.077 ms
[build] use-vbo=true: FPS: 364 FrameTime: 2.747 ms
[texture] texture-filter=nearest: FPS: 258 FrameTime: 3.876 ms
[texture] texture-filter=linear: FPS: 252 FrameTime: 3.968 ms
Segmentation fault

そこで、glmark2 をソースからビルドしてインストールします。

glmark2 の ダウンロード

fpga@ubuntu-fpga:~$ git clone https://github.com/glmark2/glmark2.git
Cloning into 'glmark2'...
remote: Enumerating objects: 6631, done.
remote: Counting objects: 100% (328/328), done.
remote: Compressing objects: 100% (148/148), done.
remote: Total 6631 (delta 177), reused 304 (delta 165), pack-reused 6303
Receiving objects: 100% (6631/6631), 14.04 MiB | 11.81 MiB/s, done.
Resolving deltas: 100% (4059/4059), done.

ビルドの準備

fpga@ubuntu-fpga:~$ cd glmark2
fpga@ubuntu-fpga:~/glmark2$ sudo apt install libjpeg-dev libx11-dev libpng-dev libdrm-dev libgbm-dev libudev-dev

ビルド

fpga@ubuntu-fpga:~/glmark2$ fpga@ubuntu-fpga:~/glmark2$ ./waf configure --with-flavors=x11-gl
Setting top to                           : /home/fpga/glmark2
Setting out to                           : /home/fpga/glmark2/build
Checking for 'gcc' (C compiler)          : /usr/bin/gcc
Checking for 'g++' (C++ compiler)        : /usr/bin/g++
Checking for header stdlib.h             : yes
Checking for header string.h             : yes
Checking for header stdint.h             : yes
Checking for header stdio.h              : yes
Checking for header dlfcn.h              : yes
Checking for header unistd.h             : yes
Checking for header jpeglib.h            : yes
Checking for header math.h               : yes
Checking for header string.h             : yes
Checking for library m                   : yes
Checking for library jpeg                : yes
Checking for function memset             : yes
Checking for function sqrt               : yes
Checking for program 'pkg-config'        : /usr/bin/pkg-config
Checking for 'libpng12'                  : not found
Checking for 'libpng15'                  : not found
Checking for 'libpng16'                  : yes
Checking for 'x11'                       : yes
Checking for 'libdrm'                    : yes
Checking for 'gbm'                       : yes
Checking for 'libudev'                   : yes
Checking for 'mirclient'                 : not found
Checking for 'wayland-client'            : not found
Checking for 'wayland-cursor'            : not found
Checking for 'wayland-egl'               : not found
Prefix                                   : /usr/local
Data path                                : /usr/local/share/glmark2
Including extras                         : No
Building flavors                         : ['x11-gl']
'configure' finished successfully (5.083s)
fpga@ubuntu-fpga:~/glmark2$ fpga@ubuntu-fpga:~/glmark2$ ./waf
Waf: Entering directory `/home/fpga/glmark2/build'
[ 1/70] Compiling src/main.cpp
[ 2/70] Compiling src/canvas-generic.cpp
[ 3/70] Compiling src/native-state-x11.cpp
[ 4/70] Compiling src/gl-state-glx.cpp
[ 5/70] Compiling src/glad/src/glx.c
[ 6/70] Compiling src/glad/src/gl.c
	:
	(中略)
	:
[67/70] Compiling doc/glmark2.1.in
[68/70] Linking build/src/libmatrix-gl.a
[69/70] Linking build/src/libcommon-gl.a
[70/70] Linking build/src/glmark2
Waf: Leaving directory `/home/fpga/glmark2/build'
'build' finished successfully (2m24.584s)

インストール

fpga@ubuntu-fpga:~/glmark2$ fpga@ubuntu-fpga:~/glmark2$ sudo ./waf  install
Waf: Entering directory `/home/fpga/glmark2/build'
	:
	(中略)
	:
Waf: Leaving directory `/home/fpga/glmark2/build'
'install' finished successfully (1.169s)

実行

Ultra96-V2 および KV260 で実行します。Lima を有効にしなかった場合、Lima を有効にしたけど CPU キャッシュがオフになっていた場合、Lima を有効にしてかつ CPU キャッシュをオンにした場合の実行結果を示します。ついでに --off-screen オプションで画像を表示しなかった場合も示します。

Ultra96-V2 Lima 無し

u96v2-lima-none.log
u96v2-lima-none.log
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
=======================================================
    glmark2 2021.12
=======================================================
    OpenGL Information
    GL_VENDOR:      Mesa/X.org
    GL_RENDERER:    llvmpipe (LLVM 13.0.1, 128 bits)
    GL_VERSION:     4.5 (Compatibility Profile) Mesa 22.0.5
    Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=32 stencil=0
    Surface Size:   800x600 windowed
=======================================================
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[build] use-vbo=false: FPS: 27 FrameTime: 37.037 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[build] use-vbo=true: FPS: 26 FrameTime: 38.462 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=nearest: FPS: 34 FrameTime: 29.412 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=linear: FPS: 34 FrameTime: 29.412 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=mipmap: FPS: 30 FrameTime: 33.333 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=gouraud: FPS: 21 FrameTime: 47.619 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=blinn-phong-inf: FPS: 20 FrameTime: 50.000 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=phong: FPS: 19 FrameTime: 52.632 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=cel: FPS: 19 FrameTime: 52.632 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[bump] bump-render=high-poly: FPS: 11 FrameTime: 90.909 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[bump] bump-render=normals: FPS: 38 FrameTime: 26.316 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[bump] bump-render=height: FPS: 36 FrameTime: 27.778 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 22 FrameTime: 45.455 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 19 FrameTime: 52.632 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[pulsar] light=false:quads=5:texture=false: FPS: 32 FrameTime: 31.250 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 8 FrameTime: 125.000 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[desktop] effect=shadow:windows=4: FPS: 13 FrameTime: 76.923 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 16 FrameTime: 62.500 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 16 FrameTime: 62.500 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 17 FrameTime: 58.824 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[ideas] speed=duration: FPS: 23 FrameTime: 43.478 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[jellyfish] <default>: FPS: 14 FrameTime: 71.429 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[terrain] <default>: FPS: 1 FrameTime: 1000.000 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shadow] <default>: FPS: 15 FrameTime: 66.667 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[refract] <default>: FPS: 2 FrameTime: 500.000 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 25 FrameTime: 40.000 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 24 FrameTime: 41.667 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 26 FrameTime: 38.462 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[function] fragment-complexity=low:fragment-steps=5: FPS: 24 FrameTime: 41.667 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[function] fragment-complexity=medium:fragment-steps=5: FPS: 23 FrameTime: 43.478 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 24 FrameTime: 41.667 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 24 FrameTime: 41.667 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 24 FrameTime: 41.667 ms
=======================================================
                                  glmark2 Score: 21 
=======================================================

Ultra96-V2 Lima 有り CPU キャッシュオフ

u96v2-lima-cacheoff.log
u96v2-lima-cacheoff.log
=======================================================
    glmark2 2021.12
=======================================================
    OpenGL Information
    GL_VENDOR:      lima
    GL_RENDERER:    Mali400
    GL_VERSION:     2.1 Mesa 22.0.5 (git-d88d2f3687)
    Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0
    Surface Size:   800x600 windowed
=======================================================
[build] use-vbo=false: FPS: 22 FrameTime: 45.455 ms
[build] use-vbo=true: FPS: 23 FrameTime: 43.478 ms
[texture] texture-filter=nearest: FPS: 22 FrameTime: 45.455 ms
[texture] texture-filter=linear: FPS: 23 FrameTime: 43.478 ms
[texture] texture-filter=mipmap: FPS: 23 FrameTime: 43.478 ms
[shading] shading=gouraud: FPS: 22 FrameTime: 45.455 ms
[shading] shading=blinn-phong-inf: FPS: 22 FrameTime: 45.455 ms
[shading] shading=phong: FPS: 22 FrameTime: 45.455 ms
[shading] shading=cel: FPS: 22 FrameTime: 45.455 ms
[bump] bump-render=high-poly: FPS: 20 FrameTime: 50.000 ms
[bump] bump-render=normals: FPS: 23 FrameTime: 43.478 ms
[bump] bump-render=height: FPS: 23 FrameTime: 43.478 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 23 FrameTime: 43.478 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 23 FrameTime: 43.478 ms
[pulsar] light=false:quads=5:texture=false: FPS: 23 FrameTime: 43.478 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 20 FrameTime: 50.000 ms
[desktop] effect=shadow:windows=4: FPS: 22 FrameTime: 45.455 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 21 FrameTime: 47.619 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 21 FrameTime: 47.619 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 21 FrameTime: 47.619 ms
[ideas] speed=duration: FPS: 22 FrameTime: 45.455 ms
[jellyfish] <default>: FPS: 22 FrameTime: 45.455 ms
[terrain] <default>: Unsupported
[shadow] <default>: FPS: 20 FrameTime: 50.000 ms
[refract] <default>: FPS: 12 FrameTime: 83.333 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 23 FrameTime: 43.478 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 23 FrameTime: 43.478 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 23 FrameTime: 43.478 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 23 FrameTime: 43.478 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 23 FrameTime: 43.478 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 23 FrameTime: 43.478 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 23 FrameTime: 43.478 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 23 FrameTime: 43.478 ms
=======================================================
                                  glmark2 Score: 21 
=======================================================

Ultra96-V2 Lima 有り CPU キャッシュオン

u96v2-lima-cacheon.log
u96v2-lima-cacheon.log
=======================================================
    glmark2 2021.12
=======================================================
    OpenGL Information
    GL_VENDOR:      lima
    GL_RENDERER:    Mali400
    GL_VERSION:     2.1 Mesa 22.0.5 (git-d88d2f3687)
    Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0
    Surface Size:   800x600 windowed
=======================================================
[build] use-vbo=false: FPS: 130 FrameTime: 7.692 ms
[build] use-vbo=true: FPS: 153 FrameTime: 6.536 ms
[texture] texture-filter=nearest: FPS: 146 FrameTime: 6.849 ms
[texture] texture-filter=linear: FPS: 145 FrameTime: 6.897 ms
[texture] texture-filter=mipmap: FPS: 151 FrameTime: 6.623 ms
[shading] shading=gouraud: FPS: 129 FrameTime: 7.752 ms
[shading] shading=blinn-phong-inf: FPS: 75 FrameTime: 13.333 ms
[shading] shading=phong: FPS: 70 FrameTime: 14.286 ms
[shading] shading=cel: FPS: 47 FrameTime: 21.277 ms
[bump] bump-render=high-poly: FPS: 66 FrameTime: 15.152 ms
[bump] bump-render=normals: FPS: 131 FrameTime: 7.634 ms
[bump] bump-render=height: FPS: 84 FrameTime: 11.905 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 42 FrameTime: 23.810 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 19 FrameTime: 52.632 ms
[pulsar] light=false:quads=5:texture=false: FPS: 170 FrameTime: 5.882 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 30 FrameTime: 33.333 ms
[desktop] effect=shadow:windows=4: FPS: 97 FrameTime: 10.309 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 60 FrameTime: 16.667 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 60 FrameTime: 16.667 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 80 FrameTime: 12.500 ms
[ideas] speed=duration: FPS: 71 FrameTime: 14.085 ms
[jellyfish] <default>: FPS: 45 FrameTime: 22.222 ms
Error: SceneTerrain requires Vertex Texture Fetch support, but GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS is 0
[terrain] <default>: Unsupported
[shadow] <default>: FPS: 59 FrameTime: 16.949 ms
[refract] <default>: FPS: 11 FrameTime: 90.909 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 135 FrameTime: 7.407 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 72 FrameTime: 13.889 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 135 FrameTime: 7.407 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 79 FrameTime: 12.658 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 55 FrameTime: 18.182 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 67 FrameTime: 14.925 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 65 FrameTime: 15.385 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 42 FrameTime: 23.810 ms
=======================================================
                                  glmark2 Score: 85 
=======================================================

Ultra96-V2 オフスクリーン

u96v2-off-screen.log
u96v2-off-screen.log
=======================================================
    glmark2 2021.12
=======================================================
    OpenGL Information
    GL_VENDOR:      lima
    GL_RENDERER:    Mali400
    GL_VERSION:     2.1 Mesa 22.0.5 (git-d88d2f3687)
    Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0
    Surface Size:   800x600 windowed
=======================================================
[build] use-vbo=false: FPS: 290 FrameTime: 3.448 ms
[build] use-vbo=true: FPS: 312 FrameTime: 3.205 ms
[texture] texture-filter=nearest: FPS: 320 FrameTime: 3.125 ms
[texture] texture-filter=linear: FPS: 311 FrameTime: 3.215 ms
[texture] texture-filter=mipmap: FPS: 321 FrameTime: 3.115 ms
[shading] shading=gouraud: FPS: 208 FrameTime: 4.808 ms
[shading] shading=blinn-phong-inf: FPS: 146 FrameTime: 6.849 ms
[shading] shading=phong: FPS: 103 FrameTime: 9.709 ms
[shading] shading=cel: FPS: 77 FrameTime: 12.987 ms
[bump] bump-render=high-poly: FPS: 74 FrameTime: 13.514 ms
[bump] bump-render=normals: FPS: 251 FrameTime: 3.984 ms
[bump] bump-render=height: FPS: 207 FrameTime: 4.831 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 75 FrameTime: 13.333 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 24 FrameTime: 41.667 ms
[pulsar] light=false:quads=5:texture=false: FPS: 473 FrameTime: 2.114 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 41 FrameTime: 24.390 ms
[desktop] effect=shadow:windows=4: FPS: 145 FrameTime: 6.897 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 77 FrameTime: 12.987 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 78 FrameTime: 12.821 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 95 FrameTime: 10.526 ms
[ideas] speed=duration: FPS: 111 FrameTime: 9.009 ms
[jellyfish] <default>: FPS: 78 FrameTime: 12.821 ms
Error: SceneTerrain requires Vertex Texture Fetch support, but GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS is 0
[terrain] <default>: Unsupported
[shadow] <default>: FPS: 102 FrameTime: 9.804 ms
[refract] <default>: FPS: 12 FrameTime: 83.333 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 256 FrameTime: 3.906 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 141 FrameTime: 7.092 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 245 FrameTime: 4.082 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 183 FrameTime: 5.464 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 97 FrameTime: 10.309 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 159 FrameTime: 6.289 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 159 FrameTime: 6.289 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 70 FrameTime: 14.286 ms
=======================================================
                                  glmark2 Score: 163 
=======================================================

KV260 Lima 無し

kv260-lima-none.log
kv260-lima-none.log
libGL error: failed to create dri screen
libGL error: failed to load driver: xlnx
libGL error: failed to create dri screen
libGL error: failed to load driver: xlnx
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
=======================================================
    glmark2 2021.12
=======================================================
    OpenGL Information
    GL_VENDOR:      Mesa/X.org
    GL_RENDERER:    llvmpipe (LLVM 13.0.1, 128 bits)
    GL_VERSION:     4.5 (Compatibility Profile) Mesa 22.0.5
    Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=32 stencil=0
    Surface Size:   800x600 windowed
=======================================================
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[build] use-vbo=false: FPS: 43 FrameTime: 23.256 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[build] use-vbo=true: FPS: 42 FrameTime: 23.810 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=nearest: FPS: 56 FrameTime: 17.857 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=linear: FPS: 52 FrameTime: 19.231 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=mipmap: FPS: 44 FrameTime: 22.727 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=gouraud: FPS: 29 FrameTime: 34.483 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=blinn-phong-inf: FPS: 27 FrameTime: 37.037 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=phong: FPS: 25 FrameTime: 40.000 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=cel: FPS: 25 FrameTime: 40.000 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[bump] bump-render=high-poly: FPS: 14 FrameTime: 71.429 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[bump] bump-render=normals: FPS: 62 FrameTime: 16.129 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[bump] bump-render=height: FPS: 56 FrameTime: 17.857 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 32 FrameTime: 31.250 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 27 FrameTime: 37.037 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[pulsar] light=false:quads=5:texture=false: FPS: 44 FrameTime: 22.727 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 8 FrameTime: 125.000 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[desktop] effect=shadow:windows=4: FPS: 19 FrameTime: 52.632 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 21 FrameTime: 47.619 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 22 FrameTime: 45.455 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 23 FrameTime: 43.478 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[ideas] speed=duration: FPS: 17 FrameTime: 58.824 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[jellyfish] <default>: FPS: 15 FrameTime: 66.667 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[terrain] <default>: FPS: 0 FrameTime: inf ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shadow] <default>: FPS: 19 FrameTime: 52.632 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[refract] <default>: FPS: 2 FrameTime: 500.000 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 36 FrameTime: 27.778 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 35 FrameTime: 28.571 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 37 FrameTime: 27.027 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[function] fragment-complexity=low:fragment-steps=5: FPS: 34 FrameTime: 29.412 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[function] fragment-complexity=medium:fragment-steps=5: FPS: 33 FrameTime: 30.303 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 35 FrameTime: 28.571 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 35 FrameTime: 28.571 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 34 FrameTime: 29.412 ms
=======================================================
                                  glmark2 Score: 30 
=======================================================

KV260 Lima 有り CPUキャッシュオフ

kv260-lima-cacheoff.log
kv260-lima-cacheoff.log
=======================================================
    glmark2 2021.12
=======================================================
    OpenGL Information
    GL_VENDOR:      lima
    GL_RENDERER:    Mali400
    GL_VERSION:     2.1 Mesa 22.0.5 (git-d88d2f3687)
    Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0
    Surface Size:   800x600 windowed
=======================================================
[build] use-vbo=false: FPS: 51 FrameTime: 19.608 ms
[build] use-vbo=true: FPS: 51 FrameTime: 19.608 ms
[texture] texture-filter=nearest: FPS: 50 FrameTime: 20.000 ms
[texture] texture-filter=linear: FPS: 54 FrameTime: 18.519 ms
[texture] texture-filter=mipmap: FPS: 53 FrameTime: 18.868 ms
[shading] shading=gouraud: FPS: 52 FrameTime: 19.231 ms
[shading] shading=blinn-phong-inf: FPS: 52 FrameTime: 19.231 ms
[shading] shading=phong: FPS: 52 FrameTime: 19.231 ms
[shading] shading=cel: FPS: 51 FrameTime: 19.608 ms
[bump] bump-render=high-poly: FPS: 46 FrameTime: 21.739 ms
[bump] bump-render=normals: FPS: 53 FrameTime: 18.868 ms
[bump] bump-render=height: FPS: 54 FrameTime: 18.519 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 54 FrameTime: 18.519 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 21 FrameTime: 47.619 ms
[pulsar] light=false:quads=5:texture=false: FPS: 51 FrameTime: 19.608 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 44 FrameTime: 22.727 ms
[desktop] effect=shadow:windows=4: FPS: 50 FrameTime: 20.000 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 47 FrameTime: 21.277 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 49 FrameTime: 20.408 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 50 FrameTime: 20.000 ms
[ideas] speed=duration: FPS: 52 FrameTime: 19.231 ms
[jellyfish] <default>: FPS: 53 FrameTime: 18.868 ms
Error: SceneTerrain requires Vertex Texture Fetch support, but GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS is 0
[terrain] <default>: Unsupported
[shadow] <default>: FPS: 50 FrameTime: 20.000 ms
[refract] <default>: FPS: 15 FrameTime: 66.667 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 53 FrameTime: 18.868 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 53 FrameTime: 18.868 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 54 FrameTime: 18.519 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 54 FrameTime: 18.519 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 53 FrameTime: 18.868 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 54 FrameTime: 18.519 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 54 FrameTime: 18.519 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 54 FrameTime: 18.519 ms
=======================================================
                                  glmark2 Score: 49 
=======================================================

KV260 Lima 有り CPUキャッシュオン

kv260-lima-cacheon.log
kv260-lima-cacheon.log
=======================================================
    glmark2 2021.12
=======================================================
    OpenGL Information
    GL_VENDOR:      lima
    GL_RENDERER:    Mali400
    GL_VERSION:     2.1 Mesa 22.0.5 (git-d88d2f3687)
    Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0
    Surface Size:   800x600 windowed
=======================================================
[build] use-vbo=false: FPS: 325 FrameTime: 3.077 ms
[build] use-vbo=true: FPS: 369 FrameTime: 2.710 ms
[texture] texture-filter=nearest: FPS: 260 FrameTime: 3.846 ms
[texture] texture-filter=linear: FPS: 254 FrameTime: 3.937 ms
[texture] texture-filter=mipmap: FPS: 249 FrameTime: 4.016 ms
[shading] shading=gouraud: FPS: 236 FrameTime: 4.237 ms
[shading] shading=blinn-phong-inf: FPS: 152 FrameTime: 6.579 ms
[shading] shading=phong: FPS: 100 FrameTime: 10.000 ms
[shading] shading=cel: FPS: 64 FrameTime: 15.625 ms
[bump] bump-render=high-poly: FPS: 109 FrameTime: 9.174 ms
[bump] bump-render=normals: FPS: 181 FrameTime: 5.525 ms
[bump] bump-render=height: FPS: 150 FrameTime: 6.667 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 52 FrameTime: 19.231 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 21 FrameTime: 47.619 ms
[pulsar] light=false:quads=5:texture=false: FPS: 380 FrameTime: 2.632 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 37 FrameTime: 27.027 ms
[desktop] effect=shadow:windows=4: FPS: 128 FrameTime: 7.812 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 119 FrameTime: 8.403 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 118 FrameTime: 8.475 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 137 FrameTime: 7.299 ms
[ideas] speed=duration: FPS: 123 FrameTime: 8.130 ms
[jellyfish] <default>: FPS: 56 FrameTime: 17.857 ms
Error: SceneTerrain requires Vertex Texture Fetch support, but GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS is 0
[terrain] <default>: Unsupported
[shadow] <default>: FPS: 92 FrameTime: 10.870 ms
[refract] <default>: FPS: 15 FrameTime: 66.667 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 178 FrameTime: 5.618 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 92 FrameTime: 10.870 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 179 FrameTime: 5.587 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 123 FrameTime: 8.130 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 62 FrameTime: 16.129 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 122 FrameTime: 8.197 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 123 FrameTime: 8.130 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 50 FrameTime: 20.000 ms
=======================================================
                                  glmark2 Score: 145 
=======================================================

KV260 オフスクリーン

kv260-off-screen.log
kv260-off-screen.log
=======================================================
    glmark2 2021.12
=======================================================
    OpenGL Information
    GL_VENDOR:      lima
    GL_RENDERER:    Mali400
    GL_VERSION:     2.1 Mesa 22.0.5 (git-d88d2f3687)
    Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0
    Surface Size:   800x600 windowed
=======================================================
[build] use-vbo=false: FPS: 364 FrameTime: 2.747 ms
[build] use-vbo=true: FPS: 383 FrameTime: 2.611 ms
[texture] texture-filter=nearest: FPS: 437 FrameTime: 2.288 ms
[texture] texture-filter=linear: FPS: 427 FrameTime: 2.342 ms
[texture] texture-filter=mipmap: FPS: 417 FrameTime: 2.398 ms
[shading] shading=gouraud: FPS: 241 FrameTime: 4.149 ms
[shading] shading=blinn-phong-inf: FPS: 171 FrameTime: 5.848 ms
[shading] shading=phong: FPS: 111 FrameTime: 9.009 ms
[shading] shading=cel: FPS: 81 FrameTime: 12.346 ms
[bump] bump-render=high-poly: FPS: 95 FrameTime: 10.526 ms
[bump] bump-render=normals: FPS: 295 FrameTime: 3.390 ms
[bump] bump-render=height: FPS: 239 FrameTime: 4.184 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 77 FrameTime: 12.987 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 24 FrameTime: 41.667 ms
[pulsar] light=false:quads=5:texture=false: FPS: 563 FrameTime: 1.776 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 49 FrameTime: 20.408 ms
[desktop] effect=shadow:windows=4: FPS: 183 FrameTime: 5.464 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 101 FrameTime: 9.901 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 101 FrameTime: 9.901 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 118 FrameTime: 8.475 ms
[ideas] speed=duration: FPS: 135 FrameTime: 7.407 ms
[jellyfish] <default>: FPS: 82 FrameTime: 12.195 ms
Error: SceneTerrain requires Vertex Texture Fetch support, but GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS is 0
[terrain] <default>: Unsupported
[shadow] <default>: FPS: 139 FrameTime: 7.194 ms
[refract] <default>: FPS: 15 FrameTime: 66.667 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 275 FrameTime: 3.636 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 146 FrameTime: 6.849 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 259 FrameTime: 3.861 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 190 FrameTime: 5.263 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 99 FrameTime: 10.101 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 165 FrameTime: 6.061 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 165 FrameTime: 6.061 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 71 FrameTime: 14.085 ms
=======================================================
                                  glmark2 Score: 194 
=======================================================

結果

下の表に glmark2 のベンチマーク結果を示します。

Case glmark2
Machine Screen Lima Cache Surface Size Score
Ultra96-V2 on none - 800x600 21
on valid off 21
on valid on 85
off valid on 163
KV260 on none - 800x600 30
on valid off 49
on valid on 145
off valid on 194

参考

ブートイメージ

以下の URL にLima に対応した Ultra96/Ultra96-V2/KV260 向け Ubuntu22.04 のブートイメージを提供しています。使ってみたい人は注意事項を確認のうえインストールしてみてください。

その他

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2