nouveau

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

nouveau

Nouveau в Mesa 3D
Тип драйверы
Написана на Си
Операционная система Linux (ядро)/X11 (AMD64, x86, PowerPC), BSD/X11[1]
Первый выпуск 18 июня 2012
Последняя версия 1.0.17[2] (23 января 2021)
Лицензия MIT (драйверы),
MIT и GNU GPL Direct Rendering Manager[1]
Сайт nouveau.freedesktop.org

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

Разработка

2D

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

3D

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

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

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

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

Работа утилиты REnouveau (квадрат в левом верхнем углу)

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

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

Примечания

  1. FAQ (англ.) (недоступная ссылка). nouveau Wiki. Дата обращения: 5 ноября 2007. Архивировано 1 марта 2012 года.
  2. nouveau-1.0.17
  3. The state of Nouveau, part I (англ.) (недоступная ссылка). LWN.net (15 февраля 2008). Дата обращения: 7 марта 2008. Архивировано 1 марта 2012 года.
  4. Релиз свободного X.Org видеодрайвера Nouveau 1.0
  5. KoalaBR. Nouveau Companion 35 (англ.) (недоступная ссылка) (13 февраля 2008). Дата обращения: 16 февраля 2008. Архивировано 1 марта 2012 года.
  6. Dave Airlie. Bringing kittens back to life - continuing story of open source graphics drivers (англ.) (недоступная ссылка). MEL8OURNE LCA2008 and Linux Australia. — Демонстрация — ближе к концу видео.. Дата обращения: 14 февраля 2008. Архивировано 1 марта 2012 года.
  7. The state of Nouveau, part 2 (англ.) (недоступная ссылка). LWN.net (26 февраля 2008). Дата обращения: 7 марта 2008. Архивировано 1 марта 2012 года.
  8. Nouveau Companion 36 (англ.) (недоступная ссылка) (7 марта 2008). Дата обращения: 7 марта 2008. Архивировано 1 марта 2012 года.
  9. David Lin. Nouveau Drops Its Old DRI Driver (англ.) (недоступная ссылка). Phoronix Media (13 июля 2008). Дата обращения: 14 июля 2008. Архивировано 1 марта 2012 года.
  10. Nouveau Companion 38 (англ.) (недоступная ссылка) (5 апреля 2008). Дата обращения: 13 апреля 2008. Архивировано 1 марта 2012 года.
  11. Pekka Paalanen. Nouveau Companion 40 (англ.) (недоступная ссылка). Phoronix Media (29 октября 2008). Дата обращения: 29 октября 2008. Архивировано 1 марта 2012 года.
  12. REnouveau (англ.) (недоступная ссылка). nouveau Wiki. Дата обращения: 5 ноября 2007. Архивировано 1 марта 2012 года.
  13. MMIO Trace (англ.) (недоступная ссылка). Дата обращения: 18 января 2008. Архивировано 1 марта 2012 года.

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.