Linux framebuffer
Linux framebuffer (фреймбуфер Линукс, fbdev от англ. Linux Frame Buffer Device) — это графический аппаратно-независимый уровень абстракций для вывода графики на монитор, обычно на консоль.

Фреймбуфер — это область видеопамяти для кратковременного хранения одного или нескольких видеокадров, а Linux framebuffer — это метод доступа к фреймбуферу через ядро Linux, не полагаясь на системно-ориентированные библиотеки, такие как SVGALib и другое программное обеспечение в пространстве пользователя.
Из «userspace» доступ к буферу видеокадра выполняется через «файл устройства» /dev/fb.[1]
Применение
- Реализация текстовой Linux-консоли, когда не поддерживается аппаратный текстовый видеорежим, или для преодоления его ограничений на размер глифов, число кодовых точек и т. п. Одна популярная причина использования текстовой Linux-консоли — это возможность показывать изображения при загрузке.
- Вывод графики для X Window System, MPlayer, библиотек GGI, SDL, Weston, GTK+, Qtopia и DirectFB: они могут использовать фреймбуфер напрямую. Это популярный подход во встраиваемых системах.
Внутри ядра существует подсистема окон под названием FramebufferUI (fbui), которая предоставляет базовую 2D-функциональность с небольшим потреблением памяти.
Доступ к фреймбуферу можно получить через файл /dev/fb0.
История
Впервые фреймбуфер появился в Linux 2.1.107.[2] Изначально он был создан для эмуляции текстовой консоли на системах типа Apple Macintosh, у которых не было текстового видеорежима, и позже был расширен для работы на IBM PC-совместимых компьютерах.
См. также
- Direct Rendering Manager
- SimpleDRM — графический драйвер вывода в фреймбуфер EFI-GOP или VESA, предоставляемый BIOS (для использования на стадии загрузки, до переключения на полноценный DRM-драйвер).
Примечания
Ссылки
- Страница проекта на Sourceforge (англ.)
- Официальный сайт fbdev (англ.)
- Framebuffer HOWTO (англ.)
- Страница man (англ.)
- Официальный сайт FramebufferUI (англ.)