글
2011-02-18 컴퓨터를 대대적으로 업그레이드 하고 운영체제도 새로 깔았다. WindowsXP 에서 Windows7 64bit 로 다시 설치하고 리눅스도 64bit 로 설치했다.
최신 운영체제라서 설치하고 설정하는 것에 아무 문제가 없을줄 알았다. 예전에는 그래픽카드 설정에 신경을 써야했지만 요새는 dvi 포트에 모니터 꽂으면 별다른 설정 없이 알아서 해상도 잡고 잘 보여줬기 때문에...
그런데 이번에는 다시 엄청난 삽질을 하고 나서야 제대로된 화면을 볼 수 있었다 ㅠㅠ
리눅스만 그런것이 아니고 윈도우7도 같은 문제인데 아직 dvi 로는 제대로된 해상도를 쓸수가 없다.. 좀더 찾아봐야 할듯 ㅠㅠ
문제는 요새 nvidia 그래픽카드(amd 카드도 그런지는 안찾아봐서 모르겠음) 드라이버에서는 모니터의 EDID 를 참조하는데 옛날 모니터의 경우(중소기업 모니터라 그런건지..) 이것이 잘못되어 있는지 아니면 제대로 가져올 수 없는지 매우 낮은 해상도로만 화면이 표시된다.
내 그래픽 카드는 NVIDIA Geforce GTS450이다. 모니터는 MOTV CNC 에서 만든 20.1" 모니터로 최적 해상도는 1680x1050 이다. 그런데 dvi 포트를 사용하면 윈도우7 에서는 1024x768, 리눅스에서는 640x480 밖에 사용을 못한다. d-sub 포트로 연결하면 윈도우7 에선 1680x1050 을 쓸수 있지만(이것도 자동으로 설정되진 않고 잡아줘야 한다...) 리눅스는 이것도 1024x768 밖에 설정이 안된다.
문제를 해결하기 위해 먼저 Modeline 을 지정해주고 Modes 를 설정했다.
Tip. 예전에는 /etc/X11/xorg.conf 파일 하나에 X의 모든 설정이 있었지만 xorg 버전이 올라가면서(1.8부터) 지금은 /etc/X11/xorg.conf.d 디렉토리에 설정파일이 나뉘어 존재한다. 그렇지만 지금도 xorg.conf 파일을 사용할 수는 있다.
# 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz
Modeline "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
cvt 로 구한 Modeline 을 /etc/X11/xorg.conf.d/10-monitor.conf 의 Section "Monitor" 에 추가 하고 Section "Screen" 에
Depth 24
Modes "1680x1050_60.00"
EndSubSection
을 추가했으나 실패. /var/log/Xorg.0.log 를 확인해보니 No valid modes for "1680x1050_60.00"; removing. 이라며 무시되었다.
이것저것 구글링을 하며 이옵션 저옵션을 넣고 빼고 하다가 다음 링크를 찾았다.
그 안에 누가 LG의 L204WT 모니터 EDID 의 링크를 걸어줬고 CustomEDID 라는 옵션을 알게 되었다.
Section "Screen" 에 아래 옵션을 넣고 일단 d-sub 를 연결하고 X 를 띄워보았다.
1680x1050 으로 화면이 나왔다!!! 옵션에서 CRT-0 대신에 DFP-0 을 넣고 dvi 포트를 연결했으나 이건 또 실패.....
다시 구글링중 http://www.ubuntu.or.kr/viewtopic.php?f=20&t=10180 에서 doodoo 님이 하신 설정을 따라해보다가
Section "Monitor" 에 아래 옵션을 넣자 마침내 dvi 로도 1680x1050 해상도를 볼 수 있었다!!!!!!!!!!!!!!!!!!! ㅠㅠ
VertRefresh 55.0 - 75.0
거기서 doodoo 님은 EDID 를 사용하지 않는 옵션을 주고 모니터에 맞는 Modelines 를 찾아서 넣었는데.. 나는 거기있는 설정으로는 작동하지 않았다.
내가 성공한 설정의 설정파일은 다음과 같다. # 으로 주석처리한 부분은 이것저것 바꿔봤던 설정들이다;;;
Section "Monitor"
Identifier "Monitor0"
HorizSync 30.0 - 81.0
VertRefresh 55.0 - 75.0
# 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz
Modeline "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
# 1680x1050 @ 60.00 Hz (GTF) hsync: 65.22 kHz; pclk: 147.14 MHz
#Modeline "1680x1050_60.00" 147.14 1680 1784 1968 2256 1050 1051 1054 1087 -HSync +Vsync
#ModeLine "1680x1050rb" 119.0 1680 1728 1760 1840 1050 1053 1059 1080 +Hsync -VSync
#Option "DPMS"
EndSection
Section "Screen"
Identifier "Screen0" #Collapse Monitor and Device section to Screen section
Device "Default nvidia Device"
Monitor "Monitor0"
DefaultDepth 24 #Choose the depth (16||24)
Option "CustomEDID" "CRT-0:/etc/X11/xorg.conf.d/edid.bin;DFP-0:/etc/X11/xorg.conf.d/edid.bin"
SubSection "Display"
Depth 24
Modes "1680x1050_60.00"
EndSubSection
EndSection
Section "Device"
Identifier "Default nvidia Device"
Driver "nvidia"
Option "NoLogo" "True"
#Option "UseEDID" "FALSE"
#Option "UseEDIDFreqs" "false"
#Option "ModeValidation" "DFP-0: NoMaxPClkCheck, NoEdidMaxPClkCheck"
#Option "ModeValidation" "NoDFPNativeResolutionCheck"
Option "DPI" "96 x 96"
EndSection
/etc/X11/xorg.conf.d/edid.bin 은
을 풀면 그 안에 있습니다.
RECENT COMMENT