Видео подсистема Linux |
Предыдущая Содержание Следующая |
Концепция кадровых буферов занимает центральное место для отображения на Linux, так что давайте сначала выясним, что это она предлагает.
Поскольку видеоадаптеры могут быть сделаны на основе разных аппаратных архитектур, возможно, для разных видеокарт необходимо менять реализации высших уровней ядра и приложения. Это приводит к неоднородным схемам обработки различных видеокарт. Следующая за этим непереносимость и дополнительный код требуют более значительных инвестиций и технического обслуживания. Концепция буфера кадров решает эту проблему, описывая общие абстракции и определяя программный интерфейс, что позволяет приложениям и более высоким уровням ядра быть написанными независимым от платформы образом. Рисунок 12.4 показывает преимущества кадрового буфера.
Рисунок 12.4. Преимущество кадрового буфера.
Таким образом, интерфейс кадрового буфера ядра позволяет приложениям быть независимыми от капризов аппаратной графики. Приложения запускаются неизменными поверх видео оборудования разного типа, если они и драйверы дисплея соответствуют интерфейсу кадрового буфера. Как вы скоро узнаете, универсальный программный интерфейс кадрового буфера также приносит аппаратную независимость для таких уровней ядра, как кадровый буфер драйвера консоли.
Сегодня существует множество приложений, таких как веб-браузеры и видео-плееры, работающих напрямую через интерфейс кадрового буфера. Такие приложения могут рисовать графику без помощи оконной системы.
Сервер Х Windows (Xfbdev) может работать через интерфейс кадрового буфера, как показано на Рисунке 12.5.
Рисунок 12.5. Видео подсистема Linux.
Видео подсистема Linux, показанная на Рисунке 12.5, представляет собой набор драйверов дисплеев низкого уровня, кадровый буфер на среднем уровне и уровень консоли, высокоуровневый драйвер виртуального терминала, драйверы пользовательского пространства, как часть X Windows, а также утилиты для настройки параметров отображения. Проследим рисунок сверху вниз:
•GUI X Windows имеет два варианта для работы с видеокартами. Он может использовать для карты любой подходящий встроенный драйвер пользовательского пространства или работать через подсистему кадрового буфера.
•Текстовый режим консоли функционирует поверх символьного драйвера виртуального терминала. Виртуальные терминалы, введенные в разделе "Драйверы TTY" в Главе 6, "Драйверы последовательных портов", являются полноэкранными текстовыми терминалами, которые вы получаете при входе в систему в текстовом режиме. Как и X Windows, текстовые консоли имеют два варианта работы. Они могут либо работать поверх аппаратно-зависимого драйвера консоли, либо использовать универсальный кадровый буфер драйвера консоли (fbcon), если ядро поддерживает низкоуровневый драйвер кадрового буфера для используемой карты. |
Предыдущая Содержание Следующая |