본문 바로가기

트러블 슈팅

인텔 윈도우즈용 드라이버 해상도 문제

인텔 GMA9xx 계열 온보드(내장) 그래픽을 이용하는 사람들이 모니터를 와이드 스크린으로 바꾸지 못하거나 바꿔도 해상도를 잡지 못하는 문제가 있다. 이 문제는 윈도우즈용 드라이버에서만 해결이 쉽지 않다.

이 문제를 해결하기 위해서는 무엇을 해야할까? 그래서 필자는 인텔 그래픽을 위한 해상도 임의 지정에 관한 모든 정보를 한 곳에 모았다.

당연한 방법은 '최신 그래픽 드라이버'와 '모니터 드라이버' 설치이다. 하지만 해결되지 않는다.

1. PowerStrip 프로그램 이용하기
EnTech Taiwan의 PowerStrip은 그래픽에 관련된 부분들을 제어하기 위한 프로그램이다. 이 프로그램에는 사용자가 임의로 해상도를 추가하는 기능도 제공되고있다.

PowerStrip으로 해상도를 임의 추가하는 화면


이 방법으로 해결이 되면 좋으나, 되지 않을 시 다른 방법을 이용해야한다.

2. 모니터 EDID Raw Data를 이용하기
모니터에서 보내지는 정보를 이용하는 방법이다. 리눅스용 인텔 드라이버에서 해상도를 제대로 잡을 수 있는 것은 모니터에서 보내오는 정보가 제대로 활용되기 때문이다.

모니터에서 보내지는 정보를 알기 위해서는 EnTech Taiwan의 MonInfo 프로그램이 필요하다.

MonInfo 실행 화면


'Display IDs'에 나타나는 목록을 선택한 후 Raw Data 항목을 복사한다.
만약 'Sample(예제)' 밖에 없다면 모니터의 정보를 받지 못하고있는 상태이므로 다음 단계를 수행할 수 없다.

정보를 제대로 받았다면, 프로그램을 이용하거나 직접 INF 파일을 수정하여 작업을 할 수 있다,
프로그램으로는 Clever Technologies의 DTDCalculator를 이용할 수 있다.

복사한 EDID Raw Data를 입력한 후 'Interpret EDID'을 누른다.

EIDE Raw Data 입력 화면


누르면 'Found DTDs'에 목록이 발생하는데, 선택하면 그에 해당하는 해상도 정보가 왼쪽의 'Interpreted Infomation'에 표시된다.

선택을 하고나서 'Registry Hack' 탭으로 이동한다.


'More' 버튼을 누르면 16진수로 된 DTD가 나타난다. 'Get Calculated'와 'Create Modeline'를 차례대로 눌러주고, 'Write DTDs to Registry'를 눌러 저장한다. 재부팅을 묻는 메시지가 나오면 확인하면 된다,

INF(설치 정보 파일)을 수정할 때에는 윈도우즈 버전에 따른 파일 이름을 확인한다.

XP: igxp32.inf
Vista 32: igdlh.inf
Vista 64: igdlh64.inf
만약 위 파일이 없다면 같은 역할을 하는 다른 INF가 존재하지 않는 한 다음 작업을 할 수 없다.

Raw EDIE base


INF 파일을 텍스트 에디터로 열고 강조된 자료들의 일부분을 이용하여 아래와 같이 변경해준다.

변경 전 예제:
HKR,, DTD_1,%REG_BINARY%, 01,1D,80,18,71,1C,16,20,58,2C,1A,00,00,00,00,00,00,86,37,01 ;1920×1080@60…Interlaced

“HKR,, TotalDTDCount, %REG_DWORD%, 0

변경 후 예제:
HKR,, DTD_1,%REG_BINARY%, 30,2A,00,98,51,00,2A,40,30,70,13,00,78,2D,11,00,00,1E,37,01 ;1920×1080@60…Interlaced

“HKR,, TotalDTDCount, %REG_DWORD%, 4

어떤 방법으로든 작업을 마쳤다면 드라이버 설정에서 설정 값이 제대로 반영되었는지 확인한다.

참고한 자료