1

Мартин Граеслин (Martin Graesslin), один из основных разработчиков оконного менеджера KWin, опубликовал заметку о печальном состоянии открытых видеодрайверов и рассказал о тех усилиях, которые предпринимаются в проекте KDE для обхода некоторых известных проблем. По заявлению Мартина, многие из наблюдаемых пользователями крахов оконного менеджера, являются следствием ошибок в видеодрайверах.

В настоящий момент визуальные эффекты в KDE включаются только если версия установленного у пользователя видеодрайвера присутствует в специальном динамически формируемом белом списке, который создается на основе статистики о крахах в процессе инициализации OpenGL, информации о поддерживаемых драйвером OpenGL-расширений и на основании оценки в процессе работы производительности некоторых операций. В процессе работы было обнаружено, что многие драйверы заявляют о поддержке некоторых функций, на самом деле их не поддерживая, что привело к необходимости добавления дополнительных субъективных проверок функциональности.

В качестве примера приводится реализация поддержки в KDE 4.5 двух новых эффектов, требующих привлечения определенных OpenGL-шейдеров: размывание и сглаживание методом Ланцоша. С проприетарным драйвером NVIDIA проблем не возникло, но свободные драйверы дезинформировали систему о поддержке нужных функций, не выполняя их на самом деле.
http://blog.martin-graesslin.com/blog/2 … paces-4-5/

Я буду сниться тебе после смерти,  Под маской желтого шелка. Я очень тихо сыграю на флейте, И очень недолго.
  А ты пытайся в какой-то ответ  Интерпретировать звуки. (Я очень тихо играю на флейте. На грани слуха).
Я прячу в себе такую же тьму Под маской желтого шелка, Лицо собрав себе самому Из костяных осколков.

2

Помнится, тут неоднократно высказывался тезис о превосходстве открытого сообщества разработчиков над "конторскими" командами, пишушими закрытое ПО. А вот оно как на самом деле...

3 (08.09.2010 09:06:43 отредактировано AndreyMust19)

Писать самому драйвера для видеокарты... очень сложно. Надо иметь 2 машины, обладать знаниями ядра, Ring-0 команд процессора.
Было бы хорошо, если есть документация. Но ее нет! Из-за этого программист еще должен знать работу видекарт, работу визуальных эффектов, алгоритмы и многое другое.
Наконец, писание равносильно обратной инженерии и работе с черным ящиком - в регистры видеокарты пихают что-нибудь и с помощью специальных программ сохраняют все содержимое видеокарты. Потом еще раз и так далее.
Свободное ПО - хорошо, но оно хорошо, когда находится в равными с коммерческими компаниями условиях. Как раз из-за отсутствия информации (а не из-за "дурацкого" СПО) разработка драйверов видеокарт почти не двигается с места. Сейчас эта разработка равносильна попытке первобытного человека разобраться в устройстве телевизора и не сломать его. Больше всего боюсь что нормальный драйвер напишут тогда, когда эти видеокарты уже будут выходить из моды.

В Linux вы имеете компьютер.
В Windows компьютер имеет вас!

4

AndreyMust19 пишет:

Писать самому драйвера для видеокарты... очень сложно. Надо иметь 2 машины, обладать знаниями ядра, Ring-0 команд процессора.
Было бы хорошо, если есть документация. Но ее нет! Из-за этого программист еще должен знать работу видекарт, работу визуальных эффектов, алгоритмы и многое другое.

То, что программист должен быть подготовленным - это естественно. Насчет документации: та же AMD вроде как предоставила в свое время нужные спеки, после чего неоднократно громогласно объявлялось, что теперь-то открытые атишные дрова станут самыми дровавыми дровами на свете. "Где посадки?" ab

5

Опять же, в заметке рассматриваются ситуации откровенно бажной реализации драйверов, когда драйвер утверждает, что умеет делать то, на что по факту не способен или способен, но заведомо криво (через программную эмуляцию, скажем). Тут уж дело не в наличии/отсутствии спецификаций, а в самих разработчиках.

6

когда драйвер утверждает, что умеет делать то, на что по факту не способен или способен

Это значит, что драйвер еще не готов. И используете вы его на свой страх и риск, как написано в GPL.
Впрочем, тоже самое в любой другой коммерческой лицензии, но у них драйвера хотя бы готовы.

В Linux вы имеете компьютер.
В Windows компьютер имеет вас!

7

Свободные драйвера разрабатываются, зачастую, на голом энтузиазме создателей. Зачастую даже спецификаций на чипы нету, а вы хотите полную реализацию таких технологий как шейдерная обработка?
Впрочем, если смотреть на статистику развития свободных драйверов - то всё абсолютно не безнадёжно. От релиза к релизу допиливается много чего. И работает гораздо стабильней, чем проприетарное г-но.

8

Iskan Der пишет:

То, что программист должен быть подготовленным - это естественно. Насчет документации: та же AMD вроде как предоставила в свое время нужные спеки, после чего неоднократно громогласно объявлялось, что теперь-то открытые атишные дрова станут самыми дровавыми дровами на свете. "Где посадки?" smile

Ммм... 80 fps Nexuiz. Таки шейдеры все на месте  wink

9

zerg

От релиза к релизу допиливается много чего.

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

И работает гораздо стабильней, чем проприетарное г-но.

Иногда работает стабильней некоторого проприетарного г-на.

В Linux вы имеете компьютер.
В Windows компьютер имеет вас!

10

zerg пишет:

Свободные драйвера разрабатываются, зачастую, на голом энтузиазме создателей. Зачастую даже спецификаций на чипы нету, а вы хотите полную реализацию таких технологий как шейдерная обработка?

Мотивация разработчиков и условия их работы конечному пользователю, как правило, неинтересны, ему нормальный софт нужен. Опять же, как было отмечено, и спеки есть (не для всех, но у тех, для кого есть, все тоже не очень круто), и проблемы далеко не всегда дефицитом спек вызваны.

11

Вот нашел на что свалить кривзну кде4.5. Ай да молодец, Мартин!