Старт Linux.SU RSS Архив Форум Купить Linux.SU(Knoppix.ru)
Какой Линукс выбрать?

ЛУЧШЕЕ ИЗ ЛУЧШЕГО

ДЛЯ НАЧАЛА: ЖИВЫЕ

- Knoppix -
Линукс за пять минут

- Puppy Linux -
Хороший друг

- Блин -
Живой русский Линукс

ДЛЯ ДЕЛА: ПРОФИ

- Debian -
Он такой один

- ArchLinux -
Гениальное - просто!

- Fedora -
По следам Red Hat

- Ubuntu Linux -
+ Runtu

Мы одной крови!

- PCLinuxOS -
Просто линукс

- ASP Linux -
Тотально русский

- MOPS Linux -
Русская борзая

- Mandriva Linux -
Красота и удобства

- openSUSE -
Настоящее немецкое качество

- Slackware -
Линукс из кубиков

- CentOS -
Копейка рубль бережёт!

- Gentoo -
Каждому своё

- Freespire -
Огонь, вода и медные трубы

ДЛЯ ДЕЛА: ЛЁГКИЕ

- Moblin -
Повелитель нетбуков

- TinyMe -
Размер имеет значение!

- gOS -
Хороша Маша!

ЗАЩИТА

- BackTrack/WHAX -
Вам, хакеры!

МУЛЬТИМЕДИЯ

- 64 Studio -
Скорость не проблема!

- Planet CCRMA -
Работа со звуком

ПРИЛОЖЕНИЯ

- OpenDisc -
Для несвободных

- Свободный офис -
100% свободный офис

ДЛЯ ЗАБАВЫ

- Линукс Геймер -
Boot & Play!

- VegaStrike -
Каждому по планете!

ЭКСПЕРИМЕНТ

- GoboLinux -
Очевидно и вероятно

- ReactOS -
Освободите Виндоус!

- Sidux -
Почувствуй силу!

РОДНЯ

- OpenSolaris -
+ Belenix

До звёзд рукой подать

- BSD-семейство -
На плечах гигантов

ЯНВАРЬ
04 11 18 25
05 12 19 26
06 13 20 27
07 14 21 28
01 08 15 22 29
02 09 16 23 30
03 10 17 24 31

АРХИВ
(2003 - 2010)
Debian sid + XFCE
Вот что значит просто, но со вкусом!
НАШИ ПРОЕКТЫ

ПИНГВИН В КАРМАНЕ
MATRIX GL
ПОЛЕЗНЫЕ СОВЕТЫ

ЗАКЛАДКИ
ЧаВО
КОНТАКТЫ
RSS

Я - хакер!
Pixilang
Искусственный
корректор

20.01.2010 Новое прекрасно!

  В эти дни в Веллингтоне, Новая Зеландия, проходит Linux.conf.au — одна из крупнейших конференций, посвящённых свободному программному обеспечению. Сотни энтузиастов и представителей бизнеса со всего мира собрались здесь, чтобы обсудить проблемы и перспективы open source в самых разных областях человеческой деятельности. Среди актуальных тем числится и выпуск очередной версии линуксового ядра: релиз 2.6.33 запланирован на начало марта. Ветка 2.6 ведёт свою историю с 2003 года, за это время в Ядро было внесено много интересного (к слову, количество строк в исходниках выросло вдвое). Но есть основания полагать, что мартовский релиз будет выделяться на фоне предшествующих. Дело в том, что львиная доля модификаций, внесённых в 2.6.33, приходится на вшитый в ядерный код экспериментальный свободный графический драйвер Nouveau — настоящую конфетку для обладателей видеокарт на чипах Nvidia.

  Давайте сделаем экскурс в историю отношений сообщества пользователей свободного софта и производителей компьютерного железа. Для того, чтобы любая «видяшка» заработала в Linux, ей необходим драйвер, программа-посредник между видеокартой и Ядром. Идеальным вариантом считается драйвер с открытым исходным кодом, так чтобы его можно было свободно распространять с любым дистрибутивом, а в случае необходимости менять код (например, для исправления ошибок). Однако по ряду причин, производители не стремятся выпускать драйверы с открытым кодом. Почему? Из-за нежелания раскрывать секреты своих чипов. Поэтому сложилась следующая ситуация: для «видяшек» конкретного производителя существует официальный проприетарный драйвер (свободная дистрибуция запрещена, код закрыт) от производителя, и неофициальный драйвер с открытым кодом, развиваемый пользователями. Как правило, официальный драйвер поддерживает больше функций видеочипа, нежели его свободный аналог. Но есть и подводные камни.

Работает ReNouveau: идёт сбор данных о видеокарте
Работает ReNouveau: идёт сбор данных о видеокарте

  Проблема в том, что интересы производителя и пользователя пересекаются лишь частично и очевидно зависят от толщины кошелька последнего. Пример? В официальных драйверах для видеокарт производства и ATI, и Nvidia, присутствуют несколько давно известных, хорошо воспроизводимых и чрезвычайно неприятных ошибок. Драйвер ATI «рушится» при смене графических режимов. Драйвер Nvidia испытывает трудности с расширенным управлением питанием («засыпание» компьютера). Оба бага делают жизнь очень многих пользователей невыносимой, вынуждая искать альтернативные варианты. Будь драйверы свободными, с открытым кодом, энтузиасты давно исправили бы недоработки самостоятельно. Однако код в руках производителей — и ни та, ни другая компания до сих пор не вычистили ошибки из своих программ.

  Есть у официальных закрытых драйверов и другие недостатки. Так, три года назад в драйвере Nvidia была обнаружена уязвимость, позволявшая злоумышленнику перехватить управление компьютером. На разработку «заплатки» у компании ушло несколько месяцев. А несовместимость официальных драйверов с новыми версиями свободных программ? Пользователи вынуждены ждать, пока производитель отреагирует и соизволит доработать закрытый код. Это неудобно и пользователям, и разработчикам прикладного софта. А когда очередная модель видеокарты признаётся устаревшей и поддерживать её становится нерентабельно, производитель перестаёт сопровождать её драйвер. Так что и годы спустя несчастным владельцам устаревшей «видяшки» приходится довольствоваться древним драйвером, с оставшимися в нём ошибками, без поддержки новых функций современного софта. Из той же оперы риск банкротства, в случае которого производитель унесёт все свои секретные наработки в могилу. Наконец, несвободные драйверы нельзя распространять на тех же условиях, что и дистрибутивы Linux. В результате пользователь, получив дистрибутив, включающий только свободные программы (таков, к примеру, Debian), вынужден скачивать официальный драйвер отдельно.

Nvidia + Linux = ?
Nvidia + Linux = ?

  Неудивительно что очень быстро нашлись энтузиасты, затеявшие разработку собственных полнофункциональных свободных видеодрайверов. К сожалению, производители скрывают не только исходники, но и полные спецификации чипов. Поэтому «прямым» путём — изучая документацию от производителей — изготовить полноценный драйвер невозможно. Вот почему популярный свободный драйвер nv для карт Nvidia не поддерживает 3D-функции (даже несмотря на то, что написан он с участием самой компании). Примерно та же ситуация и с картами ATI. Так что же, тупик?

  К счастью, есть исследовательский метод, который позволяет обойтись без помощи производителей: чистое реверсивное проектирование (clean room reverse engineering). Вместо грубого вторжения в машинный код официального драйвера (простой реверс-инжиниринг — естественно, незаконный), энтузиасты задействуют специальную программу, которая заставляет видеокарту выполнить какое-либо действие и сравнивает состояние видеочипа до и после. Таким скрупулёзным образом, команда за командой, теоретически можно выяснить все функции видеокарты — и, заметьте, не нарушая законы. После остаётся лишь написать собственный драйвер.

  Именно так и был создан драйвер Nouveau (читается как «нуво» - франц. новый). Разочарованные качеством первого свободного драйвера для карт Nvidia, энтузиасты потратили три года на создание достойной замены. Nouveau быстрее и лучше своего предшественника отображает 2D-графику, предоставляет частичную поддержку трёхмерных функций, а также даёт надежду на то, что 3D-графика с его помощью будет выводиться быстрее, чем с помощью драйвера официального, от самой Nvidia. Плюс, благодаря тому, что драйвер свободен, его можно распространять в составе любого линуксового дистрибутива. К настоящему моменту Nouveau имеется в Fedora, Ubuntu и нестабильной ветке Debian. Впрочем, в скором будущем, вместе с ядром 2.6.33, он появится в каждом Линуксе. Включение драйвера в Ядро позволит добиться ещё некоторых преимуществ в плане скорости и качества изображения.

  Nouveau безоговорчно заменит старый свободный драйвер nv, но пока что не может считаться полноценной альтернативой драйверу официальному, несвободному. Помочь проекту достичь поставленных целей по силам каждому из вас: сбор данных, необходимых для реверс-инжиниринга — задача несложная, для этого в рамках проекта разработаны простые в обращении инструменты (в частности, утилита ReNouveau). Пора приступать и к экспериментам с самим драйвером: релиз-кандидат нового ядра давно доступен (ищите на kernel.org). Успехов вам!

------------------------------------------------------------------------------------------------------------
Вы всегда можете обратиться к этой заметке, воспользовавшись адресом Knoppix.ru/200110.shtml


При частичной или полной перепечатке, переводе, переработке
материалов cайта ссылка на Knoppix.ru обязательна
(c) Knoppix.ru 2003 - 10