Direct Rendering Infrastructure

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
The Linux graphics stack adheres to Mesa 3D

В компьютерах, Direct Rendering Infrastructure (DRI) — это интерфейс и реализация в виде свободного ПО, используемая в системе X Window System, позволяющая пользовательским приложениям безопасно получать доступ к видеоаппаратуре без необходимости использования X server (замедляющего этот процесс). Основное назначение DRI — обеспечение аппаратного ускорения Mesa, одной из реализаций OpenGL. Он также позволяет реализовать ускорение OpenGL на framebuffer console без запущеного X Server’а.

История[править | править исходный текст]

Проект был начат Jens Owen и Кевином Мартином в Precision Insight. Впервые проект получил широкое распространение как часть XFree86 4.0 и на сегодняшний день является частью X.Org. Сейчас проект поддерживается Tungsten Graphics и другими представителями сообщества свободного ПО.

Составляющие[править | править исходный текст]

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

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

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

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

Драйверы[править | править исходный текст]

Написаны несколько драйверов 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 с закрытыми исходными текстами. DRI поддерживается в Linux и FreeBSD; также он был портирован в NetBSD.

Ссылки[править | править исходный текст]