Как и обещал, публикую опровержение поста NVidia P106 или как китайцы хотят сплавить ненужные видеокарты для майнинга. Забегая вперёд — играть можно, но придётся потрахаться.
Карту заказал из Китая 15 января, 8 февраля уже держал её в руках. Продавец высылает в случайном порядке карты производства MSI, Gigabyte, Galaxy, Colorful и Gengsheng (за пределами Китая известна под брендом Gainward). Мне досталась Gigabyte. Вот такая. Китаец даже заботливо прикрутил двухслотовую крепёжную планку. И отломал одно из четырёх креплений системы охлаждения. К счастью, оставшиеся крепления держат надёжно.
Технические характеристики идентичны обыкновенной GTX 1060 WINDFORCE 6G за исключением следующих моментов:
— отсутствуют видеовыходы
— используется шина PCI-E 1.0/1.1 (у игровых видеокарт — PCI-E 3.0)
— система охлаждения любой ценой старается удержать температуру графического процессора на отметке 55°
— видеоускоритель не определяется драйвером как игровой (отсутствует поддержка DirectCompute и PhysX)
Теория
Начиная с Windows 10 1803, Microsoft реализовала подобие технологии Optimus, знакомой владельцам ноутбуков. Рендеринг в тяжёлых приложениях осуществляет дискретная видеокарта, а за вывод изображений и обработку 2D отвечает встроенное видеоядро процессора. Видеопоток передаётся по шине PCI-E, выводится через видеовыход материнской платы.
Отсюда вытекают следующие системные требования:
— Windows 10 1803 или новее
— платформа Intel как минимум 4 поколения (Haswell) или AMD Ryzen 2200G/2400G, Athlon 240GE, 220GE, 200GE. Есть подтверждения успешной работы на более старых APU (в частности A10-7870K)
— со слов продавца: не заработает на материнских платах H81/B85/Z87 (т.е. 4 поколения) производства ASUS
— наличие слота PCI-E x16. Версия роли не играет, ведь карта в любом случае работает в режиме 1.1, а вот количество линий очень важно, ведь по шине не только происходит обмен данными с процессором, но и передаётся видеопоток. PCI-E 1.0 x16 по пропускной способности и без того эквивалентна всего лишь PCI-E 3.0 x4. Ещё большее снижение пропускной способности (например, если использовать слот x8) драматически скажется на производительности.
Переходим к практике
Вставляю карту, подключаю монитор к видеовыходу материнской платы, и… изображение отсутствует. Экспериментальным путём установлено, что требуется изменить пару настроек BIOS, выставив указанные на скриншоте значения:
Кроме того, придётся временно отключить безопасную загрузку:
После загрузки Windows нужно установить графический драйвер на процессорное видеоядро. Обладатели Intel могут воспользоваться приложением Driver & Support Assistant, а для поклонников AMD предназначены драйверы Adrenalin 2019 Edition.
Кроме того, придётся отредактировать драйвер NVIDIA, чтобы он воспринимал P106 в качестве 3D-ускорителя. Последняя версия, на которой этот хак работает — 417.22. В более поздних то ли что-то изменилось, то ли NVIDIA реализовала защиту, но после установки модифицированного драйвера устройство будет висеть в диспетчере с ошибкой.
Скачиваем и распаковываем дистрибутив, правим файл /Display.Driver/nv_dispi.inf. Методика проста — нужно найти и удалить строки, начинающиеся с %NVIDIA_DEV.1C07% (1C07 — идентификатор P106-100). Затем в файл nvaci.inf добавить следующие строки:
после
%NVIDIA_DEV.1BE1.1243.1025% = Section064, PCIVEN_10DE&DEV_1BE1&SUBSYS_12431025
добавить (да, на конце пробел)
%NVIDIA_DEV.1C07% = Section066, PCIVEN_10DE&DEV_1C07
после (да, снова такая же строка)
%NVIDIA_DEV.1BE1.1243.1025% = Section064, PCIVEN_10DE&DEV_1BE1&SUBSYS_12431025
добавить
%NVIDIA_DEV.1C07% = Section066, PCIVEN_10DE&DEV_1C07
после
%NVIDIA_DEV.1BE1.1243.1025% = Section063, PCIVEN_10DE&DEV_1BE1&SUBSYS_12431025
добавить
%NVIDIA_DEV.1C07% = Section065, PCIVEN_10DE&DEV_1C07
после
NVIDIA_DEV.1BE1.1243.1025 = “NVIDIA GeForce GTX 1070”
добавить
NVIDIA_DEV.1C07 = “NVIDIA P106-100”
После этого, скачиваем Display Driver Uninstaller, отключаем сетевой адаптер (или вытаскиваем сетевой кабель). Открываем командную строку с правами администратора и выполняем:
bcdedit /set {current} testsigning on
Перезагружаемся Запускаем DDU, чистим систему от драйверов NVIDIA.
Заходим в диспетчер устройств и выполняем «Действие» → «Обновить конфигурацию оборудования». Необходимо добиться того, чтобы вместо дискретной видеокарты отображался «3D-видео контроллер»:
Запускаем setup.exe и устанавливаем драйвер. Устанавливать GeForce Experience смысла нет, она всё равно «видит», что карта не игровая, функции типа ShadowPlay работать не будут, Выполняем чистую установку. Соглашаемся установить драйвер без проверки издателя:
После установки драйвера в диспетчере устройств не должно остаться устройств с восклицательными знаками. А GPU-Z сообщит, что у карты появилась поддержка PhysX и DirectCompute:
то есть, карта была намеренно лишена поддержки этих технологий программным путём. К сожалению, GeForce Experience этим не обманешь, она всё равно видит, что карта не является игровой, поэтому «примочки» типа ShadowPlay не заработают. Кроме того, не работает аппаратное кодирование видео NVENC.
Следующим шагом будет отключение автоматического обновления драйверов через Windows Update. В противном случае рано или поздно там появится более свежий драйвер, который будет автоматически установлен. В сети встречаются различные способы, но у меня сработал только один — через групповые политики. Для этого понадобится Windows 10 Professional или Enterprise. Пуск → Выполнить → gpedit.msc → Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Центр обновления Windows → Не включать драйверы в обновления Windows → Включено.
Открываем командную строку с правами администратора и отключаем установку неподписанных драйверов (на неё очень нервно реагируют всякие античиты):
bcdedit /set {current} testsigning off
Перезагружаемся в BIOS, включаем безопасную загрузку там же, где отключали. Загружаемся в Windows, включаем сетевой адаптер или втыкаем сетевой кабель.
Теперь нужно сопоставить каждому 3D-приложению, которое хотим запускать на дискретной видеокарте, требуемый графический адаптер. ПКМ по рабочему столу → Параметры экрана → Настройки графики. Выбираем «Классическое приложение« и кнопкой «Обзор» находим исполняемый файл игры. Выбираем добавленное приложение → Параметры. Видим, что окно чуток расползлось, но вполне читаемо: энергосберегающим графическим процессором является встройка, а высокопроизводительным — P106-100. Если у вас не так, то вы напортачили с драйвером.
Выбираем «Высокая производительность»:
Эту операцию придётся повторить для каждой установленной игры.
Тестирование
Поскольку карта идентична по характеристикам обычной GTX 1060 6GB, то единственный вопрос, который интересует — падает ли производительность из-за низкой пропускной способности шины PCI-E 1.0.
Тесты проведены на платформе:
— Core i7-6700 ES @ 3.7 ГГц
— ASUS Z170-P
— 16 ГБ DDR4-2133 в одноканальном режиме
(кроме того, бегло проверил работу на связке Pentium G3420 + GA-H81M-S2PV — всё завелось)
Unigine Valley Benchmark 1.0
Render: Direct3D11
Mode: 1920×1080 8xAA fullscreen
Preset: Extreme HD
FPS: 65.7
Score: 2748
Min FPS: 31.9
Max FPS: 125.8
Набранное количество баллов соответствует GTX 1060 6GB.
Unigine Heaven Benchmark 4.0
Render: Direct3D11
Mode: 1920×1080 8xAA fullscreen
Quality: Ultra
Tessellation: Extreme
FPS: 61.7
Score: 1555
Min FPS: 25.5
Max FPS: 125.2
12.5% потеря производительности по сравнению с GTX 1060 6GB.
Final Fantasy XV Benchmark
9% и 7% падения производительности соответственно.
Возможно, с более производительным процессором и двухканальным режимом работы памяти было бы получше. Также стоит отметить, что технология Ansel работает, поскольку не привязана к GeForce Experience.
Под нагрузкой проявляется ещё одна особенность карты — она старается удержать температуру графического процессора на отметке 55°. Уровень шума при этом сложно назвать комфортным. Проблема решается указанием желаемой кривой температур в MSI Afterburner:
При 100% нагрузки температура держится на уровне 62 градусов, а скорость вращения вентиляторов упала до 30%.
Заключение
Плюсы
— Цена
— Выводит изображения на VGA-мониторы. Как известно, у карт поколения Pascal отсутствует поддержка вывода аналогового видеосигнала, что вынуждает приобретать активный конвертер цифрового сигнала в аналоговый. В нашем случае этим занимается материнская плата
— Возможность сказать «NVIDIA, fuck you!»
Минусы
— Не работают примочки NVIDIA наподобие ShadowPlay
— Не работает аппаратный кодировщик видео NVENC (то есть, если вы, допустим, хотите записывать или стримить экран через OBS Studio, нужно запускать игру на дискретной видеокарте, а для ускорения кодирования использовать Intel Quick Sync)
— Не работают некоторые программы, выводящие оверлей поверх 3D-приложений (FRAPS и т.п.). Другие (допустим, оверлей Steam) умудряются как-то работать
Может не устроить
— Карта побывала в майнинге. С другой стороны, покупая видеокарту «с рук» вы не можете быть уверены в обратном, а продавец будет мамой клясться, что карта «не бита, не крашена, не майнила»
— Отсутствие обновлённых драйверов (впрочем, поколение Pascal уже является устаревшим и с каждым годом будет получать всё меньше поддержки)
— Требуется редакция Windows не ниже Professional (все способы, ориентированные на Home, у меня не сработали)
Стоит ли овчинка выделки? Не считая доставки, видеокарта обошлась мне в ¥470, что примерно соответствует 70 долларам. Но «за морем телушка полушка, да рубль перевоз«, итоговая сумма с доставкой составила уже 102 доллара. На момент заказа, в моём городе цены на 1060 6GB начинались от 13 тысяч. Сейчас нижняя планка упала до 11-12 тысяч.
Небольшой FAQ
Заработает ли в Linux / macOS?
Всё упирается в отсутствие пропатченного драйвера, поскольку inf-файлы там отсутствуют вовсе.
Обязательно ли заказывать из Китая?
Поскольку, начиная с Pascal, NVIDIA в обязательном порядке требует наличие цифровой подписи у прошивок, «китайские» карты не имеют какой-то особой, модифицированной прошивки. Следовательно, ничем не отличаются от доступных у нас. В какой-нибудь Москве вполне можно найти P106-100 за 5-6 тысяч.
Говорят, что некоторые игры не работают при таком раскладе?
Я лично проверил такие игры как Ведьмак 2, Ведьмак 3, World of Warcraft, Nier: Automata, Metro Exodus, Hearthstone. Всё работает. Не завёлся только бенчмарк 3DMark.
А если прошить BIOS от 1060 6GB?
Программно невозможно, потому что в утилите NVFLASH больше нет ключа, позволяющего прошить BIOS от другой модели. Существует модифицировнная версия, но, по-видимому, она работает только для поколения Turing (2xxx), потому что Pascal она отказывается шить из-за несовпадения PCI ID. Таким образом, нужно выпаивать микросхему BIOS и прошивать программатором, но это мало что даст, ведь надо ещё перепаивать резисторы (страпы) на самой карте, комбинация которых и определяет то, какой PCI ID будет у видеокарты. То есть, прошивкой BIOS от игровой карты можно лишь изменить алгоритм работы кулеров, не более.
Можно ли напаять видеоразъёмы?
Посадочные места есть, но отсутствует сопутствующая обвязка. Говорят, что конкретно на эту гигу можно. На ASUS MINING-P106-6G, например, видервыход есть изначально, скрыт за крепёжной планкой.
Какие ещё есть карты для майнинга?
P106-090 — похожа на GTX 1050 Ti, имеет более широкую шину памяти, большие частоты, но всего 3 гигабайта памяти.
P104-100 — разогнанная GTX 1070 с урезанным вдвое объёмом памяти.
P104-101 — копия GTX 1080.
P102-100 — урезанная версия GTX 1080 Ti с 5 ГБ памяти.
P102-101 — то же самое, но уже с 10 ГБ памяти.
Нужно понимать, что чем мощнее карта, тем больше она будет упираться в шину (тем более, что для P104-100 Gigabyte, например, заявляет лишь поддержку PCI-E 1.1 x4).
На всякий случай, привожу идентификаторы этих карт (драйверы модифицируются аналогично):
1C09 = «NVIDIA P106-090»
1B87 = «NVIDIA P104-100»
1BC7 = «NVIDIA P104-101»
Можно ли поставить такую карту в SLI с игровой?
Да, см. тут и тут. Причём необязательно с GTX 1060. Например, можно поставить GP106-100 в пару с GTX 1070.
Можно ли для вывода изображения использовать дешёвую дискретную видеокарту вместо интегрированного видео?
Я пробовал с GTX 650. P106-100 в этом случае не появляется в настройках в качестве высокопроизводительного графического процессора.