Read a day Wayland, if not make a note, it is estimated that the evening did not get home to forget (say more and more forgetful, do not know what is wrong).
1. Wayland: is a protocol called Wayland compositor communication between display server and its clients. A brother named Kristian Høgsberg to get out of the X. It differs from X in that it has the following points:
The Wayland synthesis Manager is integrated internally, as shown in the following illustration:
-The synthesis method is different: In X, the action is optional, and in Wayland, the action is mandatory. In X, the synthesizer is actively acquiring pixel data, which results in latency; in Wayland, the synthesizer receives the client's data directly.
-Different rendering methods: Although X server needs to display client-rendered Windows according to the specified, the X server itself can perform rendering actions, while Wayland does not provide any rendering-related interfaces, and the client renders the contents of the form, such as fonts or controls, and so on, The rendering of the window itself can be done in the client or synthesizer.
-Security: Wayland isolates the input and output events for each window, and x lacks these mechanisms.
-IPC Communications: X provides a basic IPC communication method, but Wayland is not, completely responsible for the desktop environment or the operating system.
-Network: X can run on the network, Wayland itself does not provide network transparent transmission, but the synthesizer can implement any Remote Desktop protocol.
2. OpenGL ES: is a cross-platform 2d/3d API for embedded systems.
3. EGL: An interface between OpenGL (ES) and the underlying platform window System. EGL handles the context management of graphics systems, the binding between surface and buffer, and the synchronization of rendering.
4. The relationship between these concepts of X,wayland,opengl and EGL is shown in the following diagram:
5. Drm:direct Rendering Manager, a kernel-level driver, provides the ability for applications to access the graphics hardware directly, as shown in the following illustration:
7. Kms:kernel Mode Setting provides a way to set the display resolution directly in the kernel. You can understand the following figure:
8. Evdev:linux system, the Universal event input interface. Responsible for normalizing the original event input from the device and reporting it through the character device file in the/dev/input directory.