Nouveau : Открытый драйвер для видеокарт nVidia, с поддержкой 3D ускорения
О Nouveau
Это домашняя страница nouveau, проекта который стремится предоставить 3D драйвер для графических карт nVidia. "nouveau" [nuvo] на французском языке означает "новый". Если у вас есть вопросы, то загляните в наш FAQ.
Если вы хотите помочь в разработке, для Вас основными ресурсами будут IRC канал и списки рассылок.
Большинство разговоров о разработке происходит на IRC канале на freenode #nouveau; логи канала: сырые и краткое содержание (так называемые 'TiNDC', или The irregular Nouveau Development Companion). Всё это Вы можете найти на странице IrcChatLogs.
Мы используем несколько списков рассылок: nouveau - список рассылок, куда попадают сообщения об ошибках и происходит обсуждение разработки (сначала почитайте логи IRC !); список рассылок dri-devel принадлежит проекту DRI, куда в конце концов попадают изменения nouveau; и cvs commits - список, оповещающий в изменениях в модулях doc, rules-ng и renouveau.
Нам интересно, что говорят о проекте, так что мы собираем ссылки на специальной странице InThePress.
Текущее состояние
Поддержка 2D, EXA, Xv и Randr12 (относится к dual-head, поворотам и т.д.) находятся в приличном состоянии. Randr1.2 должен работать на всех карточках до (но не включая) серии Geforce 8000. Randr1.2 теперь включён по умолчанию. Какая-либо поддержка 3D пока работает только у очень везучих разработчиков. Также удачей можно считать переключение в VT (текстовую консоль) при работающих X. У нас есть матрица состояния и список TODO.
Пользователи также могут посмотреть список необходимых и предоставленных дампов Renouveau и посмотреть, нужна ли проекту дополнительная информация об этих картах. На данный момент mmiotrace, скорее всего, наиболее востребованы; загляните на MmioTraceHowto. Если у Вас есть ненужное железо nVidia, оно нам могло бы помочь. Предложите Вашу карточку на IRC канале и посмотрите не найдется ли заинтересованного в ней разработчика.
Для разработчиков и продвинутых пользователей у нас есть инструкции Howto compile and use nouveau.
Теперь Randr12 является частью основной разработки. Некоторые заметки о NV50, если Вы что либо о них знаете - пожалуйста, добавьте туда.
Особые пожелания о тестировании можно найти на странице TestersWanted. Посмотрите её!
Новости
Ошибки
Мы используем freedesktop.org Bugzilla. Nouveau (2D драйвер) - подпроект xorg, Component Driver/nouveau, 3D драйвер - подпроект Mesa, Component Drivers/DRI/nouveau, но пока просим не посылать ошибки о 3D.
У нас есть список рассылки, куда вы можете отправлять свои отчёты об ошибках, задавать вопросы, обсуждать патчи и делать всё остальное, что относится к nouveau и утилит для него. Вы можете найти его тут: http://lists.freedesktop.org/mailman/listinfo/nouveau
Не стесняйтесь искать и отсылать ошибки, касающиеся реализации 2D, просим поискать по bugzilla прежде чем создавать новый отчёт. Если вы не уверены, что найденная Вами ошибка является проявлением уже зарегистрированных - создайте новый отчёт.
Ссылки на текущие исходные тексты и репозитории
Текущий исходный код находится в git деревьях на git.freedesktop.org.
Mesa GIT (3D driver) сдержит модуль DRI в подкаталоге src/mesa/drivers/dri/nouveau.
DriProject тут можно найти информацию для разработчиков о DRI.
DRM GIT (Memory management) содержит модуль DRM. чтобы его вытянуть, воспользуйтесь git-clone git://anongit.freedesktop.org/git/mesa/drm
DrmProject Тут - более детально о проекте DRM.
The DDX git (2D driver) содержит модифицированный для инициализации 3D "nv" DDX.
Утилиты
Утилиты, помогающие в процессе разработки
REnouveau (посмотрите CVS) сбрасывает изменения в очереди(FIFO) команд и использованных регистров, когда процесс исползяет команды отрисовки. Прочтите это, чтобы узнать как посылать дампы.
Модифицированный nvclock - модифицирован так, чтобы иметь возможность писать во все регистры nVidia..
MmioTrace для отслеживания ввода/вывода в отмапленную и используемую внутри ядра память. Может использоваться для записи чтений и записей, проводимых модулем драйвера для отладки и изучения(reverse engineering).
RulesNG - форматированная база описания аппаратных регистров.
Nvtrace - вариант valgrind-mmt, который перехватывает все данные, идущие в драйвер.
Все наши скрипты и утилиты CVS (например, crashdump и createdump) можно найти тут.
Утилиты отладки
OProfile неплохой статистический профайлер всей системы.
Документация/Имеющиеся исходники
Введение и доки по API
IntroductoryCourse - выбраны ссылки и материалы в качестве введения
CtxInit - Как написать свой код инициализации контекста
GalliumHowto - для храбрых. Пожалуйста, не обижайтесь, если для Вас это не сработает.
как собрать полный стек графики из git без перезаписи предоставляемого дистрибутивом X.
Презентации
Документация о железе видео
Другие драйвера nVidia
Разное
NvHardwareDocs все документированные регистры nv, аппаратные протоколы, публикации, и другая информация об видеокартах nvidia.
Games - как игры используют графику
Список всех кодов для карт NVIDIA
openChrome Project - открытые драйвера для VIA S3 (обновлен XvMC с поддержкой ускорения MPEG-4)
intellinuxgraphics.org открытые драйвера Linux Graphics Device Drivers от Intel (с XvMC с поддержкой ускорения MPEG-2)
R300 DRI (Direct Rendering Infrastructure) - разработка открытых драйверов для чипов AMD/ATI R300
Gallium3D - куда держит путь Mesa
NouveauDemo - набор тестов

