아직 화면이 나오기는 하지만 상태가 그렇게 좋진 않은 모니터가 있다

그걸로 TV 프로나 좀 보고 또 이것 저것 가지고 놀면 재미있을 것 같아서 라즈베리 파이(Raspberry pi)란 놈을 샀다

어디 한번 볼까? 하고 부팅을 시켰는데 모니터에 화면이 안뜬다 -_-;;

hdmi 포트만 있어서 hdmi to dvi 젠더로 연결했는데 이것 때문인가? 잠시 생각했지만

지금 사용중인 DELL 모니터에 연결하면 잘 나온다;;

여기저기 구글링 해보니 /boot/config.txt 를 수정해서 모니터 설정을 할 수 있었다.

http://elinux.org/RPiconfig

http://www.raspberrypi.org/phpBB3/viewtopic.php?p=173430#p173430


모니터가 전에도 dvi 해상도 때문에 속썩이더니 역시나 속을 썩인다

어쨌든 설정한 값은

hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=58
hdmi_edid_file=1

그리고 모니터의 EDID 값이 제대로 설정되어 있지 않기 때문에 같은 해상도의 다른 모니터 EDID 를 /boot/edid.dat 라는 이름으로 가져다 놓았다


나중에 Archlinux 설치해서 쓸 생각인데 그럼 이 설정도 보통 리눅스처럼 xorg 설정으로 하려나?


by 패스파인더 2012. 12. 19. 00:14
Archlinux x86_64
KDE 4.6


by 패스파인더 2011. 2. 19. 20:50

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 파일을 사용할 수는 있다.

[mj@mj-arch ~]$ cvt 1680 1050
# 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" 에

    SubSection "Display"
       Depth     24
       Modes     "1680x1050_60.00"
   EndSubSection

을 추가했으나 실패. /var/log/Xorg.0.log 를 확인해보니 No valid modes for "1680x1050_60.00"; removing. 이라며 무시되었다.

 이것저것 구글링을 하며 이옵션 저옵션을 넣고 빼고 하다가 다음 링크를 찾았다.

http://forums.opensuse.org/english/get-technical-help-here/hardware/443968-graphics-issue-w-11-2-nvidia-unable-get-full-resolution-1680x1050-2.html

그 안에 누가 LG의 L204WT 모니터 EDID 의 링크를 걸어줬고 CustomEDID 라는 옵션을 알게 되었다.

Section "Screen"  에 아래 옵션을 넣고 일단 d-sub 를 연결하고 X 를 띄워보았다.

Option        "CustomEDID" "CRT-0:/etc/X11/xorg.conf.d/edid.bin"

1680x1050 으로 화면이 나왔다!!! 옵션에서 CRT-0 대신에 DFP-0 을 넣고 dvi 포트를 연결했으나 이건 또 실패.....

다시 구글링중 http://www.ubuntu.or.kr/viewtopic.php?f=20&t=10180 에서 doodoo 님이 하신 설정을 따라해보다가

Section "Monitor" 에 아래 옵션을 넣자 마침내 dvi 로도 1680x1050 해상도를 볼 수 있었다!!!!!!!!!!!!!!!!!!! ㅠㅠ

HorizSync       30.0 - 81.0
VertRefresh     55.0 - 75.0

거기서 doodoo 님은 EDID 를 사용하지 않는 옵션을 주고 모니터에 맞는 Modelines 를 찾아서 넣었는데.. 나는 거기있는 설정으로는 작동하지 않았다.


내가 성공한 설정의 설정파일은 다음과 같다. # 으로 주석처리한 부분은 이것저것 바꿔봤던 설정들이다;;;

# /etc/X11/xorg.conf.d/10-monitor.conf
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

# /etc/X11/xorg.conf.d/20-nvidia.conf
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 은

을 풀면 그 안에 있습니다.


by 패스파인더 2011. 2. 19. 12:36
| 1 2 3 4 ··· 7 |