Это было опубликовано в списке рассылки LeapList в январе 2005 года. Я
частично перевел самое основное – то, что посчитал наиболее
существенным. Многоточия отмечают места пропуска. Заранее извиняюсь за
качество перевода :)
--
Автор:
Bryan J. Smith
--
Перевод:
klark
--
Первоисточник:
http://lists.leap-cf.org/pipermail/leaplist/2005-January/000532.html
--
Поскольку я детально изучаю множество списков рассылки, я серьезно
смотрю на новые материнские планы с набором микросхем nForce4. Я видел
много комментариев, но мало по существу, по вопросам совместимости с
Linux. И много людей, кажется, путают видеокарты nVidia GeForce с
системно-периферийной логикой nForce.
Краткий обзор
- Драйверы Freedomware, Standardware и Объединенный драйвер
- Интегрированная и Off-chipset поддержка контроллеров ATA/SATA
- Интегрированная и Off-chipset поддержка сетевых карт
- Интегрированная и Off-chipset поддержка звуковой карты
- Интегрированная и Off-chipset поддержка контроллеров IEEE1394 и USB
- К ВАШЕМУ СВЕДЕНИЮ: NUMA, HyperTransport и Периферийная Коммутация
Драйверы FREEDOMWARE, STANDARDWARE и Объединенный драйвер
Подобно их GeForce (платы видео), nVidia платит своим разработчикам,
чтобы работать и над драйверами Freedomware (открытый стандарт, открытый
исходный код), и над драйверами Standardware (открытый стандарт,
закрытый исходный код) для nForce (логика системы / периферии). Драйверы
Freedomware, как в случае с GeForce имеют лицензию MIT - это "nv"
драйвер для двумерного X11. В случае nForce, они - имеют лицензию GPL -
это "i810", и другие драйверы поддерживаемые непосредственно ядром
Linux. NVidia также выпускает код, имеющий лицензию GPL. К сожалению,
подобно ATI, Intel, VIA и другим производителям, лицензирование
некоторой логики не до nVidia. В случае серии nForce, это также
справедливо. Поэтому эти драйверы подпадают под лицензию nVidia. Даже
если имеется драйвер GPL, который является перепроектируемым, nVidia
(подобно Intel и другим) не могут поддерживать их непосредственно из-за
их лицензионных соглашений для логики.
Но одну вещь nVidia сделала одновременно и для GeForce, и для nForce -
дистрибутив, объединяющий и Freedomware и Standardware в одно целое. В
дополнение к их уникальному подходу "связывания объектного кода",
который в мире UNIX не является ничем новым, сам дистрибутив - полностью
GPL. Также, любой другой продавец, обеспечивающий драверами Standardware
для Linux, может и должен моделировать свои драйверы после nVidia.
Инсталлятор поддерживает некоторые опции, включая пересборку ядра со
специфическими параметрами, что считается хорошим для внутреннего
управления конфигурациями.
Самый последний nForce инсталлятор моно скачать с той же страницы, что и
драйвер GeForce: http://www.nvidia.com/object/unix.html
Теперь будут индивидуально рассмотрены внешние устройства чипсета
nForce4, общая off-chipset внешняя периферия, соединяемая с nForce4 на
материнской плате, и главное - поддержка этого ОС Linux. О коммутации с
PCI-Express (PCIe - не PCI-X для краткости, это различно) я отвечу
немного позже. Но в ореховой скорлупе (!?), Вы не нуждаетесь в любом
драйвере, чтобы поддержать NUMA/HYPERTRANSPORT или PCIE аспекты любого
чипсета AMD. Они неотъемлемо подражали стандартным интерфейсам APIC и
PCI.
ИНТЕГРИРОВАННАЯ И OFF-CHIPSET ПОДДЕРЖКА КОНТРОЛЛЕРОВ ATA/SATA
Серия nForce4 включает 6 интегрированных каналов ATA: 4 - SATA/150MBps
(nF4) или SATA-2/300MBPS (nF4 Ultra/SLI) и 2 - ATA/133MBps (все).
Согласно объединенному драйверу, код все еще использует ту же самую
логику ATA, напоминающую nForce3 и, в конечном счете, nForce2, даже для
версии SATA-2/300MBPS. Так что это должно работать с текущим i810
драйвером ATA с поддержкой nForce3 в ядре 2.4.23 и выше с запасом
(nForce2 был 2.4.21+, более новый nF2 и nF3s были небольшими
модификациями поддержки SATA).
Я не буду углубляться в различия между SATA и SATA-2, но скажу, что Вам
понадобятся разные шлейфы передачи данных (витая пара SATA). Древняя
история, вкратце: параллельные ATA кабели больше не включаются,
материнская плата будет иметь SATA/150MBPS для оптических, более
медленных ATAPI устройств, и SATA-2/300MBPS или SATA-3/600MBPS для
жестких дисков и быстрые ATA устройства, которые будут требовать канала
передачи данных на витой паре.
У меня нет идей о том, как работает интегрированный контроллер Free
RAID. Но это работает подобно драйверу в nForce3, позволяющем добавлять
в массив и SATA, и ATA диски одновременно. Я не исследовал поддержку, но
я думаю, что Вы можете убедиться, что это - программный драйвер на все
100%, как только услуги прерывания Int13h 16-битного BIOS-а больше не
используются (то есть сразу после того, как NT или Linux ядро будет
загружено в память).
Большинство материнских плат, по-видимому, включает еще 4 канала ATA на
базе Silicon Image SiI3114, так что в итоге получается десять каналов
ATA. Более новые ядра Linux имеют поддержку для SiI3114. Имеется также
драйвер заменяющий функциональные возможности Free RAID, но это -
специфический для ядра бинарный код. Другими словами, используйте LVM/MD
вместо этого.
ИНТЕГРИРОВАННАЯ И OFF-CHIPSET ПОДДЕРЖКА СЕТЕВЫХ КАРТ
К сожалению, в отличие от логики ATA, драйвер NIC запатентован 3-ьей
стороной. Это означает, что nVidia только поддержит это с Standardware
драйвером (nvnet), так что их код никогда не может находиться в ядре. И
хотя драйвер "все-в-одном" может связывать объектный код с любым ядром,
это не допускается лицензией GPL.
К счастью там имеется перепроектированный Freedomware драйвер
(forcedeth). Конечно, не только nVidia не гарантирует, что это будет
работать, но и никто не может юридически отвечать за это. Согласно
различной документации, это - в основном тот же самый HyperTransport-MAC
дизайн nForce3, имеющийся в более новых версиях forcedeth GPL.
Большинство пользователей независимо утверждают, что в то время как
поддержка 10/100Mbps реализована хорошо, поддержку 1000Mbps нельзя
назвать хорошей.
Большинство материнских плат nForce3/4 идет с двумя портами Gigabit
Ethernet (GbE). Соответственно, имеются также off-chipset MAC/NIC.
Большинство off-chipset NIC's включают MAC-и Broadcom и Marvell
Yukon/SysConnect. Оба имеют превосходную поддержку GPL, поскольку
продавцы обеспечили заплаты к различным PCI/MAC идентификаторам и к коду
непосредственно самих драйверов. Главным образом, пока Вы работаете под
управлением ядра 2.4.22+, вы сможете установить большинство из этих
off-chipset NIC's, что не противоречит тому, что вам все равно придется
отдельно реализовывать поддержку ATA.
Единственный минус в использовании off-chipset NIC's - то, что они
обычно связаны с 0.125GBps, общей шиной PCI. При 100Mbps, это -
незначительная загрузка для PCI, но в 1000Mbps, это может вызывать
прерывания звука, если также имеются аудио устройства. Сетевая часть,
непосредственно интегрированная в чипсет, связана напрямую через
HyperTransport из тех же соображений. В 100Mbps, это, кажется, работает
с более новым драйвером Freedomware (forcedeth). В 1000Mbps, Вам,
вероятно, потребуется установить драйвер Standardware (nvnet).
ИНТЕГРИРОВАННАЯ И OFF-CHIPSET ПОДДЕРЖКА ЗВУКОВОЙ КАРТЫ
Интересно, как nVidia интегрировала NIC в чипсет. Звук совместим с
PC'99, и Freedomware i810 драйвер звуковой карты работает хорошо. К
сожалению, набор возможностей в драйвере i810 довольно ограничен. Этим
объясняется, почему nVidia также обеспечивает набором Standardware
драйверов (nvsound) с инструментальными средствами поддержки (например,
nvmixer, и т.д ...).
Standardware драйвер (nvsound) полностью совместим с OSS, так что он и
его утилиты работают на более старых ядрах так же, как и с более новыми
ядрами. Конечно, для более новых ядер с интегрированной ALSA, подобно
2.6, вы будете должны удостовериться, что ваша подсистема ALSA имеет
полную скомпилированную поддержку OSS. nVidia должна все же разработать
драйверы ALSA, но они говорят, что это будет только, когда им позволят
ресурсы.
Лично, я думаю, что это будет, все зависит от того, сколько возможностей
будет включено в драйвер ALSA PC' 99. Это должно быть больше чем OSS.
Но главным образом, почти все более новые материнские платы nForce4
продаются с Realtek ALC850 (возможно ALC860) или подобным 6-канальным
звуковым чипсетом. Это - и плохая и хорошая новость, одновременно.
Плохая новость - то, что это требует ALSA. Хорошая новость - в
значительной степени каждое ядро 2.6+ поддерживает ALC850, как это
поддерживала ALSA 1.0.
Поскольку чипсет интегрирован с Off-chipset звуком, в отличие от NIC, у
вас нет выбора. В то время как большинство материнских плат имеет
двойной - NIC's так, что Вы можете выбирать, они обычно не предлагают
две звуковых карты. И так как большинство материнских плат продаются с
off-chipset включенным звуком, вы нуждаетесь в ALSA. Так для
пользователей более новых, ядер 2.6 distros, это - вероятно идеал.
ИНТЕГРИРОВАННАЯ И OFF-CHIPSET ПОДДЕРЖКА КОНТРОЛЛЕРОВ IEEE1394 И USB
Поддержка всех IEEE1394 FireWire также как OHCI/UHCI (1.2/12Mbps) и EHCI
(480Mbps) - дизайн логики с большим запасом. Они работают "вне ящика" со
стандартными драйверами Linux, хотя ядро 2.4.21+ рекомендуется для
поддержки IEEE1394.
NUMA, HyperTransport и Периферийная Коммутация
См. оригинал на английском языке.
http://lists.leap-cf.org/pipermail/leaplist/2005-January/000532.html