Framebuffer
DRM:Direct Rendering Manager
Framebuffer и DRM — это подсистемы отображения в ядре Linux, имеющие разные функции и расположение.
FrameBuffer — это базовая графическая подсистема, которая предоставляет пользователю пространство для рисования пикселей на дисплее. Она реализует рисование и отображение кадров через простой буфер.
DRM — это продвинутая графическая подсистема. Он предоставляет множество расширенных функций, таких как аппаратное ускорение, рендеринг 3D-графики, декодирование видео и т. д. Поддерживает одновременный доступ нескольких клиентов пользовательского пространства к графическому оборудованию. DRM также предоставляет сложные механизмы управления памятью и DMA для лучшего управления видеопамятью в системе.
DRM более адаптируется к современному постоянно обновляющемуся оборудованию дисплея. DRM изначально поддерживает многоуровневый синтез, поддерживает VSYNC, поддерживает DMA-BUF, поддерживает асинхронные обновления, поддерживает механизмы ограждения и т. д. DRM позволяет единообразно управлять драйверами графического процессора и дисплея, что делает архитектуру программного обеспечения более унифицированной и простой в управлении и обслуживании.
Сравнение двух потоков:
DRM Stack: GPUs
DRM Stack: GPU
Справочник по обучению DRM:
https://en.wikipedia.org/wiki/Direct_Rendering_Manager#
https://doc.embedfire.com/linux/rk356x/linux_base/zh/latest/linux_app/drm/drm.html
https://doc.embedfire.com/linux/stm32mp1/driver/zh/latest/linux_driver/framework_drm.html
https://blog.deepin.org/posts/drm/
https://zhuanlan.zhihu.com/p/589367143
https://zhuanlan.zhihu.com/p/615289041