LINUX.ORG.RU
ФорумTalks

История открытых и закрытых драйверов видеокарт

 , ,


11

4

Сначала я назвал эту тему «История появления 3D-ускорения в открытых драйверах видеокарт», но 95% текста посвящено закрытым драйверам. Для открытых драйверов нужно было проделать огромную работу и новости выходили редко, наверное поэтому я запомнил мало новостей. В итоге получился исторический текст о событиях, связанными с драйверами видеокарт для Linux и FreeBSD, который, я надеюсь, окажется кому-нибудь интересным. Принимаются исправления, текст можно копировать себе, перерабатывать. Я не стал писать те новости, которые меня не заинтересовали и которые я не запомнил, а также все даты открытия очередной части спецификаций чипсетов ATi/AMD, и дат добавления очередных версий OpenGL. Последнее в драйверах для Linux появляется сразу после появления новой версии OpenGL. Все эти события я узнал благодаря периодическим заходам на сайты linux.org.ru и opennet.ru с 2008 по 2012 год. Текст разбит на части, следующие части - в первых комментариях к теме.

Предыстория.

До 2008 года всё было просто (да и в мире железа тоже всё было просто, Intel/AMD, NVIDIA/ATi). Есть открытые драйверы видеокарт, которые имеют функцию 2D-ускорения, и позволяют выставлять большие разрешения экрана. Они поставляются вместе с дистрибутивом Linux. И есть закрытые драйверы видеокарт, драйверы от производителя, которые отличаются от открытых только наличием 3D-ускорения.

1). Открытый драйвер для видеокарт NVIDIA называется nv. Написан самой NVIDIA.

2). Открытый драйвер ati написан непонятно кем. Пожалуйста, скажите, кем он написан, помогала ли компания ATi написать его, и если нет, то почему он тогда называется открытый, а не свободный? Не застал Linux в то время.

1а). Официальный драйвер NVIDIA. Поддерживает ядра Linux версии 2.4 и 2.6 (а также FreeBSD и Solaris), XFree86 и Xorg. Поставляется в виде run-файла, который универсален для всех дистрибутивов Linux для архитектур процессора x86 и x86_64. Есть 3 ветки драйвера, 7x.xx, 9x.xx и текущая, 100.xx. Поддерживается только текущая (видеокарты GeForce 6-7), а для остальных иногда выпускаются обновления, добавляющие поддержку новых версий ядре Linux и X-серверов.

Очень мало ошибок. Скорость работы 2D и 3D та же, что и в Windows. Есть возможность разгона и регулирования скорости вращения кулера. Есть поддержка SLI. Единственный недостаток драйвера NVIDIA для Linux - не поддерживается 3-way SLI - в остальном полная идентичность Windows-версии (я пишу о том времени, когда GeForce 8 с рядом новых технологий ещё не вышел).

2а). Официальный драйвер ATi. Поддерживает Linux x86 и x86_64, не знаю насчёт 2.4 и XFree86. Один раз была прекращена поддержка старых серий видеокарт - драйвер версии 8.28.8 от 2006 года. Пользователям этих видеокарт оставалось пользоваться только 2D-ускорением, потому что в закрытый драйвер не добавлялась поддержка новых версий X-сервера и ядра Linux. А значит, ветки драйвера две: 8.28.8 и текущая.

Очень много ошибок. Они проявляются во всём: повседневная работа, проиггрывание видео, медленное 3D с искажениями (артефактами), отсутствие функций 2D и 3D-ускорений, полноэкранные приложения, переключение в виртуальный терминал, спящий режим, огромные задержки (рекорд - 5 месяцев) добавления в драйвер поддержки новых видеокарт, ядер Linux и X-сервера.

У меня создаётся впечатление, что создатели драйвера были программистами низкого класса, они писали раздутый код с большим количеством ошибок и неточностей, по принципам «лишь бы скомпилировалось» и «лишь бы заплатили». Хорошо что когда я попробовал Linux, у меня была NVIDIA - а если бы была ATi, остался бы я на нём? На форумах можно было увидеть такую аналитику, «в мире открытого ПО тысячи программистов высокого класса. Но они бессильны перед видеоадаптерами от ATi: реверс-инжиниринг драйверов для таких устройств, как видеокарты, очень сложен. Вот открыли бы ATi спецификации - и сообщество сразу бы написало драйвер получше, чем у них!».

Вот такая предыстория. А теперь история.

2006 год.

1). Компания AMD приобретает компанию ATi. Качество драйверов для Linux начинает расти. В среде компьютерных специалистов появляется неопределённость. Раньше были фанаты:

  1. Процессоров Intel и видеокарт NVIDIA
  2. Процессоров Intel и видеокарт ATi
  3. Процессоров AMD и видеокарт NVIDIA
  4. Процессоров AMD и видеокарт ATi

А теперь или приходилось вторым и четвёртым фанатам менять убеждения и становиться первыми и третьими, или смириться и приобретать оборудование от компании, ставшей соперником другой предпочитаемой компании.

2). Начинается разработка открытого драйвера nouveau, попытки добавить в открытый драйвер nv 3D-ускорение путём реверс-инжиниринга закрытого драйвера.

3). Поддержка видеокарты GeForce 8 появилась, по традиции, сразу после выхода этих видеокарт: 2D-ускорение, 3D-ускрнеие, разгон. Новые технологии CUDA, PureVideo и PhysX, задерживались. Также задерживалось появление поддержки 2D-ускорения для GeForce 8 в открытом драйвере nv, но тогда это ещё никого не волновало: ничего, добавят потом.

2007 год.

1). Свершилось открытие первой части спецификаций видеокарт ATi. Сообщество пользователей Linux ликует! В то, что это действительно случилось, трудно поверить! Разумеется, основная цель этого действия то, что это позволит улучшить работу ПО на видеокартах ATi, а не создание открытого видеодрайвера для Linux, но и для Linux это огромный подарок! Те, кому не терпится получить хороший драйвер для видеокарты ATi интересуются, почему открыли спецификации, а не готовый исходный код драйвера.

2). В первую же неделю после этого появляется открытый видеодрайвер RadeonHD, отличие которого от ati - начальная поддержка 3D-ускорения. После тестирования она была перенесена в ati. Разработчикам RadeonHD давали очереные части спецификаций раньше, чем сообществу, под условиями неразглашения. В RadeonHD появлялись новые функции, и ускорение старых, раньше, чем в ati. Кроме того, ati был стабильнее. Над открытым драйвером трудятся несколько сотрудников компаний AMD и Novell в режиме полного рабочего дня.

3). Появление NVIDIA CUDA одновременно для Windows и Linux. Логично: учёные вряд ли станут держать вычислительные кластеры под Windows. И сразу после появления CUDA во всех новостях о релизах драйвера NVIDIA появляются тонны исправлений CUDA, и так несколько лет. Года два как утихло, наверное. Также странным является способ распространения NVIDIA CUDA для Linux. Для Windows это два файла, 32 и 64-битная программа установки. Для Linux это 12 файлов, для 6 популярных дистрибутивов Linux! И ладно бы ещё были пакеты в родном для дистрибутива формате, RPM/DEB! Но нет: каждый установщик имеет формат run. Странно: run-файл драйвера один для всех дистрибутивов Linux, хотя сделать один файл для всех версий ядра Linux и X-сервера непросто. А здесь их 6! Впервые пользователи Linux столкнулись с таким отношением компании NVIDIA к себе. Список поддерживаемых дистрибутивов Linux. Технология NVIDIA PureVideo задерживается.

Сегодня ситуация не изменилась. Существует библиотека NVIDIA Cg, для игр, есть версия для Linux. Так даже её теперь распространяют не в tar.gz, а в RPM/DEB/tar.gz, а NVIDIA CUDA 4.2 - в 6 run-файлах.

★★★★★

Последнее исправление: ZenitharChampion (всего исправлений: 4)

Ответ на: комментарий от ZenitharChampion

Я таким вопросом не занимался, думаю что в принципе можно, но опять же не без граблей.

Я вообще не понимаю смысла в даунгрейде.

BTW, спасибо, что напомнил - надо скачать opensuse 12.2 beta.

ekzotech ★★★★
()
Ответ на: комментарий от ekzotech

А мне - предзаказать двуслойный DVD, пока есть предзаказ и пока евро не подорожал. А то решил в последний день купить Humble Bundle, а доллар стоит уже не 30, а 33 рубля, и пришлось сделать пожертвование стоимостью ниже, чем у среднего по Linux. Я спрашивал потому что было интересно: если Windows точно не умеет обновляться в обратную сторону, умеет ли это какой-нибудь Linux.

ZenitharChampion ★★★★★
() автор топика
Ответ на: комментарий от ZenitharChampion

Наверняка что-то есть, но я этой информацией не обладаю.

P.S. DVD у opensuse? Я давненько диски не тыкал. Всё флешки да интернет.

ekzotech ★★★★
()

Местами написано очень спорно, есть ошибки, но молодец. Лучше пиши еще что-то подобное, чем разводить 4.2 насчет Ubuntu/Cannonical.

z00ke
()
Ответ на: комментарий от ekzotech

ну да они сразу сказали что никакой техподдержки для линукс на материнках. это всем известно все в курсе.

вброс веществ про уефи секурбут и гигабайт, мало того что не в тему так ещё и 4.2

Thero ★★★★★
()
Ответ на: комментарий от ekzotech

всё ещё не ясно причём рестриктед бут к проблемам с ацпи таблицами про которые шла речь в том обсуждении?

политика гигабайта была вполне ясна мы не будем решать линукс специфичные проблемы не нравится покупайте у других или не пользуйтесь линукс. вполне нормальная политика.

ЗЫ я в общемто тоже не рекомендую брать платы гигабайт, но кагбы и гигабайт тоже не предлагает пользоваться линуксом на своих платах.

Thero ★★★★★
()
Ответ на: комментарий от DNA_Seq

это всё о целях и мотивациях другого уровня. из рамки.

Thero ★★★★★
()
Ответ на: комментарий от Thero

проблемам с ацпи таблицами про которые шла речь в том обсуждении

Хм. Я точно помню разговор про то, что gigabyte не будут отключать secure boot и это якобы вызовет невозможность загрузки linux на их платах, поэтому они предложили не пользоваться линуксом или брать для линукса платы других производителей.

Ладно, мой косяк, я не просмотрел полностью тему, на которую дал линк.

P.S. Я беру и рекомендую asus, из пары десятков собранных компов ни у одного не было проблем с железом, а вот с abit и ещё кем-то поимел проблем, вплоть до неработающего 4-го слота ОЗУ (с 3 планками включается, с 4 - нет, сначала списал на брак, пошёл заменил; пришёл домой - а оно опять не включается. Пошёл доплатил и взял asus)

ekzotech ★★★★
()
Ответ на: комментарий от ekzotech

нет разговор тогда был не про секурбут. хотя когда секурбут был на совести производителя гигабайт сказал что мы ничего обещать не будем.

ЗЫ да асус и асрок ещё мси, абит к счастью издох(хоть и была у них 1-2 крутых платы) ну и ультимативныйвариант ориентируйтесь на истории успеха.

Thero ★★★★★
()
Ответ на: комментарий от Thero

асрок

Так, пардон, abit у нас когда сдох? Трабла с 4-ым слотом была в прошлом году (где-то в это же время: июнь-июль). Сейчас прочитал про Asrock и почему-то кажется, что таки это беда была с Asrock, а не abit.

ekzotech ★★★★
()

если бы была ATi, остался бы я на нём

Я свой радик Х800 сменил на GT220 ради линукса.

MihailP ★★
()
Ответ на: комментарий от ekzotech

хм точно не знаю года 4 назад.. асрок в общем то нынче вполне догнал асус.. а бракованными даже мси бывают -_-

Thero ★★★★★
()
Ответ на: комментарий от Thero

Я как-то больше склонен покупать мат.платы asus. С ноутами у них похуже выходит (в моём asus k40ab они навелосипедили будь здоров с этими 2 видеокартами).

Жаль, что в Россию не возят у нас Sapphire (по крайней мере я их не видел у нас в продаже) - я бы ихнюю белую плату взял :)

ekzotech ★★★★
()
Ответ на: комментарий от ZenitharChampion

На сайте есть много специалистов по открытым драйверам

Я тебя умоляю, никто из этих «спецов» до сих пор не может решить проблему с перегревом видюхи от этих открытых дров. О чем речь вообще.

Siado ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.