Как пропатчить драйвера nvidia

Обновлено: 04.07.2024

  • Open with Desktop
  • View raw
  • Copy raw contents Copy raw contents Loading

Copy raw contents

Copy raw contents

NVENC and NvFBC patches for Windows Nvidia drivers

NVENC patch removes restriction on maximum number of simultaneous NVENC video encoding sessions imposed by Nvidia to consumer-grade GPUs.

NvFBC patch (wrapper) allows to use NvFBC on consumer-grade GPUs. See nvfbcwrp (clickable) directory for details.

Project is looking for a maintainer.

IPFS git mirror:

  • Any of following 64bit operating systems:
    • Windows 7
    • Windows 8
    • Windows 8.1
    • Windows 10
    • Windows Server 2008 R2
    • Windows Server 2012
    • Windows Server 2012 R2
    • Windows Server 2016
    • Windows Server 2019

    NVENC Patch Step-by-Step Guide

    1. Download and install latest Nvidia driver supported by this patch.
    2. Download latest Win_1337_Apply_Patch tool (IPFS mirror).
    3. Save patch(es) corresponding to your system, driver and product version from Version Table using direct link to the patch (Right Click -> "Save as. ")
      • Alternatively you may checkout repo using git or download it as ZIP archive and then locate corresponding .1337 patch file in win directory.
    4. Apply x64 library patch to corresponding file in %WINDIR%\system32\ with the Win_1337_Apply_Patch tool.
      • If patching fails, close all applications using nvencodeapi64.dll, such as OBS Studio, Plex or Discord.
    5. Apply x86 library patch to corresponding file in %WINDIR%\SysWOW64\ in the same way as previous one.
      • If patching fails, close all applications using nvencodeapi.dll, such as OBS Studio, Plex or Discord.

    Example: for 64bit Windows 10 running driver version 472.12, use win10_x64/472.12/nvencodeapi64.1337 against C:\WINDOWS\system32\nvencodeapi64.dll and win10_x64/472.12/nvencodeapi.1337 against C:\WINDOWS\SysWOW64\nvencodeapi.dll .

    If you experience issues with streaming software based on Nvidia streaming facilities (Nvidia Shield TV, Moonlight), you also have to import few registry values in order to workaround binary signature mismatch. See skip_sig_check (clickable) directory for instructions.

    Добрый день.
    Недавно в руки попал ноутбук SONY PCG-61412M (VPCCW1S1E/L) с Windows 7 Home Premium х64. Решил поставить на него новый драйвер для видеокарты NVIDIA GeForce GT M330, так как стоял еще старый от производителя за 28/10/2010.

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

    Анализ

    Прочитав несколько статей кто и как решал эту проблему, наткнулся на утилиту nVidia Mobility Modder Tool. Если её натравить на оригинальный драйвер, то она изменит определенные файлы и добавит устройства от производителей ноутбуков. В моем случае она не помогла бы, так как в списке добавляемых видеокарт моей не было.

    Далее наткнулся на сайт, который предоставляет уже измененные свежие драйвера NVIDIA для видеокарт производителей ноутбуков. Достаточно указать идентификатор устройства ( DEV ) и идентификатор поставщика подсистемы ( SUBSYS ) и, возможно, появится список подходящих драйверов. Идентификаторы Вашей видеокарты можно посмотреть в Диспетчере устройств (нажать + R, написать devmgmt.msc и нажать ОК).


    [На изображении DEV = 1243 и SUBSYS = 85081043 ]

    Затем открыть Cвойства [Properties] видеоадаптера и на вкладке Сведения [Details] посмотреть Код экземпляра устройства [Hardware Ids] ). Мне этот сайт не помог.

    Редактирование

    На этом мои поиски закончились и я решил просмотреть, какие устройства и их идентификаторы указаны в оригинальном драйвере от Nvidia. Скачал и распаковал последний драйвер версии 310.90. После распаковки драйвера перешел в каталог Display.Driver . Там меня интересует файл, в котором должна содержаться запись [NVIDIA_SetA_Devices.NTamd64.6.1] – для ОС Windows 7, определяющая для какой операционной системы, и запись названия устройства "NVIDIA GeForce GT 330M" . В моём случае это был файл nvtd.inf .
    В этом файле есть еще разделы [NVIDIA_SetA_Devices.NTamd64.6.0] – для Windows Vista, [NVIDIA_SetA_Devices.NTamd64.6.2] – для Windows 8.

    В конце файла есть раздел [Strings] , в этом разделе ищу название своей видеокарты. Я нашел несколько записей:

    NVIDIA_DEV.0A29.FD22.1179 = "NVIDIA GeForce GT 330M"
    NVIDIA_DEV.0A29.FD30.1179 = "NVIDIA GeForce GT 330M "

    В этих записях можно обнаружить идентификаторы DEV и SUBSYS . Пример, 0A29 – это идентификатор устройства, а FD22.1179 – идентификатор поставщика подсистемы (здесь он разделен точкой, в Диспетчере устройств нет). Я выбрал самую первую запись NVIDIA_DEV.0A29.FD22.1179 = "NVIDIA GeForce GT 330M" .

    Для моей видеокарты запись должна выглядеть так

    NVIDIA_DEV.1243.8508.1043 = "NVIDIA GeForce GT 330M"

    Теперь перехожу в раздел [NVIDIA_SetA_Devices.NTamd64.6.1] и запись %NVIDIA_DEV.0A29.FD22.1179% = Section002, PCI\VEN_10DE&DEV_0A29&SUBSYS_FD221179 меняю на свою

    %NVIDIA_DEV.1243.8508.1043% = Section002, PCI\VEN_10DE&DEV_1243&SUBSYS_85081043

    Можно изменить существующие записи, а можно и добавить новые. После изменений сохранил файл и установил драйвер.

    Этот разработчик — Nvidia. Рассказываем, что было передано в open source, и обсуждаем мнения.



    Фото — Caspar Camille Rubin — Unsplash

    Что за документация

    В каком-то смысле событие можно назвать знаковым. Это первый раз, когда Nvidia выкладывает документацию в большом объеме. Компания публикует спецификации с 2012 года, но до сегодняшнего дня открывали только относительно небольшие их фрагменты. Например, несколько лет назад инженеры предоставили доступ к техническим документам по графическому ядру ARM-платформы Tegra, схеме размещения Device Control Block (DCB) в VBIOS с описанием топологии платы и коннекторов и списку заголовков для GV100 Volta.

    Новые спецификации выложили под лицензией MIT — найти их можно в официальном репозитории на GitHub (то же самое, но в HTML). Там есть информация о графических картах Maxwell, Pascal, Volta и Kepler: сведения о таблицах BIOS, управлении частотами, инициализации, режимах энергопотребления, обеспечении защиты в движке Falcon и заголовочных файлах для шейдеров.

    По словам представителей Nvidia, новая документация тоже не полная, но репозиторий будет регулярно обновляться. Например, в будущем туда планируют добавить данные по Turing.

    Мнения сообщества

    Автор блога Tom's Hardware отмечает, что развитие проектов вроде nouveau, которые создают свободные драйверы для видеокарт Nvidia, тормозило как раз отсутствие документации. Большое количество спецификаций упростит написание драйверов под Linux, и для этого не придется производить реверс-инжиниринг. Можно ожидать, что в ближайшее время практически все актуальные видеокарты начиная с 2012 года смогут получить улучшенные драйверы.

    Этот факт положительно отразится на игровой индустрии, которая начинает проявлять больший интерес к открытой операционной системе. Например, буквально в конце июля Valve (разработчики магазина Steam) внесли ряд изменений в проект Proton для запуска Windows-игр под Linux. Изменения связаны с оптимизацией работы многопоточных игр.



    Фото — CMDR Shane — Unsplash

    Здесь стоит отметить, что в Nvidia пока не раскрыли данные, которые помогли бы реализовать поддержку реклокинга (reclocking) — автоматического управления частотой — в картах серии GTX 9xx. Этот факт не позволит новым открытым драйверам работать «на полную мощность».

    Из-за отсутствия реклокинга, драйверы nouveau могут работать на 20–30% медленнее проприетарных. Хотя в будущем ситуация может измениться, когда Nvidia предоставит больше информации. Например, для архитектуры Maxwell 2 (представленной в 2014 году) патчи с функцией reclocking вышли в 2017 году.

    Один из резидентов Hacker News высказал мнение, что открытые драйверы в любом случае будут обладать меньшей производительностью, чем проприетарные. В Nvidia регулярно оптимизируют драйверы под отдельные игры — для этого они плотно взаимодействуют с их разработчиками. Такой возможности у программистов из проекта nouveau может не быть.

    Также в ИТ-сообществе есть мнение, что Nvidia сделали спецификацию открытой не только из-за любви к open source. В начале августа AMD реализовали поддержку своего графического процессора Navi 12 для Linux. Возможно, действия Nvidia — это попытка не отстать от конкурентов и не потерять влияние на активно развивающемся рынке.

    О других графических open source решениях

    В прошлом году в Nvidia представили открытую платформу Rapids. Её цель — упростить разработку алгоритмов МО на GPU. Специалисты по обработке данных пишут код на Python, а система автоматически оптимизирует его для запуска на графической карте с архитектурой CUDA.

    Тогда в поддержку нового решения высказались представители таких крупных компаний, как Cisco, Dell, NetApp и Lenovo. В IBM даже провели первые тесты и отметили, что платформа позволит ускорить работу машинных алгоритмов в 50 раз (по сравнению с CPU). Но Rapids и покритиковали — за то, что система работает только с картами от Nvidia.

    Свою платформу для HPC на графических картах разрабатывают и в AMD — она называется ROCm (Radeon Open Compute). В отличие от конкурентов, эта система умеет работать практически со всеми GPU. Также разработчики ROCm выбрали C++ вместо Python.

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

    О чем мы пишем в наших блогах и социальных сетях:

    Новые лицензии для открытого ПО, кто ими занимается
    Бенчмарки для Linux-серверов: 5 открытых инструментов

    Как обезопасить Linux-систему: 10 советов
    Big Data: большие возможности или большой обман

    7 сервисов для создания видео и анимации
    Как работает техподдержка 1cloud

    Когда дело касается драйверов для видеокарт NVIDIA, то большинство пользователей можно разделить на 2 категории - те кто используют драйверы, поставляемые с операционной системой, и те, которые устанавливают пакеты драйверов с сайта NVIDIA.

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

    Инсталлятор NVIDIA по умолчанию устанавливает компоненты 3D Vision, HD аудио драйвер, программное обеспечение PhysX и GeForce Experience. Даже когда пользователь отключает галочки, соответствующие дополнительным компонентам, в систему все-равно будут установлены некоторые дополнительные службы и сервисы телеметрии.

    Устанавливаем только драйвер для видеокарты NVIDIA

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

    Также обратите внимание, что установка драйвера по-прежнему будет добавлять компоненты, такие как две службы Nvidia Display Container LS и Nvidia Telemetry Container. После установки вы можете отключить или удалить их.

    1. Удаляем старый драйвер из системы

    Перед установкой нового драйвера рекомендуется полностью удалить старый драйвер с компьютера. Для этого можно воспользоваться программой Display Driver Uninstaller.

    2. Загрузите новейший драйвер NVIDIA

    Перейдите на официальный сайт NVIDIA и скачайте драйвер, подходящий для вашей видеокарты и операционной системы.

    3. Распакуйте установочный файл с драйвером

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

     Разархивируйте установочный файл с драйвером

    4. Установите драйвер в Windows

    Вам нужно открыть Диспетчер устройств Windows, поскольку установка драйвера будет осуществляться с помощью апплета панели управления. Самый простой способ открыть Диспетчер устройств - нажать клавишу Windows, набрать hdwwiz.cpl и нажать клавишу Enter (Ввод).

    Найдите в списке устройств свою видеокарту, щелкните по ней правой кнопкой мыши и выберите пункт "Обновить драйвер".

     Разархивируйте установочный файл с драйвером

    Затем выберите опцию "Выполнить поиск драйверов на этом компьютере" и выберите папку с драйвером.

    Выполнить поиск драйверов на этом компьютере

    Windows обнаружит драйвер и произведет его установку в системе

    В конечном итоге вы должны получить уведомление "Система Windows успешно обновила драйверы". Это означает, что драйвер установлен и используется системой.

    Система Windows успешно обновила драйверы

    Заключение

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

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