среда, 19 сентября 2012 г.

Решение проблемы определения цифрового монитора

Недавно обновил себе железо на десктопе - поставил новую видеокарту (nVidia GeForce), к которой уже не подходил старый драйвер. При этом вылезла проблема, которая когда-то уже возникала и вылечилась откатом драйвера - видеокарта определяла монитор (Xerox 900P (XA7-19i) исключительно как аналоговый (VGA-совместимый), хотя монитор был подключен по DVI.

Не знаю, что там мастера из nVidia нахимичили с драйверами, но видимо часть проблемы была в том, что DVI кабель в моем мониторе жестко впаян в корпус и заменить его возможности нет, поэтому в коннекторе присутствуют полностью все ножки, т.е. штекер типа DVI-I (типы DVI). Очевидно, видеокарта "увидев" аналоговые ноги в целях совместимости шпарила только по ним.

Я уже хотел было решать пролему хардварно (купив или спаяв переходник с DVI-I на DVI-D), но наткнулся на решение, которое и привожу под катом:


Придется редактировать реестр. Идем по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video. Там находится несколько директорий в виде, подобном такому: {B1E0FF3B-2B31-4B0D-8B9C-B09BBB60CB07}. Это идентификаторы устройств. В каждой директории устройства есть еще одна, называемая 0000. Ищем ту из них, в которой есть название вашей видеокарты, или ее драйвера. Например, это могут быть параметры HardwareInformation.AdapterStringHardwareInformation.ChipTypeDriverDesc, ну или на худой конец ProviderName.

Узнав, какая из папок 0000 относится к вашей видеокарте, добавьте в нее новый параметр DevicesConnected, указав тип Binary Value. Что в него писать зависит от типа желаемой конфигурации:

00 00 00 00 - Авто-определение
00 00 03 00 - 2 цифровых выхода
03 00 00 00 - 2 аналоговых выхода
02 00 01 00 - первый цифровой, второй аналоговый (я себе поставил этот)
01 00 02 00 - первый аналоговый, второй цифровой

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

00 00 01 00 - только первый DVI. Тоже рабочее, возможно даже более производительное
Соответственно, значения
00 00 02 00
01 00 00 00
02 00 00 00
- тоже должны работать, но как именно я точно не скажу.

Если кто не против попариться с тестами - пришлите мне пожалуйста, что получилось.

Источники:
http://obscure-tech-tips.blogspot.com/2010/01/forcing-your-nvidia-card-to-send.html
http://forum.ixbt.com/topic.cgi?id=10:54293-29#980

Комментариев нет:

Отправить комментарий