Компания NVIDIA представила новую ветку проприетарного видеодрайвера NVIDIA 319.12, в которой реализована большая порция новшеств. Драйвер доступен
для Linux, FreeBSD и Solaris. Ветка 319.12 пока позиционируется как
бета-выпуск, придание статуса релиза ожидается после проведения
дополнительного тестирования и стабилизации кода.
Наиболее заметным улучшением стала реализация технологии 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:
|