Компания NVIDIA выпустила значительное обновление видеодрайвера с поддержкой Optimus
Наиболее заметным улучшением стала реализация технологии Optimus для платформы Linux, позволяющая на лету переключаться между встроенной энергоэффективной видеокартой на базе GPU Intel и дискретной картой NVIDIA. При незначительной нагрузке на графическую подсистему отличающаяся высоким энергопотреблением дискретная карта полностью обесточивается, а вывод перенаправляется на более энергоэффективный встроенный GPU Intel, что позволяет значительно продлить время работы портативных устройств в автономном режиме.
Вторым важным новшеством, сопутствующим поддержке Optimus, стала реализация расширения RandR 1.4, в котором добавлены объекты для выноса на дополнительные GPU операций рендеринга и отображения, что может использоваться для горячего перенаправления вывода на другое устройство или для организации совместной работы нескольких GPU, когда один GPU используется для вывода, а второй для рендеринга сцен (например, вывод осуществляется через USB-адаптер DisplayLink, а рендеринг на GPU NVIDIA). Данная возможность использована для обеспечения работы Optimus.
Пример настройки конфигурации 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 отнесены в ядре Linux к категории внутренних интерфейсов, которые экспортируются в группе EXPORT_SYMBOL_GPL, ограничивающей возможность использования только для модулей ядра, распространяемых под лицензией GPL).
Другие улучшения, добавленные в NVIDIA 319.12:
- Поддержка GPU NVIDIA GeForce GTX 650 Ti BOOST;
- Поддержка создания инсталлятором заверенных цифровой подписью модулей ядра с компонентами драйвера NVIDIA, которые можно использовать в режиме верифицированной загрузки при использовании UEFI Secure Boot;
- В состав включена новая утилита nvidia-modprobe, устанавливаемая с правами setuid root и используемая компонентами драйвера для управления загрузкой модуля ядра и создания необходимого для взаимодействия с ним символьного устройства. По умолчанию по прежнему используются штатные средства дистрибутивов по загрузке модулей и созданию устройств, а утилита позиционируется как запасной вариант при их недоступности;
- Реализация режима панорамирования RandR 1.3 и добавление MetaMode-атрибутов "PanningTrackingArea" и "PanningBorder";
- Добавление RandR-свойств Border и BorderDimensions для регулировки края области вывода (например, можно задать область вывода меньше фактического размера экрана для компенсации забегания развёртки). Похожие настройки добавлены в конфигуратор nvidia-settings;
- Поддержка профилей приложений (Application Profiles) для клиентских компонентов GLX, позволяющих привязать к конкретному пользовательскому приложению или процессу индивидуальный набор настроек;
- В панель конфигуратора NVIDIA Settings добавлена страница для настройки параметров VDPAU, позволяющая управлять задействованием различных особенностей GPU по декодированию видео;
- Поддержка динамического управления видеорежимами через опции RandR: "--newmode", "--rmmode" и "--delmode";
- Реализация новых опций для секции Monitor в xorg.conf: "Ignore", "Enable", "Primary" и "Rotate". Например, опцию "Rotate" можно применять для автоматического поворота вывода для монитора с заданным идентификатором EDID:
Section "Monitor" Identifier "DPY-EDID-ee6cecc0-fa46-0c33-94e0-274313f9e7eb" Option "Rotate" "left" EndSection
- Интерфейс командной строки утилиты nvidia-settings расширен поддержкой указания имён устройств вывода, например: "nvidia-settings -q [DVI-I-0]/RefreshRate" и "nvidia-settings -q [GPU-1.DVI_I-1]/RefreshRate";
- Поддержка восстановления EFIFB-консолей на системах UEFI с портами вывода VGA, DVI, HDMI, LVDS или DP;
- Добавление дополнительной отладочной информации в OpenGL библиотеки NVIDIA, в том числе информации о содержимом стека;
- Увеличена производительность HyperMesh для ряда моделей GPU серии Quadro;
- Улучшена производительность при отключенной опции Accel;
- Устранена большая порция ошибок и недоработок.
Дополнение: В блоге проекта Bumblebee, в рамках которого развивается независимая реализация поддержки технологии NVIDIA Optimus в Linux, опубликована заметка с описанием ограничений возможностей проприетарного драйвера NVIDIA 319.12 в плане горячего переключения между GPU. В текущем состоянии драйвер NVIDIA позволяет осуществлять рендегинг только на GPU NVIDIA и транслировать вывод через LCD-порт, подключенный к GPU Intel. В настоящий момент не поддерживается управление питанием (невозможно обесточить карту NVIDIA), невозможен вынос отдельных операций рендеринга на GPU NVIDIA с использованием GPU Intel для рендеринга рабочего стола, невозможно без запуска отдельного X-сервера организовать горячее перенаправление вывода с порта, подключенного к GPU Intel (LCD-экран ноутбука), на порт, связанный с GPU NVIDIA (внешний монитор).
Источник: http://www.opennet.ru/opennews/art.shtml?num=36647
|
0 | Tweet | Нравится |
|