Nvidia optimus display driver что это

Обновлено: 17.05.2024

Компьютерной игре требуется высокая производительность графической подсистемы. Очевидно, что для игр выделенная графика подходит гораздо лучше, чем интегрированная. Даже в не самой требовательной игре, такой как World of Warcraft, интегрированный графический адаптер вряд ли обеспечит приемлемую частоту смены кадров при высоком качестве графики, в то время как любой современный дискретный GPU обеспечит значительно более высокую скорость и качество. Как работает NVIDIA Optimus. Пользователь запускает игру. NVIDIA Optimus распознает ее запуск и переключает ноутбук на выделенный графический адаптер для повышения производительности. Если игра будет поставлена на паузу на длительный период времени, выделенный GPU будет выключен для сбережения энергии до тех пор, пока игра не будет снята с паузы.

Компьютеры с интегрированной графикой при конвертировании видео вынуждены полагаться исключительно на производительность центрального процессора. С другой стороны, системы с GPU производства NVIDIA способны снять нагрузку с процессора за счет использования технологии CUDA. Как действует NVIDIA Optimus. Распознается запуск приложения, поддерживающего NVIDIA CUDA, и ноутбук переключается на выделенный графический адаптер. Как только это приложение будет закрыто, происходит обратное переключение на интегрированную графику для снижения энергопотребления.

При работе в Сети, например, просмотре web-страниц, электронной почты и т.д., производительность графического адаптера остается незадействованной. Фактически, система с интегрированной графикой в таких условиях ни в чем не уступает системе с выделенным GPU, значительно превосходя ее в энергосбережении. Однако при воспроизведении контента использующего Adobe Flash 10.1, и особенно - потокового HD-видео, выделенное видеоядро может очень даже пригодиться. Как действует NVIDIA Optimus. Пользователь запускает web-браузер. Драйвер Optimus видит, что ресурсоемких приложений не запущено, поэтому внешний видеоадаптер остается выключенным. Благодаря этому, система потребляет меньше энергии и обеспечивает длительное время автономной работы. В то же время, производительность остается вполне достаточной для просмотра web-страниц. Однако если пользователь заходит на страницу с потоковым флэш-видео, например, Youtube, то NVIDIA Optimus распознает, что включение выделенного графического процессора может поднять производительность и качество воспроизведения роликов Adobe Flash 10.1, и включает выделенный видеоадаптер.

Послесловие

Если вы прочли всю статью, то вы герой (ну, или модератор).

При написании статьи я старался разбавлять её для Вас относительно смешными шутками, чтобы как-то оправдать отсутствие картинок в ней. Надеюсь, что вы достигли дзена после прочтения.

Благословите Nouveau, или про мои мучения с Nvidia Optimus. Часть 1. Прелесть документации Arch

До поры до времени я был обычным линуксоидом. Тестил разные дистрибутивы, потихоньку узнавал новое. Просто потому, что мне было интересно. Как правило, «знания» ограничивались Ubuntu и её форками, а также Fedora и ещё парой «user-friendly» дистрибутивов. Но, как гласит ещё одна латинская поговорка, omnia fluunt, omnia mutantur, то есть все течёт, всё меняется, и понятно, что так не могло продолжаться вечно.

Всё хорошо начиналось

Следует отметить, что у меня было не очень большое раздолье для экспериментов: относительно слабый ПК, который еле-еле тянул GNOME 3, и медленный интернет, который сильно усложнял общую ситуацию. Но тогда большего для мальчика 12 лет и не нужно было. В конце концов мне надоело экспериментировать, я установил Windows 10 и на несколько лет забыл о Linux.

Время шло, и где-то через 2 года я понял, что пришло время обновить мой замшелый кусок железа ПК, и начал копить деньги. Что-то выручил с продаж своих вещей, что-то дарили, более половины суммы накинули родители, пришлось даже принести в жертву продать свой Xbox(!) потешить своё ЧСВ повысить skill'ы в Linux. На этот раз решил попытаться установить Arch. Слышал, что у него очень хорошая документация. И начал.

Прелесть документации Arch

Установка прошла быстро и относительно безболезненно. Опять же, благодаря документации. После установки системы и DE в лице KDE Plasma, я попробовал подключить ноутбук к своему внешнему монитору, поскольку у монитора диагональ 24' а у дисплея ноутбука только 15,6'. Ничего не произошло, на монитор сигнал не поступил. Как всегда, я начал гуглить. И после 30 мин поисков я обнаружил, что проблема связана с технологией Nvidia Optimus.

Немного о Nvidia Optimus

Nvidia — хорошая компания. За свою 25-летнюю историю они реализовали немало относительно хороших решений. Nvidia Optimus — одно из таких. Сабж представляет собой гибридную технологию для обеспечения корректной работы двух видеокарт(как правило, мощной графики Nvidia и встроенной Intel) на ноутбуках. Если она работает в Windows правильно настроена, она помогает сберечь электроэнергию и ресурсы ноутбука. Всё это отлично, но что натолкнуло меня на написание сего опуса, так это то, что эта распрекраснейшая технология в Linux по словам разработчиков работает только частично, а по моим её настройка требует много, много нервов, времени и сил.

Прелесть документации Arch(продолжение)

После того, как я узнал об истинном корне проблемы, я поначалу обрадовался что определил «где собака зарыта»(HDMI-выход был только у карты Nvidia), и первым моим шагом было чтение официальной документации Arch. Суть её заключалась в том, чтобы при помощи редактирования xorg.conf и .xinitrc заставить X использовать только карту Nvidia. После выполнения указанных шагов и перезагрузки… появился черный экран. В документации говорилось, что в таком случае необходимо проверить, нет ли в .xinitrc амперсандов, а если их нет, использовать «Альтернативную конфигурацию», которая заставляла X использовать только карту Intel. Это меня не устроило, поскольку карта Intel уже использовалась по умолчанию и этот вариант мне не подходил. Также были варианты для различных DM. Они также не подошли, так как ни один из них по разным причинам не мог запустить X-сервер.
Описывать каждый из них отдельно было бы очень длинным и бессмысленным занятием.

Qui quaerit, reperit

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

Я был в отчаянии. Два дня я тщетно пытался найти решение, рыскал по зарубежным форумам(только по ним, поскольку на православном ЛОРе ответ был таков: Вы никак не запустите X через Nvidia. Это невозможно, смиритесь). Но всё-таки, пасмурным утром третьего дня поисков я наткнулся на тред(ссылка в подвале) на девелоперском форуме Nvidia, в котором было расписано, как Nvidia Optimus имплементируется в Arch на ноутбуках Dell. Я сразу же понял — я спасён! Выполнив шаги, я перезапустился и… черный экран. Безусловно, я расстроился, но тут я вспомнил: я же не прописал в .xinitrc строки для запуска DE. Прописав exec startkde, я снова перезапустился и всё заработало. X запустился через Nvidia. Долгих четыре дня ушло у меня на установку и настройку Arch, и всё же я это сделал!

Разбор полётов

Теперь давайте разберем инструкцию из вышеуказанного треда. Начнём:

Сперва необходимо включить поддержку KMS(Kernel Mode Setting, метод настройки разрешения непосредственно в ядре), добавив в параметры ядра(файл /etc/default/grub) в строку GRUB_CMDLINE_LINUX_DEFAULT= параметр


Затем создаём скрипт для DM(менеджера входа). Рассмотрим вариант с LightDM. Создаём скрипт /etc/lightdm/display_setup.sh со следующим содержанием:


Этим скриптом мы указываем поставщика и устанавливаем максимально возможное разрешение экрана.

Сделаем созданный скрипт исполняемым:


Заставим LightDM выполнять вышеуказанный скрипт при запуске. Сперва отредактируем /etc/lightdm/lightdm.conf:


Инструкцию для SDDM можете посмотреть в уже упомянутом мною треде, ссылки в подвале.

Теперь нам необходимо обновить микрокод ЦП(больше о микрокоде по ссылкам в подвале):


После обновления микрокода установим ворох пакетов от Nvidia:

Примечание: Некоторые из пакетов могут быть недоступны. В таком случае устанавливайте всё по отдельности. Пакеты, которые будут недоступны, пропускайте.

Включим демон nvidia.persistenced, отвечающий за персистентность(больше о ней читайте по ссылке в подвале) работы драйвера Nvidia:


Автоматически сконфигурируем GRUB:


Создадим загрузочный RAM-диск:


Если не вписали, впишем


После перезагрузки ноутбука логинимся под своей учетной записью и наслаждаемся миром Arch.

О Bumblebee и PRIME

Возможно, Вы заметили, что я ничего не сказал о «костылях», которые направлены на обеспечение корректной работы Nvidia Optimus в Linux: Bumblebee и PRIME.
Кроме того, завести карту Nvidia у меня вышло лишь с проприетарным драйвером, Nouveau не работал(поэтому статья и называется «Благословите Nouveau».
Что касается лично моего опыта работы с ними, то он мал и плачевен: оба костыля в упор не видели мою видеокарту Nvidia. Если Вам они интересны, в подвале вы найдете ссылки на материалы по ним.

Драйвера nVidia и телеметрия


Возможно ни для кого не секрет, что последние пакеты драйверов от nVidia содержат комплекс телеметрии.

Понимая, что разработчик желает получать данные об использовании своего продукта, оптимизировать и улучшать программную составляющую, многие не желают быть бесплатными тестерами, более того — без спроса.

На картинке выше приводится способ отключения телеметрии «из коробки», надо отдать должное — производитель засунул эту опцию в довольно неожиданное место, и надо ещё больше отдать должное — работает она не до конца.

Ниже будет рассмотрено, как полностью отключить телеметрию в драйверах nVidia последних версий.

  • Display.Driver — Основной драйвер видеоадаптера
  • Display.NView — nView — управление рабочим пространством на одном или нескольких мониторах
  • Display.Optimus — NVIDIA Optimus — оптимизирует графическую производительность ноутбука в зависимости от нагрузки
  • HDAudio — Драйвера «NVIDIA High Definition Audio»
  • NVI2 — Тело установщика
  • PhysX — PhysX

Несмотря на то, что после проведения подобных чисток драйвера устанавливаются, мне такой способ не нравится, поскольку никто не гарантирует, что не нарушаются связи компонентов, а тем более — всё будет работать со следующей версией инсталлятора.

На Гитхабе существует даже проект некого Нейта Шоффнера для решения задачи, который отключает службу телеметрии и задачи, но при этом не отключает эту настройку в самом системном приложении, что в моём случае несколько раз выдавало ошибку при связи со службой. Неудивительно, что автор предлагает держать своё творение в фоне и регулярной проверкой на включение телеметрии — мы глушим мешающие процессы и добавляем для этого ещё один (epic!).

Мной предлагается простейшее решение проблемы в виде командного скрипта, который отключает службы, задачи, а также настройку в системном приложении nVidia.
schtasks /Change /TN "NvTmMon_" /Disable
schtasks /Change /TN "NvTmRep_" /Disable
schtasks /Change /TN "NvTmRepOnLogon_" /Disable
sc config NvTelemetryContainer start= disabled
reg add "HKCU\Software\NVIDIA Corporation\NVControlPanel2\Client" /v "OptInOrOutPreference" /t REG_DWORD /d 0 /f

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

Для тех, кто не любит скрипты, но любит exe-файлы — исполняемый файл, выполняющий ту же задачу. Ссылка удалена по причине, что некоторые пользователи усмотрели в ней вирус. Предлагаю самостоятельно собрать exe из скрипта, это несложно.

Побеждаем Nvidia Optimus, или запуск игр на дискретном графическом ускорителе (обновлено)

Побеждаем Nvidia Optimus, или запуск игр на дискретном графическом ускорителе (обновлено)

Любительский

Аватар пользователя

Сначала абсолютно все ноутбуки имели только устройства вывода графики, которые вообще не поддерживали обработку 3D, а если и поддерживали, то из рук вон плохо.

Так например, в одном моем ноутбуке 2000 года выпуска стоял видеоадаптер NeoMagic, оснащенный всего лишь 2.5 мегабайтами видеопамяти и поддерживавший только режим D2D (на нем более-менее шла Diablo II), а во втором ноутбуке (2003 год) - S3 с 8 мегабайтами видеопамяти (с тормозами можно было поиграть в Counter Strike).

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

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

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

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

Но несложно догадаться, что энергопотребление таких ноутбуков очень сильно возросло, что негативно сказалось на времени их автономной работы. К слову, топовые ноутбуки Alienware от Dell, оснащаемые самым топовым на данный момент железом, в пике потребляют порядка 300 ватт. От батарей такой монстр явно долго не проработает.

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

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

В настоящее время такое решение есть: в ноутбуке имеется два видеоускорителя - чаще всего графическое ядро Intel HD Graphics и дискретный видеоускоритель от Nvidia, режим переключения которых можно выбрать в панели управления Nvidia:


Всего доступно 3 режима: Автовыбор, Высокопроизводительный процессор Nvidia и Интегрированное графическое оборудование.

Если поставить Автовыбор, то теоретически система сама должна выбирать графический ускоритель в зависимости от нагрузки на графическую подсистему.

Можно выбрать один из режимов (по умолчанию стоит Автовыбор); после выбора режима нажмите Применить. Может заработать сразу, а может потребоваться перезагрузка системы.

Несмотря на то, что в ноутбуках с технологией Nvidia Optimus имеется два графических устройства, изображение на монитор всегда выводится через интегрированный ускоритель, и отсюда следует особенность работы некоторых игр, которые просто не знают о существовании внешнего видео или по какой-то причине не могут получить к нему доступ.

В данной статье мы рассмотрим несколько способов принудительно запустить игры и приложения на дискретном видеочипе от Nvidia.

Штатные способы


Б. Программная привязка дискретного видео в настройках панели Nvidia.

1. В Панели управления Nvidia открываем Управление параметрами 3D и идем на вкладку Глобальные параметры, где выставляем Высокопроизводительный процессор Nvidia и жмем Применить.


Если требуется принудительно задействовать дискретное (равно как и интегрированное; я вынужден был назначить интегрированное видео на браузер FireFox, потому что при выборе дискретного ускорителя он начинал сыпать артефактами и вылетал с ошибками) видео только для определенных приложений, переходим на вкладку Программные настройки:


2. Жмем кнопку Добавить и указываем исполняемый файл игры, которую будем принудительно запускать с дискретным видео.

Частный случай - только для игр и приложений, использующих машину Java (например, Minecraft и другие). В список необходимо добавить не исполняемый файл игры, а саму машину Java. Для этого сперва нужно найти, откуда запускается файл javaw.exe. Например можно запустить диспетчер задач, перейти на вкладку Процессы, навести курсор на интересующий нас процесс, нажать правой кнопкой мыши и выбрать Свойства. В открывшемся окне будет указан путь. У меня javaw.exe лежит в папке C:\Windows\SysWOW64 (Windows 7 Максимальная 64 bit, Java 7SE 32 bit). После того, как местоположение файла будет известно, добавляем его, как было написано выше.

3. Выбираем из ниспадающего списка Высокопроизводительный процессор Nvidia.

4. Жмем кнопку Применить.

Возможно, заработает сразу, а возможно потребуется перезагрузить систему.

Если штатные способы не помогли, есть еще один - не очень очевидный, но вполне работоспособный.

1. Открываем Разрешение экрана:


2. Жмем кнопку Найти. Появится еще два монитора с надписями Другой экран не обнаружен:


3. Выбираем монитор, соответствующий дискретному видеоускорителю:


Для сравнения выбран монитор, соответствующий интегрированному видеоядру Intel HD Graphics:


4. Выбираем из ниспадающего списка Несколько экранов пункт Попытаться в любом случае подключиться к VGA, жмем кнопку Применить:


В результате получится следующее:


5. Выбираем Расширить эти экраны, жмем Применить, подтверждаем сохранение параметров:


В настройках игр теперь доступны обе видеокарты.

Окно настроек TES: Skyrim:


. и Dragon Age: Origins:


Стоит ли говорить, что игры теперь идут быстрее?

Виджет мониторинга видеокарты от 0rbmu2k теперь нормально определяет общий объем памяти, объем занятой памяти и загрузку GPU в процентах:


А вот окно настроек производительности Adobe Photoshop:


. и окно настроек PTGui, в которой я собираю панорамы:


Сферические панорамы в PTGui с разрешением порядка 26000*13000 (двадцать шесть тысяч на тринадцать тысяч - это не опечатка) с активированным аппаратным ускорением сшиваются за считанные минуты, тогда как на центральном процессоре даже при использовании всех 8 потоков на сборку некоторых панорам уходило в среднем от 10-15 до 20-30 минут.

К слову, я играл в Crysis 2, добавив экзешник в Панель Nvidia по первому способу. Настройки графики с помощью твикера Crysis2AdvancedGraphicsOptions для комфортной игры пришлось поставить на самый минимум (оказалось, что Crysis 2 упорно запускался на ядре Intel HD4000). Теперь он спокойно идет на настройках Extreme (правда, с отключенной анизотропией).

Недостатками такого решения являются:

1. В системе имеется второй монитор, куда может уходить курсор, ярлыки, виджеты, окна и т. д.

2. Некоторые игры запускаются на втором невидимом мониторе.

И в заключение несколько слов о том, как вернуть настройки обратно:

1. Выбираем из ниспадающего списка Отобразить рабочий стол только на 1:


Жмем кнопку Применить, подтверждаем сохранение параметров, видим следующее:


2. Выделяем второй монитор, выбираем Удалить этот монитор:


Жмем Применить.

В комментариях поступил очень интересный вопрос от Родиона из Киева:

К сожалению, лично я зашел в тупик, ведь у меня монитор (телевизор) подключен НЕ через VGA. а через HDMI?, Соответственно, я не вижу того самого третьего расширенного экрана, понимаете? У меня есть ЖК-Экран ноутбука, есть LCDTV, на который дублируется раб. стол. К следствии того что описано в статье у меня появляется третий монитор, и при расширении на него рабочего стола я увожу окна вникуда. Что делать? Как заставить дискретную видяху выводить все напрямую на HDMI?

Постараюсь ответить и на него.

Методом (не)научного тыка нашел следующее.

Сперва выполняем все процедуры, описанные выше.

После того, как все сделано, нажимаем Подключение к проектору или WinKey (aka флажок) + P, как советует нам Windows:



Здесь выберите Дублировать. НИ В КОЕМ СЛУЧАЕ НЕ ВЫБИРАЙТЕ ТОЛЬКО ПРОЕКТОР. Иначе можете получить черный экран. Окон нет, курсор не бегает, нажатие на Escape и перезагрузка не помогает. Что же делать? Можно перезагрузиться в безопасный режим и удалить драйвер, а можно просто действовать вслепую - нажимаем WinKey + P, стрелку влево и Enter.

Если все сделано правильно, получаем следующее:


Может получиться такая вещь, что на экран уйдет изображение в неродном разрешении. Для этого выделяем каждый экран и проставляем желаемое разрешение для каждого из них. Не забываем подтверждать изменения настроек кнопкой Применить.

Чтобы отменить выполненные действия, снова нажимаем Подключение к проектору или WinKey + P и выбираем Расширить.

Компьютер мигнет экраном, и мониторы будут настроены так же, как в первой части этой статьи


Примечание: последний способ гарантированно работает только на Windows 7. На Windows 10 гарантированно не работает. На Windows 8/8.1 работоспособность не проверялась.

За сим извольте откланяться. Надеюсь, что эта информация была кому-то полезной.

Читайте также: