
Модернизация BIOS видеокарт Nvidia на архитектуре Maxwell
Терпение и труд всё перетрут...
Для более получения более полной отдачи от видеокарт иногда приходится заниматься модернизацией их BIOS.
Порой это единственный способ увеличить их отдачу, так как производитель заблокировал возможность программного управления частотой/вольтажом.
В качестве примера можно привести видеокарты Nvidia Quadro K620, которые не поддаются разгону программными способами, причем ни в Linux, ни в Windows.
В Линукс при выполнении команд
nvidia-settings -a '[gpu:0]/GPUMemoryTransferRateOffset[1]=50';
nvidia-settings -a '[gpu:0]/GPUGraphicsClockOffset[1]=150';
появляются сообщения об отказе:
The valid values for 'GPUMemoryTransferRateOffset' are in the range 0 - 0 (inclusive).
'GPUMemoryTransferRateOffset' can use the following target types: X Screen, GPU.
The valid values for 'GPUGraphicsClockOffset' are in the range 0 - 0 (inclusive).
'GPUGraphicsClockOffset' can use the following target types: X Screen, GPU.
В Windows, при использовании MSI Afterburner происходит сброс установок частоты GPU/VRAM на штатные.
В nvidia-inspector ползунки регулировки частоты в состоянии P0 также не активны:
У Nvidia Quadro K620 производства Dell GPU у с завода работает на частотах 1058-1124 МГц. Чтобы заставить эту видеокарту взять более высокую планку производительности, нужно совершить колдовской обряд немного покопаться в ее BIOS.
Как модифицировать BIOS видеокарт Nvidia на архитектуре Maxwell для увеличения производительности?
Процесс модернизации микропрограммы BIOS видеокарты в общем подразумевает выполнение следующих шагов:
- извлечение прошивки из видеокарты с помощью утилиты (например, GPU-Z) или программатором. Исходный файл BIOS обязательно нужно сохранить для восстановления работоспособности видеокарты в случае неудачной модификации/сбоя;
- изучение и модификация кода BIOS в соответствии с нуждами пользователя (например, увеличение частоты GPU/VRAM, изменение таймингов памяти, уменьшение потребления или увеличение вольтажа для достижения более высоких рабочих частот, корректировка режима работы вентиляторов системы охлаждения и т.д.);
- прошивка модернизированной прошивки в микросхему BIOS видеокарты программным или аппаратным способом.
При неудачной прошивке BIOS в этот процесс добавляется этап восстановления и, иногда, танцев с бубнами…
Извлечение микропрограммы БИОС из видеокарты Nvidia можно делать как в Windows, так и в в Linux.
Лучше, если препарируемая карта стоит второй в системе. Это позволит легко восстановить неверно прошитую микропрограмму, а также избавит от необходимости установки/удаления драйверов и видеокарты из диспетчера задач.
Если прошиваемая карта единственная в системе, то лучше использовать Windows, так как в Linux установка/удаление драйверов Nvidia (выгрузка модулей nvidia_uvm nvidia_drm nvidia_modeset nvidia) не очень удобна.
Для копирования BIOS видеокарты в операционной системе Windows можно использовать программу GPU-Z (кнопка со стрелочкой в ее главном меню) или программу nvflash (она подходит и для Linux) с помощью команды
nvflash --save filename.rom
Для последующей работы с файлом микропрограммы базовой системы ввода-вывода видеокарт Nvidia на архитектуре Максвелл можно использовать программу Maxwell BIOS Tweaker.
Прошивка микропрограммы в видеокарту делается утилитой nvflash.
Модернизация BIOS видеокарт Nvidia поколения Maxwell на примере Nvidia Quadro K620
Редактирование файла BIOS видеокарты нужно начинать только после сохранения backup-файла.
Микропрограмму BIOS можно мучить модернизировать утилитой Maxwell BIOS Tweaker:
На вкладке Common твикера можно отредактировать множество параметров, самыми важными из которых являются:
- частота памяти (Memory Clock);
- частота GPU начальная (TDP Base Clock), в 3D-режиме (3D Base Clock) и в режиме разгона (Boost Clock);
- целевая и максимальная температуры (Temp Target и Max Temp Target).
Для майнинга на алгоритмах, по максимуму использующих ядро, можно выставить увеличенную частоту GPU (на 90-140 МГц, на некоторых видеокартах и больше).
Точное значение частоты нужно брать из таблицы на вкладке Boost Table, передвигая ползунок Max Table Clock влево-вправо, например, 1267.5 MHz:
На вкладке Boost States нужно откорректировать значение частоты Max GPC в состоянии Р00 (подставить сюда значение, равное Boost Clock):
Пример откорректированных значений BIOS для видеокарты Nvidia Quadro K620 (вкладка Common):
Модифицированный файл BIOS сохраняют под другим именем, нажимая кнопку Save BIOS As.
В приведенном примере изменены граничные температуры и повышена частота Boost Clock на 107.5 MHz, что увеличивает хешрейт при майнинге примерно на 15%.
Как залить обновленную прошивку в микросхему флеш-BIOS видеокарты?
Прошивка модернизированной микропрограммы BIOS в видеокарты Nvidia, в том числе на архитектуре Maxwell, производится утилитой nvflash.
Кроме того, можно воспользоваться программатором, например, RT809F. При аппаратной прошивке нужно обязательно уточнить напряжение питания микросхемы флеш-BIOS, установленной на плате видеокарты, и, в случае необходимости, использовать переходник с 3.3 на 1.8 вольт.
Если прошиваемая видеокарта не основная (стоит второй в системе), то процесс прошивки достаточно прост и заключается в обычном запуске команды для программы nvflash с отключенной проверкой подлинности файла прошивки.
При прошивке BIOS на компьютере с несколькими видеокартами обязательно нужно уточнить номер «допиливаемого» адаптера командой
nvflash --list
Для видеокарт Nvidia серии Maxwell искомую программу nvflash (без лишних проверок) можно скачать на сайте overclock.net:
Если использовать обычную версию программы nvflash, то при попытке прошить модифицированный BIOS появляется сообщение об ошибке VBIOS image failed certification sanity check:
Для прошивки на графический адаптер микропрограммы BIOS утилитой nvflash используется команда со следующим синтаксисом (выполняется от имени администратора):
nvflash --index=0 -6 GM107_mod.rom
Успешная прошивка модернизированного BIOS сопровождается надписью
Firmware image has been updated from version...
Если программа nvflash выдает ошибку Nothing changed!
ERROR: In order to avoid the irreparable damage to your graphics adapter it is necessary to unload the NVIDIA kernel driver first то, скорее всего, эта карта является основной в системе.
Для работы с ней нужно произвести процедуру удаления драйверов Nvidia / отключить ее в диспетчере устройств.
Если модернизируемая видеокарта является основной, то нужно:
- удостовериться, что в безопасном месте сохранена копия оригинальной прошивки BIOS;
- деинсталлировать драйвера GPU. Лучше произвести полное их удаление в программе Display Driver Uninstaller;
- перезагрузить компьютер;
- прошить на видеокарту нужный файл BIOS программой nvflash;
- перезагрузить компьютер;
- установить драйвера на видеокарту;
- перезагрузить компьютер;
- проверить в Device Manager корректность отображения видеокарты с только что прошитым BIOS;
- проверить стабильность работы видеокарты с модернизированным BIOS.
После прошивки улучшенного BIOS программа GPU-Z радует глаз новой частотой Boost видеокарты, которая равна 1268 MHz (до модернизации она равнялась 1160 МГц).
После такой модернизации при том же потреблении хешрейт на cn_gpu видеокарты Nvidia Quadro K620 возрос с 160-170 до 190-200 H/s, что не так уж плохо и совсем близко к более современной Nvidia GeForce GT1030.

