We often encounter some problems when studying Linux. For example, you may encounter a Data Flow Problem in the Linux graphics system. Here we will introduce the solution to the problem of data flow in the Linux graphics system, I will share it with you here.
Traditionally, the Linux graphics system is a C/S architecture of X11. The Common Graphics application is called XClient, and a program running on the background is called XServer. This method of rendering through XServer is called indirect rendering. The direction of graphic data is roughly XClient --> XServer --> Device.
Obviously, the performance of indirect rendering is relatively poor, especially for 3D data. When 3D acceleration is not used for graphics cards, it is implemented using OpenGL software, such as converting Mesa to 2D data, then it is displayed through XServer.
To improve the graphics system, Linux introduces Direct Rendering, also known as dri (Direct Rendering Infrastructure ). Generally, 3D data bypasses XServer, and XClient sends the data directly to the video card, while 2D data is processed by XServer in the traditional C/S mode.
This article explains the data flow of the Linux graphics system, which is helpful to you.