Hi all,
Hi amoreno,
Sorry for this late answer.
Concerning the FPS, there's actually a lot of reasons that might trigger low FPS. I'd concentrate on RK3288 specific reasons, as the rest should be already documented here : https://community.arm.com/graphics/b/blog/posts/new-developer-guide-arm-mali-application-developer-best-practices
One of the main reason this might happen is that the DMABUF system is not used nor activated, which might lead to very low FPS. I actually went from barely 40 FPS to +60 FPS on Mali T760 for this reason alone.
You can also try the following :
cat available_frequencies
This should return something like :
100000000 200000000 300000000 400000000 500000000 600000000
echo 100000000 > min_freqecho 600000000 > max_freq
echo 20 > polling_interval
This should slightly improve the GPU performances.
Hi Myy,your help is always very valuable for me!
How could I check if the DMABUF is activated? And assuming it is not activated, is there a way for activated it? Or it requires rebuild the kernel again?
In the meantime I tried your suggestion changing the GPU min and max frequencies, and it provided around 40% more FPS (in the same previously condition). But I could not change the polling_interval because the Bash says me 'write error'... the interval is now set to 100 so if I could change it, maybe it help a bit more.This is an interesting optimization!
I've also assured myself that there is none 3D Compositor activated, and the board power supply I think is ok (5V 4A external power supply). But I'm not using the latest user space drivers because they don't work on my Ubuntu 14.04 (I think they were built with a GCC newer than mine).
Thank you very much!
Ariel.
I thought it was DMABUF, but the option is about DMA_FENCE actually. It is named CONFIG_MALI_DMA_FENCE in the kernel configuration and can lead to very good performance improvements when enabled. You might have to recompile your kernel if such support is not enabled though.
More recent user-space binary drivers might fail to initialize if the currently used kernel driver version is not equal or superior. So for example, Midgard r12p0 user-space drivers can be used with Midgard r16p0 kernel drivers, but cannot be used with r11p0 kernel drivers.
Concerning the driver denying lower polling timings, I don't know what could cause this exactly. The value might be hardcoded in 4.4 kernels provided by Rockchip. : github.com/.../mali_kbase_rk.h .
Meanwhile, I'll try to add Mali support to Firefly's 4.12 DTS files.
Alright, here's a patch that should enable the Mali drivers (if integrated into the kernel) on 4.12-rcX kernels.
https://raw.githubusercontent.com/Miouyouyou/MyyQi/master/patches/kernel/v4.12/0300-Adding-Mali-Midgard-and-VCodec-support-to-Firefly-RK.patch
I also provided the appropriate precompiled DTB files in https://github.com/Miouyouyou/MyyQi/tree/master/boot , along with kernel images and the related modules in https://github.com/Miouyouyou/MyyQi/tree/master/lib .
That said, 4.12-rcX do not have support for some unrelated drivers like the video compression/decompression.