Dear Community members,
I have been seeing for details of Graphics stack on Linux OS, I did not see a good document which explains the All Graphics stacks exist till the date.
And I did not see a nice document/presentation/discussion which explains from an OpenGLES-application till the Graphics HW what are different components exist, what kind of information they exchange.
Can we prepare a nice presentation which can capture good explanation of Linux Graphics?
No need to capture/discuss any of the propitiatory implementations we can show them opaque? Let us discuss the general/common/standard flows.
Let us discuss the OpenGLEs 2.0 based Application to show the graphics Hw frame-buffers using any of popular Windowing mechanisms like X11, FB, DRM.
As per my understanding The Application flow till the HW will look below. My presentation may be completely wrong , please Write a new explanation . My goal is for a beginner of Graphics on Linux should get some nice idea to get a Path and the compoenents he may have to look into.
Kindly please add your deep understanding of graphics stack on Linux OS , with OpenGLES2.0 based applications on modern Graphics Processors .
1. Using GLSL shading language, Application has to create/prepare Shaders ( vertex shader, fragment shaders, Geometry shaders etc.) , Create lighting sources, Create rendering surface, bind the surface with some physical display using EGL.
2. OpenGLES library will allocate the video memory required for sharders, and frame-buffer using underlying graphics memory manager Ex: GEM (DRM Graphics Execution Manager), UMP(ARM Unified Memory Provider) 2. Graphics Kernel mode driver, will be called to program the Graphics HW with the application inputs shaders, frame buffer memory region, surface, interrupt call backs, height/width/pitch etc, and start the graphics hardware.
3. Once Graphics HW completes processing the inputs It will write the rendering content in to "frame-buffer", and sends an Interrupt to the software stack. 4. Windowing system (like X11, FB, DRM ) will pick the "frame-buffer" , make the necessary blending based on Z-order and push it to the display panel.
Thanks,
Ravinder Are
Hi Ravinder,
I understand your request now.
As far as I know, no material exists already that covers what you are asking for.
I will suggest it to the team but cannot guarantee if and when it will be created.
Thank you for your understanding,
Kind Regards,
Michael McGeagh