This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

3D/2D Graphics Stack On Linux OS in Embedded industry ?

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