1

Компания AMD рассматривает возможность более открытой разработки видеодрайвера Catalyst.

По информации, полученной на проходившей недавно конференции Game Developer's Conference, компания AMD рассматривает достаточно интересную стратегию развития драйвера Catalyst. Общая идея состоит в том чтобы избавиться от собственного модуля для ядра, использовав вместо него DRM-инфраструктуру (Direct Rendering Manager) ядра Linux и модуль открытого драйвера Radeon. При этом функциональность специфичная для проприетарного драйвера останется только в компонентах, выполняемых в пространстве пользователя, так что для драйвера не будет требоваться проприетарный модуль ядра.

Ожидается, что подобный подход может устранить множество проблем с поддержкой различных дистрибутивов Linux и разных версий ядер. В том числе реализация драйвера Catalyst целиком в пространстве пользователя снимет ограничения на использование интерфейсов ядра Linux, доступных только для модулей под лицензиями, совместимыми с GPL (группа EXPORT_SYMBOL_GPL), так как они не распространяются на user-mode компоненты, работающие через свободный модуль ядра. Кроме этого, для установки драйвера не будет требоваться работоспособный компилятор, способный собрать модуль ядра.

Тем не менее, отмечается, что данные планы весьма предварительны, так как на пути к реализации данной идеи могут возникнуть многочисленные трудности:

  • Компоненты Catalyst (реализация OpenGL и DDX драйвер) нуждаются в существенном рефакторинге для того чтобы использовать открытый модуль ядра вместо проприетарного.

  • Линус Торвальдс отрицательно относится к изменениям, которые ломают совместимость интерфейсов с существующим кодом. Поэтому маловероятно, что в ядро будут приняты изменения, которые нарушают работу драйверов R300/R600/RadeonSI. Это означает, что большинство изменений должно делаться на стороне драйвера Catalyst.

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

  • В открытом модуле пока не реализованы некоторые возможности, которые нужны Catalyst. Наиболее проблемными считаются CrossFire / Dual Graphics, поддержка OpenGL stereo, реализация улучшенных режимов AA/AF, OverDrive / overclocking и прочие возможности, которые предоставляет Catalyst Control Center. Кроме того, поддержка OpenCL также в данный момент не полная. С другой стороны, Catalyst например не умеет предоставлять интерфейс к блоку аппаратного кодирования видео в новых GPU (VCE - Video Coding Engine). Это является результатом того, что 2 команды работают достаточно независимо и поэтому принимали разные решения о том, какие интерфейсы они предоставляют.

  • Возможны юридические проблемы с некоторым кодом. Например, ставится под вопрос возможность реализации DRM (средства защиты авторских прав) в виде открытого кода. DRM можно реализовать через дополнительный проприетарный модуль ядра, выполняющий дополнительные функции и не являющийся обязательным, однако это все-равно аннулирует ранее упомянутые плюсы, проявляющиеся при избавлении от проприетарного модуля.

  • Если некоторые интерфейсы/ioctl используются только закрытым драйвером, апстрим может отвергнуть такие патчи. Ранее в ядре Linux уже применялась практика при которой патчи в ядро отвергались в случае когда данным кодом пользовались только проприетарные компоненты в пространстве пользователя (наиболее ярким примером является VIA Chrome 9 DRM).

  • Для драйвера Catalyst достаточно приоритетен корпоративный рынок. Это означает, что довольно много изменений придется портировать в старые ядра.

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

  • Исторически, открытые драйверы появлялись только после появления оборудования на рынке, что приводило к некоторой задержке в появлении поддержки новых моделей GPU в открытых драйверах, особенно при существенном изменении архитектуры. Упомянутый подход потребует заметно пересмотреть подобную практику, перейдя к добавлению поддержки в открытый модуль до выпуска новых моделей видеокарт на рынок. Дело усложняется тем, что новый код в ядро Linux принимают только во время окна приема изменений. Это означает необходимость учитывать даты, связанные с разработкой ядра Linux, и синхронизировать свои рабочие процессы с этими датами. Ситуация усугубляется еще и тем, что юридический отдел достаточно долго рассматривает выпуск исходных текстов.

Также отмечается, что многие пользователи интересуются почему AMD не открывает драйвер целиком. Наиболее вероятной версией называлась собственность третьих фирм. Однако, утверждается, что это не самая значительная проблема. Более того, драйвер был лицензирован неназванным третьим сторонам. Из наиболее проблемных моментов выделяются опасения что конкуренты смогут использовать трюки и оптимизации в реализации OpenGL.



Источник: http://www.opennet.ru/opennews/art.shtml?num=39380

2

Верной дорогой идут товарищи.

3

А вот nVidia чего-то не слышно. Интересно, почему они не хотят постепенно открывать свои закрытые драйвера?

Fedora 21 Workstation KDE 4.14.4
Gigabyte GA-Z77-D3H, Intel Core i5-3470, nVidia GeForce GTX 660 2GB, 8GB RAM, 1TB HDD

4

Может, потому что устройства и драйверы nVidia лучше работают, и им не нужно никого завлекать громкими заявлениями? Все мои попытки отказаться от nVidia в пользу AMD неизменно оканчивались одним выводом: хочешь жить и работать спокойно, даже не думай про AMD.

openSUSE Leap 15.1

5

Если они сделают это, то будет бомба!

При укусе ядовитой змеи, держите её голову на расстоянии от себя, чтобы она не укусила вас в ответ...

6

До AMD наконец дошло, что одна фирма не в состоянии угнаться за всем миром, или мне только кажется? ИМХО проприетарное ПО сейчас все теряет жизнеспособность, то есть, уже давно пора ломать стереотипы и переходить на открытый честный бизнес.

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

7 (25.03.2014 00:06:12 отредактировано ZhuK)

yars пишет:

До AMD наконец дошло, что одна фирма не в состоянии угнаться за всем миром

странно то, что у другой

gabix пишет:

устройства и драйверы nVidia лучше работают, и им не нужно никого завлекать громкими заявлениями?

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

gabix пишет:

устройства и драйверы nVidia лучше работают

ну да, вот только в PS предпочтительнее будет ATI с OpenCL. )) но это уже по вкусу добавлять. кстати, GIMP уже задружился с GPU или все также, скажем дружно - нам нинужно?

yars пишет:

ИМХО проприетарное ПО сейчас все теряет жизнеспособность

не холивара ради, ибо уже давно определились и вы и я в своих предпочтениях, в чем же выражена потеря жизнеспособности? можно даже в личку. подумаю на досуге, поищу подтверждения. давно жду открытости программ от adobe. )))
P.S. в качестве подписи это реальная конфигурация вашего железа или так, посмеяться ради?

8

У Нвидиа с этим вовсе не всё в порядке. Постоянные проблемы с обновлением на новые ядра, например.

9

это реальная конфигурация вашего железа

Да.
Adobe разве не открыла pdf? Но в целом, согласен.
Кроме: на моем железе оффтопик ⅞ просто не взлетит. А Slackware по потреблению памяти и по отзывчивости в целом сравнима с оффтопикомХР. Разве это не показатель жизнеспособности проприетарщины?

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

10

Vascom пишет:

Постоянные проблемы с обновлением на новые ядра, например.

Никогда не замечал, разве что запаздывает выход kmod под новое ядро.

Fedora 21 Workstation KDE 4.14.4
Gigabyte GA-Z77-D3H, Intel Core i5-3470, nVidia GeForce GTX 660 2GB, 8GB RAM, 1TB HDD

11

Ну вот 40 страниц обсуждения проблем с этим проприетарным драйвером Нвидиа, начиная с конца 2009 года.
http://forum.russianfedora.pro/viewtopi … amp;t=1350

12

yars пишет:

Разве это не показатель жизнеспособности проприетарщины?

ну разве что сравнимо с построением коммунизма в отдельно взятой стране. ))) а вот если взять мой случай - увлечение фотографией, то на таком конфиге не взлетит ни одна прога, ни открытая ни закрытая. ну может и взлетит, но работа превратиться в ад. )) слишком уж они ресурсоемкие эти графические редакторы.
по адобу - я имел ввиду несколько другие проги. )))

13

ZhuK, ну как-то Gimp у меня работает, хоть и да, медленно. Это я про "взлетит/не взлетит". Но работать можно. Плюс, у меня есть Dip Trace, под Wine вполне себе бегает, кушать не просит, и 12309 меня стороной обошел :-)

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

14

yars пишет:

Dip Trace

ну совсем нересурсоемкое. так что не принимается. ))))

yars пишет:

ну как-то Gimp у меня работает, хоть и да, медленно

не, "как-то" меня не устраивает - люблю комфорт. )

yars пишет:

и 12309 меня стороной обошел :-)

а меня и подавно. )

15

yars пишет:

12309

Его так и не устранили? У меня наблюдаются тормоза, при копировании большого количества информации с носителя на носитель.

Fedora 21 Workstation KDE 4.14.4
Gigabyte GA-Z77-D3H, Intel Core i5-3470, nVidia GeForce GTX 660 2GB, 8GB RAM, 1TB HDD

16

kirillov3798, похоже, что нет, но у меня не наблюдается.

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

17 (25.03.2014 20:52:06 отредактировано kirillov3798)

Простите, что отклоняюсь от темы.
[offtop]

CryEngine для Linux - это порт оригинального движка со встроенным транслятором Direct3D 11 в OpenGL 4.3, на подобии того, что использует Valve.

Это получается игры под Linux будут использовать DirectX, который будет транслироваться в OpenGL?
[/offtop]

Fedora 21 Workstation KDE 4.14.4
Gigabyte GA-Z77-D3H, Intel Core i5-3470, nVidia GeForce GTX 660 2GB, 8GB RAM, 1TB HDD

18

kirillov3798, уже так и происходит. В Linux нет официальной реализации DirectX, есть свободная реализация как часть библиотеки Mesa, полученная реверсом кода DX. На практике она не используется, а весь рендеринг осуществляется средствами OpenGL.

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580