Ubuntu20 下 Mali-G52/MP4 GPU 驱动

Please test and tell your results, Thank you!

Done with 4k. Can’t test 1080 in weston - i dont know how to change resolution :nerd_face: in weston.

root@vim3:~# cat ~/glmark2-wayland_4k 
=======================================================
    glmark2 2014.03+git20150611.fa71af2d
=======================================================
    OpenGL Information
    GL_VENDOR:     Panfrost
    GL_RENDERER:   Mali G52 (Panfrost)
    GL_VERSION:    2.1 Mesa 20.3.0-devel (git-fb56fb02a1)
=======================================================
[build] use-vbo=false: FPS: 456 FrameTime: 2.193 ms
[build] use-vbo=true: FPS: 475 FrameTime: 2.105 ms
[texture] texture-filter=nearest: FPS: 800 FrameTime: 1.250 ms
[texture] texture-filter=linear: FPS: 802 FrameTime: 1.247 ms
[texture] texture-filter=mipmap: FPS: 836 FrameTime: 1.196 ms
[shading] shading=gouraud: FPS: 324 FrameTime: 3.086 ms
[shading] shading=blinn-phong-inf: FPS: 329 FrameTime: 3.040 ms
[shading] shading=phong: FPS: 295 FrameTime: 3.390 ms
[shading] shading=cel: FPS: 293 FrameTime: 3.413 ms
[bump] bump-render=high-poly: FPS: 122 FrameTime: 8.197 ms
[bump] bump-render=normals: FPS: 872 FrameTime: 1.147 ms
[bump] bump-render=height: FPS: 785 FrameTime: 1.274 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 623 FrameTime: 1.605 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 259 FrameTime: 3.861 ms
[pulsar] light=false:quads=5:texture=false: FPS: 952 FrameTime: 1.050 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 151 FrameTime: 6.623 ms
[desktop] effect=shadow:windows=4: FPS: 550 FrameTime: 1.818 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 127 FrameTime: 7.874 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 132 FrameTime: 7.576 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 158 FrameTime: 6.329 ms
[ideas] speed=duration: FPS: 181 FrameTime: 5.525 ms
[jellyfish] <default>: FPS: 388 FrameTime: 2.577 ms
[terrain] <default>: FPS: 18 FrameTime: 55.556 ms
[shadow] <default>: FPS: 154 FrameTime: 6.494 ms
[refract] <default>: FPS: 30 FrameTime: 33.333 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 860 FrameTime: 1.163 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 706 FrameTime: 1.416 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 818 FrameTime: 1.222 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 833 FrameTime: 1.200 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 719 FrameTime: 1.391 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 942 FrameTime: 1.062 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 787 FrameTime: 1.271 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 558 FrameTime: 1.792 ms
=======================================================
                                  glmark2 Score: 495 
=======================================================

The red and blue colors are switched.

Google Photos

Also HW acceleration works in Xorg under root so probably it’s a /dev/dri/* premissions issue.

SW glxgears -
Google Photos

HW glxgears
Google Photos

blue and red gears are with wrong color.

extreme tux racer unger X11, under root

Google Photos

UPD:

HW acceleration using Xorg is not very stable. Got a couple of freezes on glxgears run.

Also i’ve tried to set chmod 0666 /dev/dri/* but didn’t get HW working in Xorg under user.

1 Like

@DeadMeat for fullscreen you just need to append --fullscreen to the end of the starting command,

i.e
cat ~/glmark2-wayland_4k --fullscreen

2 Likes

Done - 4k fullscreen.

root@vim3:/home/khadas# cat ~/glmark2-wayland_4k_fullscreen
=======================================================
    glmark2 2014.03+git20150611.fa71af2d
=======================================================
    OpenGL Information
    GL_VENDOR:     Panfrost
    GL_RENDERER:   Mali G52 (Panfrost)
    GL_VERSION:    2.1 Mesa 20.3.0-devel (git-fb56fb02a1)
=======================================================
[build] use-vbo=false: FPS: 18 FrameTime: 55.556 ms
[build] use-vbo=true: FPS: 18 FrameTime: 55.556 ms
[texture] texture-filter=nearest: FPS: 18 FrameTime: 55.556 ms
[texture] texture-filter=linear: FPS: 18 FrameTime: 55.556 ms
[texture] texture-filter=mipmap: FPS: 18 FrameTime: 55.556 ms
[shading] shading=gouraud: FPS: 18 FrameTime: 55.556 ms
[shading] shading=blinn-phong-inf: FPS: 18 FrameTime: 55.556 ms
[shading] shading=phong: FPS: 17 FrameTime: 58.824 ms
[shading] shading=cel: FPS: 17 FrameTime: 58.824 ms
[bump] bump-render=high-poly: FPS: 17 FrameTime: 58.824 ms
[bump] bump-render=normals: FPS: 18 FrameTime: 55.556 ms
[bump] bump-render=height: FPS: 17 FrameTime: 58.824 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 16 FrameTime: 62.500 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 10 FrameTime: 100.000 ms
[pulsar] light=false:quads=5:texture=false: FPS: 18 FrameTime: 55.556 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 7 FrameTime: 142.857 ms
[desktop] effect=shadow:windows=4: FPS: 17 FrameTime: 58.824 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 16 FrameTime: 62.500 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 16 FrameTime: 62.500 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 17 FrameTime: 58.824 ms
[ideas] speed=duration: FPS: 17 FrameTime: 58.824 ms
[jellyfish] <default>: FPS: 15 FrameTime: 66.667 ms
[terrain] <default>: FPS: 3 FrameTime: 333.333 ms
[shadow] <default>: FPS: 14 FrameTime: 71.429 ms
[refract] <default>: FPS: 10 FrameTime: 100.000 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 18 FrameTime: 55.556 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 17 FrameTime: 58.824 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 18 FrameTime: 55.556 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 18 FrameTime: 55.556 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 17 FrameTime: 58.824 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 18 FrameTime: 55.556 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 18 FrameTime: 55.556 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 16 FrameTime: 62.500 ms
=======================================================
                                  glmark2 Score: 16
=======================================================
1 Like

1080p - fullscreen, using xorg, much smoother than 4k:

root@vim3:~# glmark2 --fullscreen
=======================================================
    glmark2 2014.03+git20150611.fa71af2d
=======================================================
    OpenGL Information
    GL_VENDOR:     Panfrost
    GL_RENDERER:   Mali G52 (Panfrost)
    GL_VERSION:    2.1 Mesa 20.3.0-devel (git-fb56fb02a1)
=======================================================
[build] use-vbo=false: FPS: 69 FrameTime: 14.493 ms
[build] use-vbo=true: FPS: 77 FrameTime: 12.987 ms
[texture] texture-filter=nearest: FPS: 80 FrameTime: 12.500 ms
[texture] texture-filter=linear: FPS: 80 FrameTime: 12.500 ms
[texture] texture-filter=mipmap: FPS: 79 FrameTime: 12.658 ms
[shading] shading=gouraud: FPS: 64 FrameTime: 15.625 ms
[shading] shading=blinn-phong-inf: FPS: 65 FrameTime: 15.385 ms
[shading] shading=phong: FPS: 59 FrameTime: 16.949 ms
[shading] shading=cel: FPS: 57 FrameTime: 17.544 ms
[bump] bump-render=high-poly: FPS: 47 FrameTime: 21.277 ms
[bump] bump-render=normals: FPS: 78 FrameTime: 12.821 ms
[bump] bump-render=height: FPS: 77 FrameTime: 12.987 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 61 FrameTime: 16.393 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 39 FrameTime: 25.641 ms
[pulsar] light=false:quads=5:texture=false: FPS: 80 FrameTime: 12.500 ms
Mesa: User error: GL_INVALID_OPERATION in glFramebufferTexture2D(window-system framebuffer)
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 32 FrameTime: 31.250 ms
[desktop] effect=shadow:windows=4: FPS: 76 FrameTime: 13.158 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 49 FrameTime: 20.408 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 50 FrameTime: 20.000 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 55 FrameTime: 18.182 ms
[ideas] speed=duration: FPS: 58 FrameTime: 17.241 ms
[jellyfish] <default>: FPS: 54 FrameTime: 18.519 ms
[terrain] <default>: FPS: 10 FrameTime: 100.000 ms
[shadow] <default>: FPS: 38 FrameTime: 26.316 ms
[refract] <default>: FPS: 18 FrameTime: 55.556 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 79 FrameTime: 12.658 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 74 FrameTime: 13.514 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 80 FrameTime: 12.500 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 80 FrameTime: 12.500 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 72 FrameTime: 13.889 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 79 FrameTime: 12.658 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 79 FrameTime: 12.658 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 59 FrameTime: 16.949 ms
=======================================================
                                  glmark2 Score: 62
=======================================================

Xorg has some visual artifacts, when using composite manager, which likely are mesa issue

1 Like

Its only a little more than before :confused:
refer to my old benchmarks done…

1 Like

Do i understood correct, that your benchmark was done using blob arm driver?

GLmark Score:48
1080p full screen score:29

Fullscreen:

glmark2 Score: 62

Overal 1080 fullhd score almost twice higher

windowed mode:

glmark2 Score: 495

seems to be almost 10x higher.

As for me - nice boost :slight_smile:

It looks not quite enought for 4k, but 1080 semms good enought for beta/testing driver.

Ive try to get panfrost to work on vim3 using mesa-20.0.3-devel but it is still on llvm and idk why I cannot get it to work.

How did you get it to work?

yes it was the blob arm driver, or fbdev drivers,
also for me in windowed mode it was 48, and in your testing it was 480+ so yes, a 10x score increase :slightly_smiling_face:

but it doesn’t mean 10x graphics performance… can it ? :wink:

Probably it’s a typo, but i use mesa-20.3.0-devel (latest git).

Building mesa (following config works for me):

cd ./mesa

meson ./build --buildtype plain --libdir lib/aarch64-linux-gnu --localstatedir /var/lib --prefix /usr --sysconfdir /etc --wrap-mode nodownload -Dplatforms=surfaceless,x11,drm -Dllvm=true -Dlmsensors=false -Dlibunwind=false -Dgallium-nine=false -Dgallium-va=false -Dgallium-vdpau=false -Dgallium-xa=false -Dgallium-xvmc=false -Dgallium-opencl=disabled -Dosmesa=none -Dbuild-tests=false -Dglx=dri -Dshared-glapi=enabled -Ddri3=true -Degl=true -Dgbm=true -Dgles1=disabled -Dgles2=enabled -Dglvnd=false -Dselinux=false -Dvalgrind=false -Ddri-drivers= -Dgallium-drivers=kmsro,panfrost,swrast

ninja -C ./build install

Then you shold export the enviroment var PAN_MESA_DEBUG=bifrost for ubuntu/debian - in /etc/environment.d/panfrost-enable-bifrost.conf

After that it shold work, under X11 with root privileges. Also you can use kmscube for testinf without X11.

Feel free to ask on any problems. :slight_smile:

3 Likes

Why not ;), btw in full screen it’s just 2x. We need some “real-life” test, e.g. games, i’ve tried to run openarena, but got segfault, looks lite the driver is not yes so functional.

but still I have high hopes for the drivers :heart:,
in comparison we are at about half the performance of the Odroid N2 in performance,

1 Like

You can expect some instability and breakage in mesa master as things run-up to mesa forking 20.3 in the next week (Nov 4th IIRC). The current goal is to release Bifrost support (no debug export needed) but that means things are moving fast. The driver still has a long way to go before it reaches proper conformance and performance levels but it’s improving rapidly.

6 Likes

I was able to get panfrost to work on vim3 but only on Wayland with pan_debug.

It is very unstable but looks promising as some of the kde animations are very smooth.
At current stage it is not usable as it keeps flicking with many fonts missing and keeps crashing the shell.

Let’s wait for the official release

4 Likes

@Spikerguy, what about colors? In my case red and blue was swapped.

Yes you can see in the first picture most are yellow or green but its usually blueish green in my htop.

So yes the colors is swapped.

After i’ve switched to gentoo - all colors became normalized.

Google Photos

Google Photos

Google Photos

I didn’t yet figured out what is different now.

Probably sowftware versions (in gentoo: xorg-server-1.20.8, mesa - git-master, wayland-1.18.0, wayland-protocols-1.20, weston-9.0.0), works the same way as ubuntu: wayland- any user and Xorg - under root, all colors are correct.

windowed glmark score is the same:

vim3 ~ # glmark2-wayland 
=======================================================
    glmark2 2014.03
=======================================================
    OpenGL Information
    GL_VENDOR:     Panfrost
    GL_RENDERER:   Mali G52 (Panfrost)
    GL_VERSION:    2.1 Mesa 20.3.0-devel (git-b07b943f30)
=======================================================
[build] use-vbo=false: FPS: 470 FrameTime: 2.128 ms
[build] use-vbo=true: FPS: 465 FrameTime: 2.151 ms
[texture] texture-filter=nearest: FPS: 767 FrameTime: 1.304 ms
[texture] texture-filter=linear: FPS: 869 FrameTime: 1.151 ms
[texture] texture-filter=mipmap: FPS: 804 FrameTime: 1.244 ms
[shading] shading=gouraud: FPS: 327 FrameTime: 3.058 ms
[shading] shading=blinn-phong-inf: FPS: 345 FrameTime: 2.899 ms
[shading] shading=phong: FPS: 315 FrameTime: 3.175 ms
[shading] shading=cel: FPS: 319 FrameTime: 3.135 ms
[bump] bump-render=high-poly: FPS: 128 FrameTime: 7.812 ms
[bump] bump-render=normals: FPS: 888 FrameTime: 1.126 ms
[bump] bump-render=height: FPS: 758 FrameTime: 1.319 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 624 FrameTime: 1.603 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 293 FrameTime: 3.413 ms
[pulsar] light=false:quads=5:texture=false: FPS: 814 FrameTime: 1.229 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 144 FrameTime: 6.944 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] effect=shadow:windows=4: FPS: 482 FrameTime: 2.075 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 122 FrameTime: 8.197 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 125 FrameTime: 8.000 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 126 FrameTime: 7.937 ms
[ideas] speed=duration: FPS: 158 FrameTime: 6.329 ms
[jellyfish] <default>: FPS: 419 FrameTime: 2.387 ms
[terrain] <default>: FPS: 19 FrameTime: 52.632 ms
[shadow] <default>: FPS: 173 FrameTime: 5.780 ms
[refract] <default>: FPS: 27 FrameTime: 37.037 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 912 FrameTime: 1.096 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 785 FrameTime: 1.274 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 845 FrameTime: 1.183 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 806 FrameTime: 1.241 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 773 FrameTime: 1.294 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 864 FrameTime: 1.157 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 880 FrameTime: 1.136 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 627 FrameTime: 1.595 ms
=======================================================
                                  glmark2 Score: 499 
=======================================================
1 Like

Gentoo on the VIM3 ?

Yes, why not? Of coure i don’t use emmc for compiling. :wink:

wow, I haven’t seen a Gentoo image for the VIM3 till now :smiley:

1 Like