noblock Posted June 10, 2017 Posted June 10, 2017 I just checked the mali blob: mali450r5p001rel0linux1fbdevarm64v8a (fbdev) and this blob is working on the legacy kernel with the proper patches. Nevertheless we may have some stability issues at the current voltage/frequence; Indeed gl-mark2-es-fb crashes around the refract test on my board.
datux Posted June 21, 2017 Posted June 21, 2017 Quote legacy kernel with the proper patches I'm very interested in following/testing the development of mali for this device. Could you explain in a nutshell how to get your setup? Installing latest armbian with mainline kernel, download blob from https://developer.arm.com/products/software/mali-drivers/user-space ->...?
jernej Posted June 21, 2017 Posted June 21, 2017 34 minutes ago, datux said: Installing latest armbian with mainline kernel Currently that is not possible yet due to missing DRM driver, but it is in the works.
barrymossel Posted June 22, 2017 Posted June 22, 2017 (edited) Are people working on Mali450 drivers? I am really looking forward to using the PC2 for Retro Gaming and I understood that these drivers are needed for RetrOrangePi to work properly. Until then I will be using the OPi PC Edited June 22, 2017 by barrymossel Apparently people are!
noblock Posted June 22, 2017 Author Posted June 22, 2017 Here are the steps to get a legacy H5 kernel running with Mali r5p0: * Linux kernel from: https://github.com/OrangePiLibra/OrangePi_H5SDK * Here is my legacy kernel generation script: https://pastebin.com/w1b4exzW * Mali kernel module: DX910-SW-99002-r5p0-01rel0 from here: https://developer.arm.com/products/software/mali-drivers/utgard-kernel * Mali kernel patch: https://pastebin.com/VnJgZWZJ (name: DX910-SW-99002-r5p0-01rel0.patch) * Blob: mali450r5p001rel0linux1fbdevarm64v8a * Good benchmark/test utility: glmark2-es2-fb. The blob is a aarch64 one, so we must use a aarch64 linux environment to compile and run glmark2-es2-fb. #script template: #orangepi_h5sdk_dir link to repository: https://github.com/OrangePiLibra/OrangePi_H5SDK yourkernelorangepih5sdkfullpath="<>" f="DX910-SW-99002-r5p0-01rel0";rm -Rf mali_r5p0/;tar xf $f.tgz;(cd $f/;cat $f.patch|patch -p1);mv "$f/" mali_r5p0/; #mali450r5p001rel0linux1fbdevarm64v8a mkdir -p mali_r5p0/driver/src/devicedrv/mali/include/linux/aw/sun50i/; cp orangepi_h5sdk_dir/kernel/modules/gpu/mali450/kernel_mode/driver/src/devicedrv/mali/linux/mali_platform.c mali_r5p0/driver/src/devicedrv/mali/linux/mali_platform.c cp -dpR orangepi_h5sdk_dir/kernel/modules/gpu/mali450/kernel_mode/driver/src/devicedrv/mali/include/linux/aw/platform.h mali_r5p0/driver/src/devicedrv/mali/include/linux/aw/ cp -dpR orangepi_h5sdk_dir/kernel/modules/gpu/mali450/kernel_mode/driver/src/devicedrv/mali/include/linux/aw/config.h mali_r5p0/driver/src/devicedrv/mali/include/linux/aw/ cp -dpR orangepi_h5sdk_dir/kernel/modules/gpu/mali450/kernel_mode/driver/src/devicedrv/mali/include/linux/aw/sun50i/sun50iw2p1.h mali_r5p0/driver/src/devicedrv/mali/include/linux/aw/sun50i/ sed -r -i "s/^(int mali_fb_start = )0(;)$/\10x7f040000\2/; s/^(int mali_fb_size = )0(;)$/\17372800\2/" mali_r5p0/driver/src/devicedrv/mali/common/mali_kernel_core.c; #from: fbset -i #(cd mali_r5p0/driver/src/devicedrv/ump;(make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnueabihf- -j 8 KDIR=${yourkernelorangepih5sdkfullpath} V=1 BUILD=release)) (cd mali_r5p0/driver/src/devicedrv/mali;make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnueabihf- -j 8 KDIR=${yourkernelorangepih5sdkfullpath} V=1 USING_UMP=0 USING_DT=1 BUILD=release) 3
Samaha Posted August 3, 2017 Posted August 3, 2017 noblock: can you post an image so we can test? I am sure many will appreciate it.
Benedito Gustavo Posted August 7, 2017 Posted August 7, 2017 On 03/08/2017 at 3:52 PM, Samaha said: noblock: can you post an image so we can test? I am sure many will appreciate it. yes
noblock Posted May 23, 2018 Author Posted May 23, 2018 This setup is now working using the mainline kernel (megous 4.14 and the following patch: https://github.com/noblock/sunxi-mali/blob/master/kernel-patches/9902-megous-add-h5-mali.patch). Using the same r5p0 blob: Once you have the kernel, here is the mali kernel module (r5p0): https://github.com/noblock/sunxi-mali Here is the general information: https://bootlin.com/blog/mali-opengl-support-on-allwinner-platforms-with-mainline-linux/
noblock Posted May 23, 2018 Author Posted May 23, 2018 Here is the glmark2-es2-fb output (hang at the refract test): ======================================================= glmark2 2014.03 ======================================================= OpenGL Information GL_VENDOR: ARM GL_RENDERER: Mali-450 MP GL_VERSION: OpenGL ES 2.0 ======================================================= [build] use-vbo=false: FPS: 60 FrameTime: 16.667 ms [build] use-vbo=true: FPS: 60 FrameTime: 16.667 ms [texture] texture-filter=nearest: FPS: 60 FrameTime: 16.667 ms [texture] texture-filter=linear: FPS: 60 FrameTime: 16.667 ms [texture] texture-filter=mipmap: FPS: 60 FrameTime: 16.667 ms [shading] shading=gouraud: FPS: 60 FrameTime: 16.667 ms [shading] shading=blinn-phong-inf: FPS: 60 FrameTime: 16.667 ms [shading] shading=phong: FPS: 60 FrameTime: 16.667 ms [shading] shading=cel: FPS: 60 FrameTime: 16.667 ms [bump] bump-render=high-poly: FPS: 60 FrameTime: 16.667 ms [bump] bump-render=normals: FPS: 60 FrameTime: 16.667 ms [bump] bump-render=height: FPS: 60 FrameTime: 16.667 ms libpng warning: iCCP: known incorrect sRGB profile [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 60 FrameTime: 16.667 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: 60 FrameTime: 16.667 ms [pulsar] light=false:quads=5:texture=false: FPS: 60 FrameTime: 16.667 ms libpng warning: iCCP: known incorrect sRGB profile [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 60 FrameTime: 16.667 ms libpng warning: iCCP: known incorrect sRGB profile [desktop] effect=shadow:windows=4: FPS: 60 FrameTime: 16.667 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 52 FrameTime: 19.231 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 53 FrameTime: 18.868 ms [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 60 FrameTime: 16.667 ms [ideas] speed=duration: FPS: 60 FrameTime: 16.667 ms [jellyfish] <default>: FPS: 60 FrameTime: 16.667 ms Error: SceneTerrain requires Vertex Texture Fetch support, but GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS is 0 [terrain] <default>: Unsupported [shadow] <default>: FPS: 60 FrameTime: 16.667 ms [refract] <default>:
jeyjey Posted June 15, 2018 Posted June 15, 2018 Hi, it is not easy for me to understand this. Please let me know if I am thinking wrong: Blob is a piece of proprietary code released from a chip maker. In this case (witch I am interested on) Mali chip (450-400). It seems that Armbian and other TF images are released without Mali Drivers. So we have, yes, Single Board Computers, but we have not GPU drivers installed on them. Now, I am planning to install software that wants GPU driver installed. I have to search for a Blob. I have to install it on order to let SOC's GPU working. Right? Please could you tell me where I can find tutorial to do that? Thanks.
noblock Posted June 23, 2018 Author Posted June 23, 2018 You are right the blob: 'mali450r5p001rel0linux1fbdevarm64v8a' is the proprietary library executing the GLES operations on the mali 450. The linux GNU/GPL license is not compatible at all. Indeed, we don't have a tutorial; On the framebuffer environement you just have to add the GLES headers on your gcc include directory, and add the 'blob' as a library.
amine Posted December 19, 2018 Posted December 19, 2018 On 5/24/2018 at 4:38 AM, noblock said: This setup is now working using the mainline kernel (megous 4.14 and the following patch: https://github.com/noblock/sunxi-mali/blob/master/kernel-patches/9902-megous-add-h5-mali.patch). Using the same r5p0 blob: Once you have the kernel, here is the mali kernel module (r5p0): https://github.com/noblock/sunxi-mali Here is the general information: https://bootlin.com/blog/mali-opengl-support-on-allwinner-platforms-with-mainline-linux/ Hi, @noblock, I'am a new allwinner user, I'am testing mali opengl, when I compile your branch, an error occur, my steps as below: cd sunxi-mali ./wget_r5p0.sh ./build.sh -r r5p0 -b building... ...... No series file found Error applying patch
amine Posted February 12, 2019 Posted February 12, 2019 On 5/24/2018 at 5:04 AM, noblock said: Here is the glmark2-es2-fb output (hang at the refract test): ======================================================= glmark2 2014.03 ======================================================= OpenGL Information GL_VENDOR: ARM GL_RENDERER: Mali-450 MP GL_VERSION: OpenGL ES 2.0 ======================================================= [build] use-vbo=false: FPS: 60 FrameTime: 16.667 ms [build] use-vbo=true: FPS: 60 FrameTime: 16.667 ms [texture] texture-filter=nearest: FPS: 60 FrameTime: 16.667 ms [texture] texture-filter=linear: FPS: 60 FrameTime: 16.667 ms [texture] texture-filter=mipmap: FPS: 60 FrameTime: 16.667 ms [shading] shading=gouraud: FPS: 60 FrameTime: 16.667 ms [shading] shading=blinn-phong-inf: FPS: 60 FrameTime: 16.667 ms [shading] shading=phong: FPS: 60 FrameTime: 16.667 ms [shading] shading=cel: FPS: 60 FrameTime: 16.667 ms [bump] bump-render=high-poly: FPS: 60 FrameTime: 16.667 ms [bump] bump-render=normals: FPS: 60 FrameTime: 16.667 ms [bump] bump-render=height: FPS: 60 FrameTime: 16.667 ms libpng warning: iCCP: known incorrect sRGB profile [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 60 FrameTime: 16.667 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: 60 FrameTime: 16.667 ms [pulsar] light=false:quads=5:texture=false: FPS: 60 FrameTime: 16.667 ms libpng warning: iCCP: known incorrect sRGB profile [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 60 FrameTime: 16.667 ms libpng warning: iCCP: known incorrect sRGB profile [desktop] effect=shadow:windows=4: FPS: 60 FrameTime: 16.667 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 52 FrameTime: 19.231 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 53 FrameTime: 18.868 ms [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 60 FrameTime: 16.667 ms [ideas] speed=duration: FPS: 60 FrameTime: 16.667 ms [jellyfish] <default>: FPS: 60 FrameTime: 16.667 ms Error: SceneTerrain requires Vertex Texture Fetch support, but GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS is 0 [terrain] <default>: Unsupported [shadow] <default>: FPS: 60 FrameTime: 16.667 ms [refract] <default>: Hi @noblock, (hang at the refract test) is it mean the mali-blobs it's bad?
noblock Posted March 25, 2019 Author Posted March 25, 2019 Hi @amine; the answer here: https://gitlab.freedesktop.org/lima/mesa/issues/73
Recommended Posts