Термин «графический драйвер» используется для обозначения нескольких разных вещей. Одним из них является драйвер ядра. Драйвер ядра в основном просто устанавливает режим видео и облегчает передачу данных на / с карты. Он также обычно загружает прошивку в графический процессор на карте. Прошивка - это программа, которая запускается самим графическим процессором, но, к сожалению, поставщики графики предоставляют ее только в виде двоичного двоичного объекта, поэтому вы не можете просмотреть его исходный код.
Кроме того, у вас обычно работает Xorg, у которого есть собственный драйвер, который преобразует общие вызовы чертежей X11 или OpenGL в команды, которые понимает карта, и отправляет их на карту для выполнения. Он также может выполнять часть работы в зависимости от того, какие команды выполняет и не поддерживает gpu. В случае вызовов OpenGL инфраструктура прямого рендеринга позволяет этой части драйвера фактически выполняться непосредственно в клиентском приложении, а не на X-сервере, чтобы получить приемлемую производительность. Это также позволяет драйверу в клиентском приложении отправлять свои команды непосредственно в gpu, благодаря координации и помощи со стороны Xorg и драйвера ядра при запуске.
Предполагается, что Wayland и Mir заменят Xorg в качестве упрощенного сервера отображения.
Unity - это и оболочка (предоставляет рабочий стол / панель запуска), и композитный оконный менеджер в одном.
GNOME и KDE являются средами рабочего стола. Это большие проекты, состоящие из множества компонентов. Основой их являются соответствующие прикладные инструментарии, такие как GTK для GNOME и Qt для KDE. Это библиотечная среда, на которой написано приложение, и обеспечивает основу, на которой строится все остальное. Некоторые из основных услуг, которые они предоставляют, - это обработка событий и объектов, Windows, базовые функции рисования, ввод-вывод и многое другое.