El dibujo del monitor / pantalla se maneja en hardware mediante una tarjeta de video / GPU / procesador de video. Hay casos especiales en los que una CPU y una GPU están en un solo dado, fusionados (chips Intel serie i, por ejemplo) pero funcionalmente la GPU y la CPU son visibles de manera diferente para el núcleo.
El núcleo se comunica con la GPU por medio de un controlador. Por ejemplo, Radeon, Fglrx, Nouveau. Las diferentes tarjetas y los diferentes controladores admiten diferentes funciones (por ejemplo, OpenGL, KMS, etc.) en diferentes niveles. Las GPU también pueden tener una interfaz binaria de aplicación (ABI) para comunicaciones / comandos que un programa (Xorg) puede necesitar enviar.
Xorg puede dibujar en una estructura en memoria llamada framebuffer y subirlo al kernel, que a su vez puede pedirle a la GPU que lo dibuje en la pantalla de hardware real, o Xorg puede convertir lo que necesita para pintar / dibujar en una tarjeta específica comandos (del ABI) y solicite al kernel que pase estos comandos a la tarjeta.
- ¿Cuáles son las principales ciudades de EE. UU. A las que mudarse si uno quiere encontrar una entrada para un trabajo de desarrollo de software de nivel junior?
- ¿Cuáles son algunos de los hacks de código más ingeniosos pero simples que podrían facilitarnos la vida?
- ¿Cuál es la mejor plataforma para desarrollar software para el tráfico de difusión y el software de programación completo con métrica detallada?
- Soy el único desarrollador en una startup donde los fundadores no son expertos en tecnología. Estoy tratando de convencerlos de que necesitamos más desarrolladores y una línea de tiempo más larga. ¿Cómo puedo convencerlos?
- ¿Hay otros softwares como Apptentive?
El último método es cómo funciona la aceleración de hardware. Xorg usa una biblioteca llamada libdrm (DRM: Direct Rendering Manager) para pasar estos comandos al kernel.