Onde começo a entender o gerenciamento do controlador de exibição?

2

Eu gostaria de entender como o Linux detecta quais dispositivos de exibição estão disponíveis (saída de vídeo) e como ele decide o que exibir em cada um deles.

Por exemplo: se eu tiver um dispositivo incorporado com uma linha serial e uma porta HDMI, como faço para que o console apareça no monitor HDMI em vez do console serial?

Além disso, se eu quiser usar um aplicativo OpenGL simples vinculado a drivers de vídeo, que interface o OpenGL usaria para desenhar na porta HDMI?

Os ponteiros para a documentação adequada seriam impressionantes.

    
por ivarec 23.12.2014 / 02:35

1 resposta

1

Na maioria dos sistemas, a manipulação de qual dispositivo de tela será enviado depende da GPU ou de algum outro controlador de exibição de vídeo. Toda a interface com o (s) dispositivo (s) de vídeo no sistema é gerenciada pelo Direct Rending Manager (DMS) e pelos subsistemas de kernel Kernel Mode Setting (KMS).

Na página da Wikipédia sobre o tema:

In computing, the Direct Rendering Manager (DRM), a subsystem of the Linux kernel, interfaces with the GPUs of modern video cards. DRM exposes an API that user-space programs can use to send commands and data to the GPU, and to perform operations such as configuring the mode setting of the display. DRM was first developed as the kernel space component of the X Server's Direct Rendering Infrastructure, but since then it has been used by other graphic stack alternatives such as Wayland.

User-space programs can use the DRM API to command the GPU to do hardware-accelerated 3D rendering and video decoding as well as GPGPU computing.

Os documentos oficiais do Linux podem ser encontrados no repositório de origem em Documentation/gpu . Aqui é o link do github, para sua conveniência.

Além disso, o artigo da Wikipedia parece bastante extenso. Dependendo de seus objetivos, este recurso por si só pode ser suficiente, e é certamente uma leitura mais fácil e menos técnica do que a documentação oficial.

    
por 03.02.2017 / 19:07