Компания NVIDIA выпустила первый релиз драйверов для своих чипсетов nForce 220D/420/420D под ОС Linux. Драйверы работоспособны при использовании ядер Mandrake 8.1, Red Hat 7.2 и Red Hat 7.2 (Kernel Upgrade).
В драйверах реализована поддержка встроенного аудио и ethernet адаптера. IDE и USB контроллеры поддерживаются стандартными драйверами ОС. Поддержки Win-модема пока нет.
Хорошо что я nForce раздумал покупать, вместо него взял VIA KT266A. Так только с видео трабл, а тут бы еще и с остальной хардварью Жопа бы была. У меня GeForce2 MX400, Xы с дровами от nVidia (1.0-2313) 1-2 раза в день виснут намертво (только курсор мышки живет, ну прям как мастдай; убьешь Xы по kill -9 - иначе никак - зайдя по ssh, так виснет и ядро). Подозреваю, что из-за того, что NVdriver делит IRQ с сетевухой (задолбался уже BIOS мучать, ACPI выключил, всеравно никак видео на отдельный IRQ посадить не удалось). Кроме IRQ, все фишки вроде mem=nopentium (у меня Athlon XP 1800+) и apm=off перепробовал - нифигища.
Я на днях к подвисшим Xам gdb приаттачил, нашел место, где они в tight loop застряли. Само собой, это nvidia_drv.o (нашел по байтам). Видать, ждет, когда обработчик прерывания флажок установит. Причем программеры хорошие писали - выглядит примерно как while(flag != 0x8000); Way to go! Именно так надо ждать событий. Чтобы загрузить CPU и вообще жизнь медом не казалась. Отправил багрепорт в nVidia (по поводу подвисаний, а не стиля программирования, дизассемблировать-то по лицензии нельзя) - а они молчат, сволочи, и, думаю, так и не ответят. Мля, будь у меня сырцы, хоть бы посмотрел, что за хрень там. А так приходится пока драйвер nv юзать.
ivan4th
Принимает NVidia баг репорты, особенно когда они толково написаны как ты рассказал.
Еще кстати есть #nvidia на irc.openprojects.net (там мэйнэйнеры драйверов появляются).
С закрытостью ничего не сделаешь, NVidia справедливо считает драйвера солидной частью интеллектуальной собственности компании. Хочется получать что-то весьма конкретное за хорошое финансирование их разработки.
На моей практике все мои нарекания было пофиксены.
2 ivan4th: так если поднять тему: "а давайте напишем свои драйвера", первые десять ответов будут "А зачем это нужно? Все и так работает".
Если я все же допишу их под фрю, непременным условием будет запрет портирования на линукс.
А что касается цикла - да, была там такая гадость: именно так оно и ждет свободного канала. Это хорошо видно по исходникам из XFree, с учетом, что в XFree используется один канал, а в родном драйвере - все 8.
А reverce engineering в России разрешен. С ограничениями, но здесь именно такой случай. Кроме того, есть проекты (rivatv, например) в которых четко видны куски, выдернутые из виндовых драйверов
ivan4th Переставь сетевушку в другой слот PCI. Во всех чипсетах AGP слот шарится с каким то PCI и в биосе это обычно не отключается, поскольку разведено на материнке так.
Потому что, те несколько раз, когда поднимался вопрос о написании open-source драйверов, ответ был не "не можем" (это было бы понятно), не "нет информации" (ее-то как раз достаточно), а "а зачем это нужно - нам их дали добрые дяди из nVidia".
(две страницы размышлений о том, что халявой пользуются лодыри, не прошли внутренюю цензуру)
stephen, не все умеют писать драйвера. :) К тому же, драйверами для X у nVidia дело не обошлось. Еще драйвера для ядра и модуль, замещающий библиотеки Mesa. Халявой пользуются и те, кто на работе работает, и дома предпочитает хоть немного отдохнуть. :)
PS А драйвера от nVidia у меня в самом деле ни разу не повисли. Правда, появилась пара забавных видеоэффектов (в Мозилле иконки странно рисовались и OGLовая гляделка картинок иногда что-то странное GLючила), но все исправлялось при обновлении изображения. :) Но пара игрушек, которые, по-моему, активно их использовали (egoboo и chromium) работали вообще вез падений и сбоев. Впрочем, фрю, насколько мне известно, лишили этих удовольствий...
CybOrc, писать драйвера умею я. Помимо умения требуется еще и мотивация. Зачем делать что-то для людей, от которых, скорее всего, можно дождаться только потока фекалий?
Насчет работы - у меня сейчас три работы (программист/сисадмин с уклоном в ту или иную сторону), если я не буду что-то делать для себя, то, что _мне_ нравится, то мне это все опротивеет через пару месяцев.
Насчет ядерного модуля - в нем-то все и дело. Сам драйвер очень мало отличается от драйвера XFree (дописана пара функций, переписана пара макросов). Вся работа с чипом происходит в ядерном модуле. (memory management, bus-mastering DMA, работа с AGP, арбитраж клиентов и каналов и т.д.). Его и надо писать.
А насчет самих драйверов - хочется не только X, хочется, например, видео в консоли. Да и циферки производительности на http://directfb.org для XFree и X/FB любопытные. Как программа максимум - хочется вещи, подобной Aqua - не внешне, но архитектурно. Скорее всего, времени и сил не хватит, но кто знает...
Я давно не залезал в исходники Mesa (с версии 2.какой-то), но, насколько я помню, драйвер для чипа занимал там порядка 100К текста, т.е. немного, по сравнению с общим объемом.
Хуже с расширениями nVidia - их придется писать полностью. К счастью, они опциональны.