Tido Posted November 5, 2017 Posted November 5, 2017 On 4.11.2017 at 12:24 PM, Myy said: ./waf configure --with-flavors=drm-glesv2 Checking for header jpeglib.h : not found The configuration failed (complete log in /home/tido/glmark/glmark2/build/config.log) Paket: libjpeg-turbo8-dev Checking for program 'pkg-config' : not found Checking for program 'pkg-config' : not found Checking for program 'pkg-config' : not found You need to install a supported version of libpng: (('libpng12', '1.2'), ('libpng15', '1.5'), ('libpng16', '1.6')) (complete log in /home/tido/glmark/glmark2/build/config.log) apt-get install libpng12-dev apt-get install libpng16-dev oh gosh, do I have to compile PNG reference library: libpng https://ubuntuforums.org/showthread.php?t=2138623 --> https://sourceforge.net/projects/libpng/?source=navbar
Myy Posted November 5, 2017 Posted November 5, 2017 I remember that I compiled it with only doing something like : apt install libjpeg-dev libpng-dev libdrm-dev libgbm-dev libudev-dev libegl1-mesa-dev libgles2-mesa-dev The error message is incorrect. The project only needs libpng 1.2 OR 1.5 OR 1.6. Not all at once. Anyway, no need to compile the required libraries. You should be able to grab them through apt and standard Debian/Ubuntu repositories. Just try to be as generic as possible when searching for the development headers.
Tido Posted November 6, 2017 Posted November 6, 2017 (edited) Spoiler root@tinkerboard:~# dpkg -l libjpeg-dev libpng-dev libdrm-dev libgbm-dev libudev-dev libegl1-mesa-dev libgles2-mesa-dev Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-===================-==============-==============-=========================================== un libjpeg-dev <none> <none> (no description available) dpkg-query: no packages found matching libpng-dev dpkg-query: no packages found matching libdrm-dev dpkg-query: no packages found matching libgbm-dev dpkg-query: no packages found matching libudev-dev dpkg-query: no packages found matching libegl1-mesa-dev dpkg-query: no packages found matching libgles2-mesa-dev Let's give it a try with your command: Spoiler Suggested packages: libxcb-doc libxext-doc Recommended packages: libx11-doc The following packages will be REMOVED: libpng16-dev libpng16-devtools The following NEW packages will be installed: libdrm-dev libdrm-exynos1 libdrm-omap1 libdrm-tegra0 libegl1-mesa-dev libgbm-dev libgles2-mesa-dev libjpeg-dev libjpeg8-dev libmirclient-dev libmircommon-dev libmircookie-dev libmircookie2 libmircore-dev libpng12-dev libprotobuf-dev libprotobuf9v5 libpthread-stubs0-dev libudev-dev libwayland-bin libwayland-dev libx11-dev libx11-xcb-dev libxau-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev libxcb-randr0 libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb1-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxkbcommon-dev libxshmfence-dev libxxf86vm-dev x11proto-core-dev x11proto-damage-dev x11proto-dri2-dev x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev x11proto-kb-dev x11proto-xext-dev x11proto-xf86vidmode-dev xorg-sgml-doctools xtrans-dev 0 upgraded, 53 newly installed, 2 to remove and 7 not upgraded. Need to get 3457 kB/3631 kB of archives. and finally: Spoiler root@tinkerboard:~# dpkg -l libjpeg-dev libpng-dev libdrm-dev libgbm-dev libudev-dev libegl1-mesa-dev libgles2-mesa-dev Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-===================-==============-==============-=========================================== ii libdrm-dev:armhf 2.4.76-1~ubunt armhf Userspace interface to kernel DRM services ii libegl1-mesa-dev:ar 17.0.7-0ubuntu armhf free implementation of the EGL API -- devel ii libgbm-dev:armhf 17.0.7-0ubuntu armhf generic buffer management API -- developmen ii libgles2-mesa-dev:a 17.0.7-0ubuntu armhf free implementation of the OpenGL|ES 2.x AP ii libjpeg-dev:armhf 8c-2ubuntu8 armhf Independent JPEG Group's JPEG runtime libra un libpng-dev <none> <none> (no description available) ii libudev-dev:armhf 229-4ubuntu21 armhf libudev development files Still doesn't configure: Spoiler root@tinkerboard:/home/tido/glmark/glmark2# ./waf configure --with-flavors=drm-glesv2 Setting top to : /home/tido/glmark/glmark2 Setting out to : /home/tido/glmark/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 unistd.h : yes Checking for header stdint.h : yes Checking for header stdio.h : yes Checking for header jpeglib.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' : not found Checking for program 'pkg-config' : not found Checking for program 'pkg-config' : not found You need to install a supported version of libpng: (('libpng12', '1.2'), ('libpng15', '1.5'), ('libpng16', '1.6')) (complete log in /home/tido/glmark/glmark2/build/config.log) Maybe it is only missing: Checking for program 'pkg-config' not found find program=['pkg-config'] paths=['/usr/local/sbin', '/usr/local/bin', '/usr/sbin', '/usr/bin', '/sbin', '/bin', '/usr/games', '/usr/local/games'] var='PKGCONFIG' -> None from /home/tido/glmark/glmark2: Could not find the program ['pkg-config'] root@tinkerboard:/home/tido/glmark/glmark2# apt install pkg-config Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: pkg-config 0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded. Need to get 42.2 kB of archives. et voila :-) Spoiler root@tinkerboard:/home/tido/glmark/glmark2# ./waf configure --with-flavors=drm-glesv2 Setting top to : /home/tido/glmark/glmark2 Setting out to : /home/tido/glmark/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 unistd.h : yes Checking for header stdint.h : yes Checking for header stdio.h : yes Checking for header jpeglib.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' : yes Checking for 'x11' : yes Checking for 'gl' : not found Checking for 'egl' : yes Checking for 'glesv2' : yes Checking for 'libdrm' : yes Checking for 'gbm' : yes Checking for 'libudev' : yes Checking for 'mirclient' : yes Checking for 'wayland-client' : yes Checking for 'wayland-egl' : yes Prefix : /usr/local Data path : /usr/local/share/glmark2 Including extras : No Building flavors : ['drm-glesv2'] 'configure' finished successfully (2.010s) It says for 'gl' = not found ? I started compiling... Waf: Leaving directory `/home/tido/glmark/glmark2/build' 'build' finished successfully (1m21.141s) Waf: Leaving directory `/home/tido/glmark/glmark2/build' 'install' finished successfully (0.829s) Edited November 6, 2017 by Tido compiling
Tido Posted November 6, 2017 Posted November 6, 2017 I have the tinker board only attached to HDMI, no keyboard and tried to start it via SSH. Is this a no-go ? Or is it just the missing driver ? root@tinkerboard:/home/tido/glmark/glmark2# glmark2-es2-drm gbm: failed to open any driver (search paths /usr/lib/arm-linux-gnueabihf/dri:${ORIGIN}/dri:/usr/lib/dri) gbm: Last dlopen error: /usr/lib/dri/rockchip_dri.so: cannot open shared object file: No such file or directory failed to load driver: rockchip ** Failed to set swap interval. Results may be bounded above by refresh rate. ======================================================= glmark2 2017.07 ======================================================= OpenGL Information GL_VENDOR: VMware, Inc. GL_RENDERER: Gallium 0.4 on llvmpipe (LLVM 4.0, 128 bits) GL_VERSION: OpenGL ES 3.0 Mesa 17.0.7 ======================================================= ** Failed to set swap interval. Results may be bounded above by refresh rate. [build] use-vbo=false:Error: Failed to set crtc: -13 Error: Failed to set crtc: -13 Error: Failed to set crtc: -13 Error: Failed to set crtc: -13 Segmentation fault Will I have to copy your files into those folders - to get the driver ? cp -r usr/* /usr/ cp -r lib/* /lib/
Myy Posted November 6, 2017 Posted November 6, 2017 No, you'll have to : Reinstall the Mali drivers somehow, or get them in a folder and use the LD_LIBRARY_PATH trick. If X11 is currently using the display, you'll have to type : sudo chvt 1 # Equivalent of CTRL+ALT+F1 on a keyboard To reattach the TTY 1, which will provide a non-locked CRTC, since the X11 CRTC, generally attached to TTY 7, is locked by the X11 process for various valid reasons. The binary looks good though.
Tido Posted November 6, 2017 Posted November 6, 2017 OMG, so it was a must that it runs outside X11. Sorry, I read about 'chvt 1' the first time. I know how to get there. With regard to performance: The SoC reached 75° , so it is possible that the CPU was throttling, beside that I have this driver messages (box below). I have never installed Mali drivers - this is a plain armbian nightly with updates: Linux tinkerboard 4.14.0-rc7-rockchip #95 SMP PREEMPT Sun Nov 5 01:47:06 CET 2017 armv7l GNU/Linux on which I have tried your kernel, but didn't really work. So your kernel is the only thing I ever copied over and switched back to armbian kernel. Spoiler root@tinkerboard:~# chvt 1 root@tinkerboard:~# glmark2-es2-drm gbm: failed to open any driver (search paths /usr/lib/arm-linux-gnueabihf/dri:${ORIGIN}/dri:/usr/lib/dri) gbm: Last dlopen error: /usr/lib/dri/rockchip_dri.so: cannot open shared object file: No such file or directory failed to load driver: rockchip ** Failed to set swap interval. Results may be bounded above by refresh rate. ======================================================= glmark2 2017.07 ======================================================= OpenGL Information GL_VENDOR: VMware, Inc. GL_RENDERER: Gallium 0.4 on llvmpipe (LLVM 4.0, 128 bits) GL_VERSION: OpenGL ES 3.0 Mesa 17.0.7 ======================================================= ** Failed to set swap interval. Results may be bounded above by refresh rate. [build] use-vbo=false: FPS: 26 FrameTime: 38.462 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [build] use-vbo=true: FPS: 27 FrameTime: 37.037 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [texture] texture-filter=nearest: FPS: 27 FrameTime: 37.037 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [texture] texture-filter=linear: FPS: 27 FrameTime: 37.037 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [texture] texture-filter=mipmap: FPS: 25 FrameTime: 40.000 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [shading] shading=gouraud: FPS: 27 FrameTime: 37.037 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [shading] shading=blinn-phong-inf: FPS: 23 FrameTime: 43.478 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [shading] shading=phong: FPS: 18 FrameTime: 55.556 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [shading] shading=cel: FPS: 18 FrameTime: 55.556 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [bump] bump-render=high-poly: FPS: 13 FrameTime: 76.923 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [bump] bump-render=normals: FPS: 29 FrameTime: 34.483 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [bump] bump-render=height: FPS: 27 FrameTime: 37.037 ms ** 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: 14 FrameTime: 71.429 ms ** 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: 9 FrameTime: 111.111 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [pulsar] light=false:quads=5:texture=false: FPS: 17 FrameTime: 58.824 ms ** 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: 1 FrameTime: 1000.000 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [desktop] effect=shadow:windows=4: FPS: 3 FrameTime: 333.333 ms ** 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: 13 FrameTime: 76.923 ms ** 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: 13 FrameTime: 76.923 ms ** 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: 13 FrameTime: 76.923 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [ideas] speed=duration: FPS: 13 FrameTime: 76.923 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [jellyfish] <default>: FPS: 3 FrameTime: 333.333 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [terrain] <default>: FPS: 0 FrameTime: inf ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [shadow] <default>: FPS: 13 FrameTime: 76.923 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [refract] <default>: FPS: 2 FrameTime: 500.000 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [conditionals] fragment-steps=0:vertex-steps=0: FPS: 24 FrameTime: 41.667 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [conditionals] fragment-steps=5:vertex-steps=0: FPS: 18 FrameTime: 55.556 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [conditionals] fragment-steps=0:vertex-steps=5: FPS: 23 FrameTime: 43.478 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [function] fragment-complexity=low:fragment-steps=5: FPS: 19 FrameTime: 52.632 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [function] fragment-complexity=medium:fragment-steps=5: FPS: 15 FrameTime: 66.667 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 20 FrameTime: 50.000 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 19 FrameTime: 52.632 ms ** Failed to set swap interval. Results may be bounded above by refresh rate. [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 17 FrameTime: 58.824 ms ======================================================= glmark2 Score: 16 =======================================================
Myy Posted November 6, 2017 Posted November 6, 2017 If you read this when running glmark2 : GL_RENDERER: Gallium 0.4 on llvmpipe (LLVM 4.0, 128 bits) Then you're not using the Mali user-space binary drivers. You're using CPU-bound renderer provided by Mesa. Now, the user-space binary drivers are a pain in the ass tricky to install, since they require a special snowflake X server from Rockchip. What I'd suggest is to : Create a folder Download libmali-midgard-t76x-r14p0-r0p0-wayland.so from rockchip-linux/libmali repository Copy the file in the folder you created, then open a shell in this folder and type mv libmali-midgard-* libmali.so for file_to_link in libGLESv1_CM.so{,.1} libGLESv2.so{,.2} libEGL.so{,.1} libgbm.so{,.1,.1.0.0} libOpenCL.so{,.1,.1.0.0}; do ln -s libmali.so $file_to_link; done LD_LIBRARY_PATH=. glmark2-es2-drm Be sure that your user have read-write access to /dev/mali0. Else the test might also fail. This should recreate all the necessary library file names that are searched by the OpenGL ES 2.x binary and use the instructions stored in libmali.so. Aren't you glad that these drivers are so easy to install... Yeah I should create a wrapper script for that thing... seriously.
Tido Posted November 6, 2017 Posted November 6, 2017 (edited) With your help, this sounds easy, a script(wrapper) might not work in every case. I always login as root, so this shouldn't be a problem. root@tinkerboard:/home/tido/myy-s/mali# for file_to_link in libGLESv1_CM.so{,.1} libGLESv2.so{,.2} libEGL.so{,.1} libgbm.so{,.1,.1.0.0} libOpenCL.so{,.1,.1.0.0}; do ln -s libmali.so $file_to_link; done ln: failed to create symbolic link 'libGLESv1_CM.so': File exists ln: failed to create symbolic link 'libGLESv1_CM.so.1': File exists ln: failed to create symbolic link 'libGLESv2.so': File exists ln: failed to create symbolic link 'libGLESv2.so.2': File exists ln: failed to create symbolic link 'libEGL.so': File exists ln: failed to create symbolic link 'libEGL.so.1': File exists ln: failed to create symbolic link 'libgbm.so': File exists ln: failed to create symbolic link 'libgbm.so.1': File exists ln: failed to create symbolic link 'libgbm.so.1.0.0': File exists ln: failed to create symbolic link 'libOpenCL.so': File exists ln: failed to create symbolic link 'libOpenCL.so.1': File exists ln: failed to create symbolic link 'libOpenCL.so.1.0.0': File exists root@tinkerboard:/home/tido/myy-s/mali# LD_LIBRARY_PATH=. glmark2-es2-drm glmark2-es2-drm: error while loading shared libraries: ./libgbm.so.1: invalid ELF header and now let me try to start that beast again root@tinkerboard:~# chvt 1 root@tinkerboard:~# glmark2-es2-drm Even a reboot and re-running of above commands didn't fix it root@tinkerboard:/home/tido/glmark/glmark2# glmark2-es2-drm gbm: failed to open any driver (search paths /usr/lib/arm-linux-gnueabihf/dri:${ORIGIN}/dri:/usr/lib/dri) gbm: Last dlopen error: /usr/lib/dri/rockchip_dri.so: cannot open shared object file: No such file or directory failed to load driver: rockchip ** Failed to set swap interval. Results may be bounded above by refresh rate. ======================================================= glmark2 2017.07 ======================================================= OpenGL Information GL_VENDOR: VMware, Inc. GL_RENDERER: Gallium 0.4 on llvmpipe (LLVM 4.0, 128 bits) GL_VERSION: OpenGL ES 3.0 Mesa 17.0.7 ======================================================= ** Failed to set swap interval. Results may be bounded above by refresh rate. [build] use-vbo=false:^C FPS: 25 FrameTime: 40.000 ms ======================================================= glmark2 Score: 25 ======================================================= Edited November 6, 2017 by Tido update
Myy Posted November 7, 2017 Posted November 7, 2017 if you type file /home/tido/myy-s/mali/libmali.so what does it return ?
Tido Posted November 7, 2017 Posted November 7, 2017 (edited) hmm, sounds wrong. Did I download a html instead of the file file libmali.so libmali.so: HTML document, UTF-8 Unicode text, with very long lines hmm, I got now a 16MB file instead of the 45Kb from yesterday. By the way, the "file" command is great. Thank you for showing this to me - I was looking for something like that last time I wanted to proof that I copied over the kernel. I will try again and report Edited November 7, 2017 by Tido the right one
Tido Posted November 7, 2017 Posted November 7, 2017 This is now different: root@tinkerboard:/home/tido/myy-s/mali# LD_LIBRARY_PATH=. glmark2-es2-drm Error: eglGetDisplay() failed with error: 0x3000 Error: eglGetDisplay() failed with error: 0x3000 Error: main: Could not initialize canvas Error: Failed to restore original CRTC: -13 I try after chvt 1, et voila: root@tinkerboard:/home/tido/myy-s/mali# LD_LIBRARY_PATH=. glmark2-es2-drm ======================================================= glmark2 2017.07 ======================================================= OpenGL Information GL_VENDOR: ARM GL_RENDERER: Mali-T760 GL_VERSION: OpenGL ES 3.2 v1.r14p0-01rel0-git(966ed26).810f535757d8c9adaaa72f5da29c688e ======================================================= [build] use-vbo=false: FPS: 55 FrameTime: 18.182 ms [build] use-vbo=true: FPS: 55 FrameTime: 18.182 ms [texture] texture-filter=nearest: FPS: 55 FrameTime: 18.182 ms [texture] texture-filter=linear: FPS: 55 FrameTime: 18.182 ms [texture] texture-filter=mipmap: FPS: 55 FrameTime: 18.182 ms [shading] shading=gouraud: FPS: 55 FrameTime: 18.182 ms [shading] shading=blinn-phong-inf: FPS: 55 FrameTime: 18.182 ms [shading] shading=phong: FPS: 55 FrameTime: 18.182 ms [shading] shading=cel: FPS: 55 FrameTime: 18.182 ms [bump] bump-render=high-poly: FPS: 55 FrameTime: 18.182 ms [bump] bump-render=normals: FPS: 55 FrameTime: 18.182 ms [bump] bump-render=height: FPS: 55 FrameTime: 18.182 ms [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 55 FrameTime: 18.182 ms [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 50 FrameTime: 20.000 ms [pulsar] light=false:quads=5:texture=false: FPS: 55 FrameTime: 18.182 ms [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 27 FrameTime: 37.037 ms [desktop] effect=shadow:windows=4: FPS: 55 FrameTime: 18.182 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 55 FrameTime: 18.182 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 55 FrameTime: 18.182 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: 55 FrameTime: 18.182 ms [jellyfish] <default>: FPS: 55 FrameTime: 18.182 ms [terrain] <default>: FPS: 13 FrameTime: 76.923 ms [shadow] <default>: FPS: 55 FrameTime: 18.182 ms [refract] <default>: FPS: 27 FrameTime: 37.037 ms [conditionals] fragment-steps=0:vertex-steps=0: FPS: 55 FrameTime: 18.182 ms [conditionals] fragment-steps=5:vertex-steps=0: FPS: 55 FrameTime: 18.182 ms [conditionals] fragment-steps=0:vertex-steps=5: FPS: 55 FrameTime: 18.182 ms [function] fragment-complexity=low:fragment-steps=5: FPS: 55 FrameTime: 18.182 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: 55 FrameTime: 18.182 ms [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 55 FrameTime: 18.182 ms [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 55 FrameTime: 18.182 ms ======================================================= glmark2 Score: 51 ======================================================= Wow, in htop CPU is close to Zero ! Temperature: around 50° C steady. It does need more RAM than before, but not more than 352 2
Andrew Shahoff Posted November 7, 2017 Posted November 7, 2017 @TonyMac32 - Looks like all this needs to be added to the next version of Armbian. Together with H264 codecs ( as by default no VPU video acceleration) . Or scripted.
Tido Posted November 8, 2017 Posted November 8, 2017 I don't like to read such. Andy, have u seen that Tony liked it? Do u know that u can be grateful, if he does add it and if not, u r free to fix that as well.
Myy Posted November 8, 2017 Posted November 8, 2017 @Tido Glad you make it through. As always, ugly terrain and crystal bunny are the most GPU intensive operations. I guess that you're screen works at 55Hz ? Anyway, scripting the Mali user-space binary drivers sound nice and all until you realize that, besides wayland (weston only I'd say), DRM (used by almost nobody currently) and fbdev (used only by mediacenter-like distros), they won't be very useful. The X11 ones require a specific X Server, or you'll get a terrific crash when X starts... Anyway, something like : mkdir -p ~/.local/lib cd ~/.local/lib wget https://github.com/rockchip-linux/libmali/raw/rockchip/lib/arm-linux-gnueabihf/libmali-midgard-t76x-r14p0-r1p0-wayland.so -O libmali.so for file_to_link in libGLESv1_CM.so{,.1} libGLESv2.so{,.2} libEGL.so{,.1} libgbm.so{,.1,.1.0.0} libOpenCL.so{,.1,.1.0.0}; do ln -s libmali.so $file_to_link; done echo "alias mali_exec LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:`echo ~/.local/lib`" >> ~/.bashrc Might do the trick for now. This is actually untested though. This should add a "mali_exec" command that can be used like this : mali_exec glmark2-es2-drm Providing a Nvidia Optimus bumblebee-like execution mechanism.
Tido Posted November 8, 2017 Posted November 8, 2017 Thank you and Thank YOU very much for your support. It was a pleasure seeing it drawing the patterns and do this easy @ 53°C and about 7% CPU load. 1 hour ago, Myy said: I guess that you're screen works at 55Hz ? I checked, 56Hz it says when the tinker board is connected on Windows I ran that Display at 60Hz. Does this explain the FPS maxium, I saw you reached 59 ? 1 hour ago, Myy said: besides wayland, DRM and fbdev, it won't be very useful. I guess this reflects your comment about the link I provided you here: https://forum.armbian.com/topic/5416-gpu-driver/?do=findComment&comment=42374 Which means that this test is great for KODI or other applications like a Music-Player that runs with fbdev, but for nothing else. Could it be used in conjunction with a touch-screen ?
TonyMac32 Posted November 8, 2017 Posted November 8, 2017 1 hour ago, Tido said: Could it be used in conjunction with a touch-screen ? Assuming I can get it (the screen) to work on Mainline, I don't see why not.
Myy Posted November 9, 2017 Posted November 9, 2017 10 hours ago, Tido said: I checked, 56Hz it says when the tinker board is connected on Windows I ran that Display at 60Hz. Does this explain the FPS maxium, I saw you reached 59 ? Indeed, the DRM tests are VSync'ed by default. So you'll get ~1 FPS/Hz . I got 59 on a cold boot but when using a proper power supply, it stays at 60 for most of the tests, beside crystal bunny and that ugly terrain. Note that the special X server can be installed more easily if you have you use Zesty or Arftul repositories. However, I really doubt that any Armbian people could help you if that patched X Server becomes broken. If I have the time, I'll try, once again, to use plasma-desktop + KWin Wayland/DRM with the Mali drivers and see how it goes... It will probably fail miserably though, with no useful error messages.
Tido Posted November 9, 2017 Posted November 9, 2017 Armbian currently uses XFCE (which has the biggest lag with regard to GTK+3), which is very light. Plasma-DE is not as heavy as always repeated from some people and tinker board comes with 2GB Ram. I am not sure if what I heard was related to NEON (KDE) but KDE has taken big steps in direction Wayland. However, I guess with the outlook to Ubuntu 18.04, more optimization are coming automatically.
TonyMac32 Posted November 9, 2017 Posted November 9, 2017 Not to be a demanding troll, but would it be possible to go through this thread, create a tutorial, and stick it in the tutorial section? The parts that can be implemented can be over time, in the meantime a spoon-fed version would help those that have need of it.
Tido Posted November 9, 2017 Posted November 9, 2017 All I did was getting GLMARK installed to see if it works properly. Using the libmali-midgard-t76x-r14p0-r1p0-wayland.so is a walk in the park. The tutorial has already been written by Myy. Download the Nightly, in my case it was: Armbian_5.34._Tinkerboard_Ubuntu_xenial_dev_4.14.0-rc6_desktop.img - https://dl.armbian.com/tinkerboard/nightly/ and apply above tutorial... in which are the drawbacks already outlined.
boobypi Posted November 11, 2017 Posted November 11, 2017 Hello Just to understand a little bit can we use the binary libmali with lastest kernel with patch (Myy) or it 's necessary to start from 4.4 kernel and port mainline patches to 4.4 kernel? I buy an rk3328 device only because it's seem there is an kernel - not prehistoric - with gpu available but after some read i find documentation poor and community less active (in number) than sunxi linux team. I hope to be able to compile QT5 webkit with gpu mesa dependancy but maybe it's very early to dream about it A link to Myy tutorial (RK3288) if already exist need to be under light ^^ Tks for what is sharing here
Tido Posted November 11, 2017 Posted November 11, 2017 To my understanding, did you go/read through that thread, I am asking, because just above your post it says: 4.14.0-rc6 . So have you taken the time to read or not ?
boobypi Posted November 11, 2017 Posted November 11, 2017 3 hours ago, Tido said: To my understanding, did you go/read through that thread, I am asking, because just above your post it says: 4.14.0-rc6 . So have you taken the time to read or not ? The tutorial has already been written by Myy. Well u are right, i misreading first page, sorrye Plz share a link to the tutorial, i don't find it
Tido Posted November 12, 2017 Posted November 12, 2017 19 hours ago, boobypi said: Plz share a link to the tutorial Well, if you do all steps in this posting.. you should get this running: ======================================================= OpenGL Information GL_VENDOR: ARM GL_RENDERER: Mali-T760 GL_VERSION: OpenGL ES 3.2 v1.r14p0-01rel0-git(966ed26).810f535757d8c9adaaa72f5da29c688e ======================================================= If this helps you - I simply don't know.
boobypi Posted November 12, 2017 Posted November 12, 2017 Do you know your link with comment reference isn't working in firefox? I have to check the share button to see proposed url and find the tutorial Maybe it's more simple to make an pdf or a quote like this : On 11/8/2017 at 9:54 AM, Myy said: @Tido Glad you make it through. As always, ugly terrain and crystal bunny are the most GPU intensive operations. I guess that you're screen works at 55Hz ? Anyway, scripting the Mali user-space binary drivers sound nice and all until you realize that, besides wayland (weston only I'd say), DRM (used by almost nobody currently) and fbdev (used only by mediacenter-like distros), they won't be very useful. The X11 ones require a specific X Server, or you'll get a terrific crash when X starts... Anyway, something like : mkdir -p ~/.local/lib cd ~/.local/lib wget https://github.com/rockchip-linux/libmali/raw/rockchip/lib/arm-linux-gnueabihf/libmali-midgard-t76x-r14p0-r1p0-wayland.so -O libmali.so for file_to_link in libGLESv1_CM.so{,.1} libGLESv2.so{,.2} libEGL.so{,.1} libgbm.so{,.1,.1.0.0} libOpenCL.so{,.1,.1.0.0}; do ln -s libmali.so $file_to_link; done echo "alias mali_exec LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:`echo ~/.local/lib`" >> ~/.bashrc Might do the trick for now. This is actually untested though. This should add a "mali_exec" command that can be used like this : mali_exec glmark2-es2-drm Providing a Nvidia Optimus bumblebee-like execution mechanism.
Tido Posted November 12, 2017 Posted November 12, 2017 39 minutes ago, boobypi said: Do you know your link with comment reference isn't working in firefox? I know, but it does. The trick is: click on my Link.. wait, click in the addressbar - hit ENTER. Bang !
Tido Posted November 13, 2017 Posted November 13, 2017 @Myy, I am just reading about the new features of 4.14 release and come across this: Direct Rendering Manager (DRM) When you wrote about it, I always thought, why does he care about Digital Rights Management
Myy Posted November 13, 2017 Posted November 13, 2017 3 hours ago, Tido said: @Myy, I am just reading about the new features of 4.14 release and come across this: Direct Rendering Manager (DRM) When you wrote about it, I always thought, why does he care about Digital Rights Management Yeah, I only care about the the Direct Rendering Manager system (・ω・`;) Now, I understand everyone requests for a better documentation on how to install and use the Mali user-space binary drivers. This has been asked on my repository too, and I just started and untested draft in the Wiki of my repository, until I find a better way to format and distribute such documentation. Still, I repeat, this is untested for now.
Myy Posted December 25, 2017 Posted December 25, 2017 So, since I received my microSD correctly, I've been able to test the Tinkerboard with my kernels, using an Armbian image as a basis (along with some microSD cards), and I hit one of the bugs that were reported on my Github page. This bug triggers an endless stream or error messages which talk about the DRM driver trying to bind something through the MIPI output and failing. Which is perfectly normal since I didn't plug anything in MIPI (nor HDMI when the bug was triggered). Still, blocked the boot phase. With the original boot.scr, it seemed to trigger a quick reboot continuously, but I don't know if it's because of that bug since I got no output on the serial console when that happened with that configuration (just U-boot output, booting, and U-boot output again, ...). Switching to extlinux/extlinux.conf configuration displayed the error messages, with no reboot. Anyway, the only solution I found to sidestep the issue at the moment is to avoid adding a mipi_dsi node to the Tinkerboard DTS which... removes the MIPI DSI capabilities of the board, yeah... So, basically, I don't apply the patch that adds the mipi_dsi node to the rk3288-tinker.dts for the moment. However, if I get a touchscreen, I'll still try to see if I can enable such functionnality without triggering the same issue.
TonyMac32 Posted December 25, 2017 Posted December 25, 2017 Mainline does not support that touchscreen yet, the changes to the drm system from 4.4 to 4.14, and the "special code" used in the 4.4 made me pause before patching any changes in. There are tons of mipi/DSI patches in the pipework, so I'll have to revisit it. For now pulling that node is perfectly acceptable. 1
Recommended Posts