I am running kernel 5.9.0-1-MANJARO-ARM on my X96Max+ TV box (CPU: Amlogic S905X3, GPU: Mali G31). With todays build of the Mesa package Panfrost driver runs out of the box even on XFCE.
You can then install ‘mesa-arm-git’ (which brings you the newest Mesa package) and some additional games if you like.
ATTENTION: Better do not install ‘linux-amlogic-panfrost-59’ (which installs a patched 5.9.3 kernel). My system did not boot anymore after I did.
Supertuxkart runs well for some level (e.g. “Nessie’s Pond”) but still crashes on more demanding level (e.g. “Ravenbridge Mansion”). Openarena loads the menu but crashes a short while after starting a game. Cendric worked perfectly.
I did not test kodi, yet.
I am not sure if the crashes are due to errors in Mesa or the 5.9.0 kernel. It would be great if we could have the patches 5.9.3 kernel also for Manjaro. Maybe Strit or spikerguy can help?
Thanks to all the great people for their endless efforts to bring all the improvements to ARM based devices!!!
[themojoman@manjaro-arm64 ~]$ glxinfo -B
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Panfrost (0xffffffff)
Device: Mali G31 (Panfrost) (0xffffffff)
Version: 20.3.0
Accelerated: yes
Video memory: 3597MB
Unified memory: yes
Preferred profile: compat (0x2)
Max core profile version: 0.0
Max compat profile version: 2.1
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 2.0
OpenGL vendor string: Panfrost
OpenGL renderer string: Mali G31 (Panfrost)
OpenGL version string: 2.1 Mesa 20.3.0-devel (git-61d2badbf4)
OpenGL shading language version string: 1.20
OpenGL ES profile version string: OpenGL ES 2.0 Mesa 20.3.0-devel (git-61d2badbf4)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16
Here are the results for glmark2-es2 on XFCE. I think to remember that the results with LLVM were better. Have to check once more … [Edit: llvm glmark2 Score: 50]
[themojoman@manjaro-arm64 ~]$ glmark2-es2
=======================================================
glmark2 2020.04
=======================================================
OpenGL Information
GL_VENDOR: Panfrost
GL_RENDERER: Mali G31 (Panfrost)
GL_VERSION: OpenGL ES 2.0 Mesa 20.3.0-devel (git-61d2badbf4)
=======================================================
[build] use-vbo=false: FPS: 96 FrameTime: 10.417 ms
[build] use-vbo=true: FPS: 103 FrameTime: 9.709 ms
[texture] texture-filter=nearest: FPS: 141 FrameTime: 7.092 ms
[texture] texture-filter=linear: FPS: 140 FrameTime: 7.143 ms
[texture] texture-filter=mipmap: FPS: 141 FrameTime: 7.092 ms
[shading] shading=gouraud: FPS: 84 FrameTime: 11.905 ms
[shading] shading=blinn-phong-inf: FPS: 85 FrameTime: 11.765 ms
[shading] shading=phong: FPS: 81 FrameTime: 12.346 ms
[shading] shading=cel: FPS: 80 FrameTime: 12.500 ms
[bump] bump-render=high-poly: FPS: 44 FrameTime: 22.727 ms
[bump] bump-render=normals: FPS: 122 FrameTime: 8.197 ms
[bump] bump-render=height: FPS: 120 FrameTime: 8.333 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 90 FrameTime: 11.111 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 60 FrameTime: 16.667 ms
[pulsar] light=false:quads=5:texture=false: FPS: 138 FrameTime: 7.246 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 35 FrameTime: 28.571 ms
[desktop] effect=shadow:windows=4: FPS: 114 FrameTime: 8.772 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 40 FrameTime: 25.000 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 40 FrameTime: 25.000 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 51 FrameTime: 19.608 ms
[ideas] speed=duration: FPS: 79 FrameTime: 12.658 ms
[jellyfish] <default>: FPS: 80 FrameTime: 12.500 ms
[terrain] <default>: FPS: 7 FrameTime: 142.857 ms
[shadow] <default>: FPS: 64 FrameTime: 15.625 ms
[refract] <default>: FPS: 14 FrameTime: 71.429 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 115 FrameTime: 8.696 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 93 FrameTime: 10.753 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 112 FrameTime: 8.929 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 105 FrameTime: 9.524 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 92 FrameTime: 10.870 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 102 FrameTime: 9.804 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 103 FrameTime: 9.709 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 84 FrameTime: 11.905 ms
=======================================================
glmark2 Score: 86
=======================================================
Firefox is still very unstable on XFCE when using Panfrost. Crashed three times while I tried to post the above results. Seems to be more stable when using sway.
Yes, it does work. But it is still very unstable. Not for daily usage.
Maybe we can have a test build of the patched 5.9.3 kernel also for Manjaro ARM? I tried to run the test build that jgmdev provides at the Odroid forum (see link in post #1) but it did not boot on my machine. Their boot partition looks quite different to BOOT_MNJRO.
There was some Panfrost patches added to 5.9.2, which enabled some Bifrost support.
And the memory leak was fixed in 5.9.5/5.9.6, which we correctly have in unstable branch.
If the DTB you are using is present in linux I don’t see why not. That’s what we have in our Odroid C4 profile (which is also an S905X3 board).
Results from my Panfrost test:
I’m using KDE Plasma 5.20.2 with SDDM as my display-manager.
Enabling Panfrost results in fonts being misrendered in SDDM.
When logging into X11, Kwin crashes immediately.
When logging into Wayland session, it’s just a black screen, with hot corners and a mouse cursor. So I assume plasmashell crashes in this case.
But, by disabling 3d acceleration in Plasma (with QT_QUICK_RENDERER=software in /etc/environment) I get my working desktop back. Sure it’s not hardware accelereted, but apps seem to be, as in my Element client was suddenly smooth.
[strit@loke ~]$ glxinfo -B
name of display: :0
display: :0 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Panfrost (0xffffffff)
Device: Mali G52 (Panfrost) (0xffffffff)
Version: 20.3.0
Accelerated: yes
Video memory: 3627MB
Unified memory: yes
Preferred profile: compat (0x2)
Max core profile version: 0.0
Max compat profile version: 2.1
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 2.0
OpenGL vendor string: Panfrost
OpenGL renderer string: Mali G52 (Panfrost)
OpenGL version string: 2.1 Mesa 20.3.0-devel (git-10d44fec2d)
OpenGL shading language version string: 1.20
OpenGL ES profile version string: OpenGL ES 2.0 Mesa 20.3.0-devel (git-10d44fec2d)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16
Uploaded this mesa-git package to unstable branch.
I use ‘meson-sm1-sei610-2.dtb’ which is based on ‘meson-sm1-sei610.dtb’ and is patched for ethernet and audio to work on X96Max+. You can find it here.