Por que o X11 pode acessar a placa de vídeo?

2

Este é talvez um pouco teórico, mas ... Como diabos o X11 pode tocar o hardware de vídeo? Pelo que entendi, o X11 é um programa de modo de usuário não privilegiado. Mas apenas o software no modo kernel pode acessar o hardware. Então ... como?

(É uma pergunta bastante simples, mas não consegui encontrar nenhuma documentação que explique este ponto simples. Há muita documentação sobre como configurar o X11, ou como o X11 o arranjo cliente / servidor funciona, mas não muito sobre como ele controla o hardware ...)

Basicamente, estou interessado em saber quanto do trabalho é o X11, e quanto dele é o kernel, e onde os dois se encontram.

    
por MathematicalOrchid 01.04.2015 / 11:17

1 resposta

1

No cenário mais simples, a chamada parte DDX (Device Dependent X) do servidor X identificará seu driver de vídeo e usará chamadas ioctl para inicializá-lo, configurar o adaptador de vídeo e (geralmente) obter o endereço framebuffer. O framebuffer será então usado para renderização. Aqui é uma descrição muito mais detalhada do processo.

As coisas ficarão mais complicadas se alguns dos aplicativos decidirem usar XV ou GLX, mas no final toda a renderização em nível de hardware será feita pelos drivers do adaptador de vídeo e o servidor X nunca tentará acessar o hardware diretamente.

    
por 01.04.2015 / 13:50