Linux framebuffer
Linux framebuffer (фреймбуфер Линукс, fbdev от англ. Linux Frame Buffer Device) — это графический аппаратно-независимый уровень абстракций для вывода графики на монитор, обычно на консоль.
Фреймбуфер — это область видеопамяти для кратковременного хранения одного или нескольких видеокадров, а Linux framebuffer — это метод доступа к фреймбуферу через ядро Linux, не полагаясь на системно-ориентированные библиотеки, такие как SVGALib и другое программное обеспечение в пространстве пользователя.
Применение
- Реализация текстовой Linux-консоли, когда не поддерживается аппаратный текстовый видеорежим, или для преодоления его ограничений на размер глифов, число кодовых точек и т.п. Одна популярная причина использования текстовой Linux-консоли — это возможность показывать изображения при загрузке.
- Вывод графики для X Window System, MPlayer, библиотек GGI, SDL, Weston, GTK+, Qtopia и DirectFB: они могут использовать фреймбуфер напрямую. Это популярный подход во встраиваемых системах.
Внутри ядра существует подсистема окон под названием FramebufferUI (fbui), которая предоставляет базовую 2D-функциональность с небольшим потреблением памяти.
Доступ к фреймбуферу можно получить через файл /dev/fb0.
История
Впервые фреймбуфер появился в Linux 2.1.107. Изначально он был создан для эмуляции текстовой консоли на системах типа Apple Macintosh, у которых не было текстового видеорежима, и позже был расширен для работы на IBM PC-совместимых компьютерах.