nouveau
nouveau ([nuvo], фр. nouveau — новый) — проект по созданию свободных драйверов для видеокарт компании Nvidia с поддержкой ускорения трёхмерной графики. Изначально основан на распространяемом по свободной лицензии, но нечитаемом драйвере «nv» 2D-графики от nVIDIA.
nouveau | |
---|---|
| |
Тип | драйверы |
Написана на | Си |
Операционная система | 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, которая выводит на экран определённые изображения с использованием проприетарного 3D-драйвера от NVIDIA, и считывает из памяти видеоадаптера изменившиеся данные.[12]
Также разрабатывается mmio-trace, следящая за доступом драйвера к памяти (MMIO).[13]
Примечания
- FAQ (англ.) (недоступная ссылка). nouveau Wiki. Дата обращения: 5 ноября 2007. Архивировано 1 марта 2012 года.
- nouveau-1.0.17
- The state of Nouveau, part I (англ.) (недоступная ссылка). LWN.net (15 февраля 2008). Дата обращения: 7 марта 2008. Архивировано 1 марта 2012 года.
- Релиз свободного X.Org видеодрайвера Nouveau 1.0
- KoalaBR. Nouveau Companion 35 (англ.) (недоступная ссылка) (13 февраля 2008). Дата обращения: 16 февраля 2008. Архивировано 1 марта 2012 года.
- Dave Airlie. Bringing kittens back to life - continuing story of open source graphics drivers (англ.) (недоступная ссылка). MEL8OURNE LCA2008 and Linux Australia. — Демонстрация — ближе к концу видео.. Дата обращения: 14 февраля 2008. Архивировано 1 марта 2012 года.
- The state of Nouveau, part 2 (англ.) (недоступная ссылка). LWN.net (26 февраля 2008). Дата обращения: 7 марта 2008. Архивировано 1 марта 2012 года.
- Nouveau Companion 36 (англ.) (недоступная ссылка) (7 марта 2008). Дата обращения: 7 марта 2008. Архивировано 1 марта 2012 года.
- David Lin. Nouveau Drops Its Old DRI Driver (англ.) (недоступная ссылка). Phoronix Media (13 июля 2008). Дата обращения: 14 июля 2008. Архивировано 1 марта 2012 года.
- Nouveau Companion 38 (англ.) (недоступная ссылка) (5 апреля 2008). Дата обращения: 13 апреля 2008. Архивировано 1 марта 2012 года.
- Pekka Paalanen. Nouveau Companion 40 (англ.) (недоступная ссылка). Phoronix Media (29 октября 2008). Дата обращения: 29 октября 2008. Архивировано 1 марта 2012 года.
- REnouveau (англ.) (недоступная ссылка). nouveau Wiki. Дата обращения: 5 ноября 2007. Архивировано 1 марта 2012 года.
- MMIO Trace (англ.) (недоступная ссылка). Дата обращения: 18 января 2008. Архивировано 1 марта 2012 года.
Ссылки
- Официальный сайт (англ.) (фр.)
- Nouveau in the press (англ.) (недоступная ссылка). nouveau Wiki. — Ссылки на статьи о nouveau. Дата обращения: 5 ноября 2007. Архивировано 1 марта 2012 года.
- The irregular Nouveau Development Companion (TiNDC) (недоступная ссылка). — Краткие изложения дискуссий на IRC‐канале #nouveau. Архивировано 1 марта 2012 года.
- Установка nouveau (недоступная ссылка). — на примере Gentoo. Архивировано 1 марта 2012 года.
- Евгений Золотов. Новое прекрасно! (недоступная ссылка) (20 января 2010). Дата обращения: 29 декабря 2010. Архивировано 9 марта 2012 года.