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 [2876 дней] — история) (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
Компоненты
  • Avahi
  • Compiz
  • Create Project
  • ConsoleKit
  • D-Bus
  • DeviceKit
  • DRI
  • FriBidi
  • GTK-Qt
  • HAL
  • MPRIS
  • Nouveau
  • PackageKit
  • Portland Project
  • Systemd
  • UDisks
  • UPower
  • Wayland
  • X.Org Server
Freedesktop-logo-for-template.svg
Библиотеки
  • Cairo
  • Fontconfig
  • GStreamer
  • Mesa 3D
  • HarfBuzz
  • Pango
  • Poppler
  • Swfdec
  • XCB
  • Xft
Фреймворки
  • Galago
  • GeoClue
  • Open Collaboration Services
  • Telepathy
Встречи
  • Create Project
  • Portland Project
⛭Compiz
Технологии рендеринга
  • Xgl
  • AIGLX
  • Direct Rendering Infrastructure
  • Расширение X video
Связанные темы
  • Beryl
  • Compiz Fusion
  • Диспетчер рабочего стола
Дизайн
  • Композитный оконный менеджер
  • OpenGL
  • Оконный интерфейс
  • Менеджер окон
Рассказать друзьям:

Добавить комментарий