O termo "driver gráfico" é usado para se referir a várias coisas diferentes. Um deles é um driver de kernel. O driver do kernel apenas define o modo de vídeo e facilita a transmissão de dados de / para o cartão. Ele também geralmente baixa o firmware na GPU do cartão. O firmware é um programa que a GPU executa, mas, infelizmente, os fornecedores gráficos apenas o fornecem como um blob binário, para que você não possa ver o código fonte.
Acima disso, você normalmente tem o Xorg em execução, que possui seu próprio driver que traduz chamadas genéricas de desenho X11 ou OpenGL em comandos que o cartão entende e as envia para o cartão para executar. Também pode fazer parte do trabalho, dependendo de quais comandos a gpu faz e não suporta. No caso das chamadas OpenGL, a Infraestrutura de Renderização Direta permite que essa parte do driver seja executada diretamente diretamente no aplicativo cliente, e não no servidor X, para obter um desempenho aceitável. Ele também permite que o driver no aplicativo cliente envie seus comandos diretamente para a gpu, graças à coordenação e ajuda do Xorg e do driver do kernel na inicialização.
Wayland e Mir devem substituir o Xorg como um tipo simplificado de servidor de exibição.
O Unity é um shell (fornece desktop / iniciador) e um gerenciador de janelas de composição em um.
GNOME e KDE são ambientes de desktop. Eles são grandes projetos que consistem em muitos componentes. O núcleo deles são os respectivos kits de ferramentas de aplicativos, que são GTK para GNOME e Qt para KDE. Essa é uma estrutura de biblioteca na qual um aplicativo é escrito e fornece a base sobre a qual tudo o mais é construído. Alguns dos serviços básicos que eles fornecem são manipulação de eventos e objetos, Windows, funções básicas de desenho, E / S e muito mais.