nouveau ([nuvo], — новый) — проект по созданию свободных драйверов для видеокарт компании Nvidia с поддержкой ускорения трёхмерной графики. Изначально основан на распространяемом по свободной лицензии, но нечитаемом драйвере «nv» 2D-графики от nVIDIA.

Название «» обозначает «новый» на французском языке, и было, по словам Stéphane Marchesin, предложено автозаменой IRC‑клиента вместо «nv».

Разработка

2D

На июнь 2012 реализованы практически полная поддержка 2D для всех видеокарт Nvidia, начиная с моделей серии Riva TNT и заканчивая GeForce GTX, в том числе поддерживается 2D-акселерация.

3D

В начале 2008 года в 3D‑ветви драйвера для Gallium3D, не предназначенной даже для тестирования (за исключением тех, кто может помочь исправлениями и нахождения патча, внёсшего ещё не исправленный баг), с некоторыми видеокартами NV40 можно было добиться приемлемой работы некоторых трёхмерных игр.

Произведён переход на Gallium 3D, работа над поддержкой DRI прекращена.

Общий менеджер памяти пока не используется, поэтому программы, использующие OpenGL, могут работать нестабильно. Планировалось использовать TTM, но со временем появилось ещё несколько менеджеров памяти, и были обнаружены проблемы с производительностью при использовании TTM. В октябре 2008 года ведётся перевод драйвера с TTM на интерфейсы менеджера памяти , разрабатываемого компанией Intel, и внутренности TTM.

Реверс-инжиниринг

Реверс-инжиниринг производится с помощью специальной утилиты REnouveau, которая выводит на экран определённые изображения с использованием проприетарного 3D-драйвера от NVIDIA, и считывает из памяти видеоадаптера изменившиеся данные.

Также разрабатывается mmio-trace, следящая за доступом драйвера к памяти ().

Примечания

Ссылки

Официальный сайт

Категория:Свободные драйверы Категория:X Window System Категория:Программное обеспечение Nvidia Категория:Freedesktop.org Категория:Ядро Linux