2013년 1월 11일 금요일

centos + nvidia + virtualgl => [VGL] ERROR: Could not open display :0.


refernece : http://stringr.blogspot.kr/2012/12/centos-nvidia-virtualgl-vgl-error-could.html
如果你的 Linux工作站只有遠端登入使用,連螢幕都沒有接,那你可能會遇到 [VGL] ERROR: Could not open display :0. 的問題。

檢查你的Xorg.0.log:

(EE) Dec 02 19:15:02 NVIDIA(0): Failed to assign any connected display devices to X screen 0
(EE) Dec 02 19:15:02 NVIDIA(0): Failing initialization of X screen 0
(II) UnloadModule: "nvidia"
(II) UnloadModule: "ramdac"
(II) UnloadModule: "wfb"
(II) UnloadModule: "fb"
(EE) Screen(s) found, but none have a usable configuration.

Fatal server error:
no screens found

如果出現上面的錯誤訊息,那表示nvidia顯卡偵測不到螢幕,所以他自己卸載了,於是你的系統中就不存在display:0,所以導致virtualgl錯誤。

 解決方法:

編輯你的xorg.conf

Section "Device"
    Identifier     "Videocard0"
    Driver         "nvidia"
    Option         "ConnectedMonitor" "CRT"
EndSection

출저 : http://blog.syszone.co.kr/3193?category=21
리눅스 시스템의 부팅 모드를 init 5 모드로 부팅을 해야할 경우, 기본적으로 콘솔에 모니터가 장착되어 있어야 한다. 하지만 서버용도로 사용할 경우 콘솔에 모니터가 연결 안되어 있는 환경도 존재
한다. 이때 원격으로 3D 관련 라이브러리를 이용하는 SW 실행 시 문제가 발생할 수 있다.


아래는 모니터를 연결하지 않고, init  5 모드로 정상 부팅 시키는 방법이다.


/etc/X11/xorg.conf 파일의 screen 설정 세션에서

   Option         "ConnectedMonitor" "CRT-0"
   Option         "UseDisplayDevice" "CRT-0"

옵션을 추가하면 된다.

실제 init 5 로 부팅할 경우 일반적인 부팅프로세스를 진행한 후, X 로딩 시 그래픽 카드가 모니터의 EDID값을 자동으로 받아와서 모니터 환경과 해상도 등을 자동으로 적용하게 된다.

이때 모니터가 장착되지 않은 환경에서는 모니터의 EDID 값 호출 단계에서 실패하여 정상적으로 X 를 시작
할수 없다.

이때 위 두 옵션을 추가하면, xorg.conf 설정 파일 자체에서 CRT-0 로 모니터가 장착되었다고 강제로
정의시켜 이런 문제를 해결할 수 있다.

아래는 전체 screen 설정 예이다.

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "1280x1024_60 +0+0"
    Option         "ConnectedMonitor" "CRT-0"
    Option         "UseDisplayDevice" "CRT-0"
    SubSection     "Display"
        Depth       24
  Modes       "1280x1024"
    EndSubSection
EndSection

댓글 없음:

댓글 쓰기