Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025)

Материал из 0x1.tv

(перенаправлено с «20250620G»)
Докладчик
Денис Молодяков.jpg
Денис Молодяков

Цель и подход:

  • Разработка универсальных дисплейных драйверов для микроядерной ОС KasperskyOS
  • Выбор интерфейса DRM/KMS из Linux для совместимости с прикладным ПО
  • Анализ решений в открытых ОС: Linux (оптимален), Android (закрытые компоненты), Fuchsia (недостаточно зрелый)

Реализации драйверов:

  • Intel UHD Graphics: аппаратные блоки соответствуют модели KMS
  • BGA (Bochs Graphics Adapter): простой эмулируемый контроллер с доступом к фреймбуферу
  • Virtio GPU: паравиртуализованное решение для гостевых ОС с кодированием данных
  • MediaTek: сложный аппаратный конвейер с коррекцией цвета и специализированными блоками

Особенности микроядерной архитектуры:

  • Изоляция компонентов и взаимодействие через IPC
  • Ограничения: временные задержки, передача параметров по значению
  • Обработка прерываний в пользовательском пространстве
  • Контроль данных монитором безопасности
  • Управление доступом через политики безопасности

Преимущества и выводы:

  • Совместимость с графическими фреймворками и композиторами
  • Необходимость эмуляции KMS-блоков на платформах, отличных от Intel
  • Временные задержки при инициализации и смене режимов (не критично)
  • Безопасность: гранулярный контроль данных и прав доступа

Видео

on youtube


Thesis

Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС

При разработке дисплейных драйверов для ОС общего назначения ключевая сложность – определение универсального интерфейса взаимодействия с вышестоящим уровнем (инфраструктура, прикладное ПО). Среди ОС с открытым исходным кодом анализировались:

  • Linux и Android (интересны, но в Android закрыты компоненты render path)
  • Fuchsia (мало инсталляций, решения не отработаны)

В KasperskyOS выбран интерфейс DRM (Direct Rendering Manager) из Linux. Доклад отражает опыт разработки и портирования видео-драйверов под этот интерфейс.

Общие сведения о DRM/KMS

За доступ к ресурсам видеокарты в Linux отвечает компонент ядра DRM. Графический стек делится на:

  • Render path (не рассматривается)
  • Display path (дисплейные драйверы + управление устройствами отображения)

KMS device model – подсистема DRM, определяющая модель конвейера отображения (display pipeline). Основные логические блоки:

  • Planes
  • CRTCs (Cathode-Ray Tube Controller)
  • Encoders
  • Connectors

Примеры реализации дисплейных драйверов в KasperskyOS

  • Intel UHD Graphics: Аппаратные блоки дисплейного контроллера соответствуют логическим блокам модели KMS. Архитектура рассмотрена на примере графического ускорителя Intel.
  • BGA (Bochs Graphics Adapter): Простейший контроллер, эмулируемый qemu для x86_64. Предоставляет доступ к LFB (Linear FrameBuffer). Логические блоки KMS эмулируют аппаратуру.
  • Virtio GPU: Драйвер паравиртуализованной видеокарты для ОС-"гостя". Данные кодируются в гостевой ОС и декодируются эмулятором по спецификации virtio. Представлена структурная схема работы.
  • MediaTek: Сложный аппаратный конвейер (Overlayer, блоки коррекции цвета, Gamma correction, RDMA, DSI). Описаны архитектура аппаратной части и программной реализации.

Особенности драйверов для микроядерной архитектуры

Компоненты изолированы, взаимодействие через IPC:

  • Временной лаг при взаимодействии с компонентами платформы
  • Передача параметров by-value (отсутствуют механизмы copy-from-user/copy-to-user)
  • Обработка прерываний в user space (критично для событий hot-plug)
  • Контроль трансфера данных (включая объекты видеопамяти) монитором безопасности KasperskyOS
  • Управление доступом через политики безопасности

Выводы

  • Преимущество совместимости с прикладным ПО (фреймворки, композиторы)
  • Модель KMS ориентирована на архитектуру Intel, требует эмуляции блоков конвейера на других платформах
  • Временные штрафы при инициализации и смене режимов (не критично из-за редкости операций)
  • Изоляция обеспечивает:
    • Гранулярный контроль потоков данных
    • Регулирование прав через политики безопасности


Презентация

Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025).pdf
Разработка DRM-совместимых дисплейных драйверов для микроядерной ОС (Денис Молодяков, OSDAY-2025)!.jpg

Примечания и ссылки