Компания AMD опубликовала выпуск проприетарного драйвера AMDGPU-PRO 16.50 для Linux, основанного на свободном модуле ядра AMDGPU, развиваемого в рамках инициативы по унификации графического стека AMD для проприетарных и открытых видеодрайверов. Драйвер сформирован для Ubuntu 16.04, RHEL/CentOS 7.3, RHEL/CentOS 6.8 и SLED/SLES 12 SP2.

Выпуск примечателен поддержкой новых GPU на базе микроархитектуры GCN 1.0, таких как AMD Radeon R7 M465X/M370/M350, а также поддержкой DirectGMA для OpenGL и технологии FreeSync. Из возможностей драйвера отмечается поддержка API OpenGL 4.5, GLX 1.4, OpenCL 1.2, Vulkan 1.0 и VDPAU, наличие базовых средств для управления экраном и питанием, поддержка интерфейсов KMS (Kernel Mode Setting) и ADF (Atomic Display Framework), совместимый с лицензией GPL модуль ядра, поддержка возможностей FirePro (управление EDID и 30-разрядная цветность).

Кроме того, компания AMD подготовила достаточно большой патч для поставляемого в составе ядра Linux модуля AMDGPU, переработав код управления отображением (DC, Display Core) для обеспечения поддержки будущего поколения GPU (uGPU), а также добавив ряд новшеств, таких как средства для организации вывода звука через HDMI и DisplayPort. Размер изменений составил около 100 тысяч строк кода.

В ответ на предложенный патч, Дэвид Эйрли (David Airlie), работающий в компании Red Hat и отвечающий в Linux-ядре за поддержку DRM (Direct Rendering Manager), отказался принимать подобные изменения, пояснив, что AMD пытается вместо использования унифицированного для всех драйверов интерфейса интегрировать свой собственный слой для обеспечения взаимодействия с оборудованием (HAL). Подобные специфичные решения затрудняют понимание логики работы кода и замедляют развитие DRM (Direct Rendering Manager). Эйрли не может принять такие изменения, так как это подорвёт доверие Линуса, сообщества разработчиков графических систем и участников разработки DRM-драйверов.

Вместо того, чтобы работать вместе с сообществом и с учётом его интересов, компания AMD продолжает замыкаться на своих внутренних надстройках, необходимых для решения частных проблем компании (попытка унификации с драйвером для Windows). По мнению Эйрли, если AMD необходимо обеспечить поддержку дополнительной функциональности, такой как FreeSync или новых возможностей HDMI, это следует делать совместно, путем расширения существующих интерфейсов и консультируясь с другими разработчиками, а не за закрытыми дверями придумывать новые уровни абстракции и создавать специфичные для одного драйвера ioctl. AMD по сути не участвует в развитии Linux-стека и не использует его, продвигая свои специфичные решения. Если эти решения нужны только AMD, а для других они бесполезны, нет смысла включать такие изменения в основное ядро.

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