Open octopus-russell opened 2 months ago
Rendering is done with a system module (for example, 2 generic system modules are provided in the DirectFB2 source tree, one based on the legacy framebuffer interface, the other based on the modern DRM/KMS interface).
If a chipset for hardware accelerated graphics operations is available on a platform, a system module can be combined with a GFX driver module to perform graphics operations in hardware.
This is typically the case on boards with a 3D GPU (which nowadays can generally be used with an EGL implementation supporting GBM): the DirectFB2-eglgbm system module combined with the DirectFB2-gles2 GFX driver provides excellent performance with the df_andi and df_dok examples.
What 3D GPU do you have on your board? With which OpenGL ES implementation? Mesa?
Note: be careful not to confuse hardware acceleration with the DirectFB2-gles2 GFX driver described above and rendering OpenGL scenes in a DirectFB surface.
Thanks for the clarification and information. The board in question uses the Rockchip RK3568 soc - which has a OpenGL ES 3.2 compliant GPU supported by mesa drivers I believe.
If a chipset for hardware accelerated graphics operations is available on a platform, a system module can be combined with a GFX driver module to perform graphics operations in hardware.
I have a qcom mobile device and for some reason I can't get a useable panel driver to run mainline linux. So I can only have some graphics supports through simple framebuffer. In this case, can I get some GPU hardware acceleration if I try directfb2?
Before trying to run DirectFB2 with GPU support, you need to make sure that you can render graphics correctly on the GPU via EGL and OpenGL ES.
For example, you can try yagears: yagears2 -b egl-drm -e glesv2
Note that I plan to add GPU hardware acceleration with Vulkan and Direct-to-Display (D2D WSI): DirectFB2-vulkan (empty for now)
Hi, I'm trying to determine if DirectFB2-gles2 can be used as a pure GPU accelerated OpenGL ES 2.0 backend for DirectFB2's functionality. From what I've read in other comments, there is a software Open GL ES implementation but I'm not sure why that would be - surely it should just use the MESA GLES driver?