Direct Rendering Infrastructure

Эта статья включает описание термина «DRM (Direct Rendering Manager)»; см. также другие значения.
The Linux graphics stack adheres to Mesa 3D

Direct Rendering Infrastructure (DRI) — интерфейс и свободная его реализация, используемые в системе X Window System, позволяющая пользовательским приложениям безопасно получать доступ к видеоаппаратуре без необходимости использования X server (замедляющего этот процесс). Основное назначение DRI — обеспечение аппаратного ускорения Mesa 3D (одной из реализаций OpenGL и Vulkan). Также позволяет реализовать ускорение OpenGL в консольный кадровый буфер без запущенного X11-сервера.

Проект был начат Йенсом Оуэном (Jens Owen) и Кевином Мартином (Kevin E. Martin) в Precision Insight. Впервые проект получил широкое распространение как часть XFree86 4.0, впоследствии стал частью X.Org. По состоянию на 2010-е годы поддерживается Tungsten Graphics, а также различными участниками сообщества свободного программного обеспечения. Поддерживается в Linux и FreeBSD; также портирован в NetBSD.

Составляющие

Поддержка OpenGL в Direct Rendering Infrastructure состоит из нескольких частей.

Первая часть — это Direct Rendering Manager (DRM), является составной частью инфраструктуры Direct Rendering Infrastructure, системы, чтобы обеспечить эффективное ускорение видео (в частности, 3D-рендеринг).

Вторая часть DRI — это модуль драйвера пользовательского пространства, содержащий драйвер OpenGL, который обычно подготавливает буферы команд для отправки в видеоаппаратуру с помощью DRM и взаимодействует с оконной системой для синхронизации доступа к видеоаппаратуре.

Третья часть — своего рода сервер. В X — это модуль поддержки libdri.so и DDX (2D-драйвер с поддержкой DRI). В реализации для кадрового буфера — это MiniGLX, инициализирующий DRM и предоставляющий некоторые функции из X Window API драйверу пользовательского пространства в условиях отсутствия X11-сервера.

Драйверы

Существует некоторое количество драйверов DRI с открытыми исходными кодами, в том числе драйверы для ATI Mach64, ATI Rage128, ATI Radeon, для 3dfx с Voodoo3 по Voodoo5, Matrox с G200 по G400, SiS 300-series, Intel с i810 по i965, S3 Savage, а также для графических чипсетов VIA unichrome. Некоторыми производителями видеокарт (такими, как ATI и Kyro) написаны собственнические драйверы DRI с закрытыми исходными кодами.

Примечания

Ссылки

  • Медиафайлы на Викискладе

  • П:Портал «Свободное программное обеспечение»
  • Direct Rendering Infrastructure project home page
  • Direct Rendering Infrastructure project «To Do» page
  • Mesa
  • Tungsten Graphics
  • DRI2
  • http://www.linux.com/feature/8797 (недоступная ссылка)
  • https://web.archive.org/web/20080808114526/http://www.linuxformat.co.uk/pdfs/LXF68.feat_x.pdf
  • A Multipipe Direct Rendering Architecture for 3D (Jens Owen and Kevin Martin, 1998) (original DRI design document)
  • Direct Rendering Infrastructure, Low-Level Design Document (Kevin E. Martin, Rickard E. Faith, Jens Owen, and Allen Akin, 1999)
  • DRI Extension for supporting Direct Rendering Protocol Specification  (недоступная ссылка с 14-05-2013 [4011 дней] — история) (Jens Owen and Kevin Martin, Precision Insight, 1999)
  • DRI explanation (Adam Jackson)
  • Getting X Off The Hardware (Keith Packard)
  • В ядро Linux 3.12 будет добавлена экспериментальня поддержка Render Nodes
Перейти к шаблону «Freedesktop.org»
Проекты на freedesktop.org
Компоненты
Библиотеки
Фреймворки
Встречи