Главная » 2013 » Май » 11 » Релиз проприетарного драйвера NVIDIA 319.17 с поддержкой Optimus и RandR 1.4
14:09
Релиз проприетарного драйвера NVIDIA 319.17 с поддержкой Optimus и RandR 1.4
Компания NVIDIA представила выпуск 319.17, который ознаменовал перевод ветки проприетарного видеодрайвера NVIDIA 319.x в разряд сертифицированных стабильных выпусков. Драйвер доступен для Linux, FreeBSD и Solaris.
По сравнению с прошлой стабильной веткой в NVIDIA 319.x добавлены следующие новшества: [ul]
[li class=l] Начальная реализация технологии Optimus для платформы Linux, позволяющей обеспечить работу на ноутбуках со встроенной энергоэффективной видеокартой на базе GPU Intel и дискретной картой NVIDIA. При незначительной нагрузке на графическую подсистему отличающаяся высоким энергопотреблением дискретная карта может быть полностью обесточена, а вывод перенаправлен на более энергоэффективный встроенный GPU Intel, что позволяет значительно продлить время работы портативных устройств в автономном режиме.
В текущем виде драйвер NVIDIA пока не поддерживает все возможности Optimus и позволяет только осуществлять рендегинг на GPU NVIDIA и транслировать вывод через LCD-порт, подключенный к GPU Intel. Пока не поддерживается управление питанием (невозможно обесточить карту NVIDIA), невозможен вынос отдельных операций рендеринга на GPU NVIDIA с использованием GPU Intel для рендеринга рабочего стола, невозможно без запуска отдельного X-сервера организовать горячее перенаправление вывода с порта, подключенного к GPU Intel (LCD-экран ноутбука), на порт, связанный с GPU NVIDIA (внешний монитор). По сути в настоящий момент GPU Intel в связке с проприетарным драйвером NVIDIA ограничен лишь функциями вывода, без возможности экономии энергии за счёт задействования чипа NVIDIA только при необходимости для выполнения рендеринга интенсивно манипулирующих графикой приложений.
Пример настройки конфигурации X-сервера для работы Optimus можно найти на данной странице. Для работы Optimus необходимо наличие X.Org Server 1.13 и ядра Linux 3.9, собранного с опцией CONFIG_DRM, включающей поддержку функций-хелперов gem_prime_* и gem_drm_*. Указанные хелперы внесены в ядро разработчиками NVIDIA и позволяют использовать абстрактный набор простых вызовов, независимых от низкоуровневой реализации поддержки PRIME. Данные вызовы помогли организовать взаимодействие свободных драйверов с проприетарным драйвером NVIDIA без прямого обращения к API DMA-BUF, что позволило избежать нарушения лицензии GPL (стандартные функции DMA-BUF [a [a= href=href= http:= www.opennet.ru= opennews= art.shtml?num=35067 =]отнесены[/url] в ядре Linux к категории внутренних интерфейсов, которые экспортируются в группе EXPORT_SYMBOL_GPL, ограничивающей возможность использования только для модулей ядра, распространяемых под лицензией GPL).
[/li][li class=l] Реализация расширения RandR 1.4, в котором добавлены объекты для выноса на дополнительные GPU операций рендеринга и отображения, что может использоваться для горячего перенаправления вывода на другое устройство или для организации совместной работы нескольких GPU, когда один GPU используется для вывода, а второй для рендеринга сцен (например, вывод осуществляется через USB-адаптер DisplayLink, а рендеринг на GPU NVIDIA). Данная возможность использована для обеспечения работы Optimus и также пока ограничена в своих возможностях;
[/li][li class=l] Поддержка создания инсталлятором заверенных цифровой подписью модулей ядра с компонентами драйвера NVIDIA, которые можно использовать в режиме верифицированной загрузки при использовании UEFI Secure Boot; [/li][li class=l] В состав включена новая утилита nvidia-modprobe, устанавливаемая с правами setuid root и используемая компонентами драйвера для управления загрузкой модуля ядра и создания необходимого для взаимодействия с ним символьного устройства. По умолчанию по прежнему используются штатные средства дистрибутивов по загрузке модулей и созданию устройств, а утилита позиционируется как запасной вариант при их недоступности; [/li][li class=l] Реализация режима панорамирования RandR 1.3 и добавление MetaMode-атрибутов PanningTrackingArea и PanningBorder; [/li][li class=l] Добавление RandR-свойств Border и BorderDimensions для регулировки края области вывода (например, можно задать область вывода меньше фактического размера экрана для компенсации забегания развёртки). Похожие настройки добавлены в конфигуратор nvidia-settings; [/li][li class=l] Поддержка профилей приложений (Application Profiles) для клиентских компонентов GLX, позволяющих привязать к конкретному пользовательскому приложению или процессу индивидуальный набор настроек; [/li][li class=l] В панель конфигуратора NVIDIA Settings добавлена страница для настройки параметров VDPAU, позволяющая управлять задействованием различных особенностей GPU по декодированию видео;
[/li][li class=l] Поддержка динамического управления видеорежимами через опции RandR: --newmode, --rmmode и --delmode;
[/li][li class=l] Реализация новых опций для секции Monitor в xorg.conf: Ignore, Enable, Primary и Rotate. Например, опцию Rotate можно применять для автоматического поворота вывода для монитора с заданным идентификатором EDID: [pre][font color=#461b7e] Section Monitor Identifier DPY-EDID-ee6cecc0-fa46-0c33-94e0-274313f9e7eb Option Rotate left EndSection [/font][/pre]
[/li][li class=l] Поддержка восстановления EFIFB-консолей на системах UEFI с портами вывода VGA, DVI, HDMI, LVDS или DP; [/li][li class=l] Добавление дополнительной отладочной информации в OpenGL библиотеки NVIDIA, в том числе информации о содержимом стека; [/li][li class=l] Увеличена производительность HyperMesh для ряда моделей GPU серии Quadro. Улучшена производительность при отключенной опции Accel;
[/li][li class=l] Включение в состав процесса-демона nvidia-persistenced, предназначенный для организации предварительной загрузки модуля NVIDIA для ядра Linux ещё до запуска компонентов драйвера, работающих на уровне пользователя. Указанная возможность позволяет ускорить запуск компонентов драйвера NVIDIA; [/li][li class=l] Директория /usr/lib/modprobe.d добавлена в список путей, в которые инсталлятор может опционально установить конфигурационные файлы для modprobe, отключающих драйвер Nouveau.
[/li][li class=l] Устранена большая порция ошибок и недоработок. [/li][/ul]