Linux의 그래픽 가속 기능과 New ENVI

ENVI New Interface는 OpenGL 그래픽 가속 기능을 이용합니다. Windows 운영체제에서는 거의 문제되는 일이 없지만, Linux 에서 ENVI를 사용할 경우 간혹 그래픽 드라이버와의 충돌이 일어나는 것 같습니다.

에러 메시지는 “Unable to acquire device context message…” 로 시작하는데, 결국 ENVI New를 띄우지 못하고 죽습니다. 터미널에는IDLGRSRCDEST::… 하면서 Failure 라고 합니다. 이 때 ENVI Classic은 잘 실행이 되는 상황이구요.
아마도, ENVI New에서 Preference 설정으로 들어가 Graphic Acceleration 기능을 끄면 될 것 같은데, ENVI New를 일단 띄워야 Preference 설정을 고치죠. ENVI New가 안뜨는 상황입니다. ENVI Classic의 경우 Preference가 사실 사람이 읽기 좋게 정렬된 Text 파일이었습니다만, ENVI New의 경우는 IDL Binary이고, 내포하는 데이터 형태도 Object 형입니다. 손으로 고치는 것은 좋은 시도가 아니라는 의미죠.
ExelisVIS사의 기술진으로부터 들은 Tip은 IDL/ENVI 설치판에 포함되어 있는 GL
Driver를 제거하는 것입니다. 이렇게 하면 Graphics card Acceleration을 포기한다고 하네요. 파일을 그냥 지우면 마음이 편치 않으므로, 다시 복구할 수 있게 다른
이름으로 고쳐 놓습니다.

cd /usr/local/exelis/idl82/bin/bin.linux.x86_64
mv gl_driver.so gl_driver.so.bak

이렇게 하고 ENVI New를 띄우니 정상적으로 실행이 되었습니다.
32비트 Linux용 ENVI는 이제 단종되었으므로, bin.linux.x86 디렉토리는 손 댈 필요가 없습니다(그 안에도 gl_driver.so 파일이 있어요. IDL은 32bit 모드, 64bit 모드, 모두 지원 되거든요).

리눅스는 이런 면에서 확실히 불편한 면이 있습니다. 배포판이 워낙 많다보니 모든
배포판을 챙기는 것이 어렵기도 하고, 리눅스가 게임을 위해 사용되는 일이 없다보
니(서버는 제외하고요), 그래픽 카드 제조사에서 리눅스용 드라이버를 성의 있게 만
드는 것 같지도 않습니다. 어쨌든 아쉽지만 이와 같은 방법으로 ENVI New를 무사히 띄울 수는 있었습니다.

제가 사무실에서 사용하는 리눅스 시스템은 애초에 이런 문제 없이 잘 실행이 되었
구요, 그래픽 가속을 켰을 때와 껐을 때를 비교해 보면, 화면의 zooming과 panning
에서 크지는 않지만 속도차를 느낄 수 있을 만큼의 차이는 납니다. 계산이나 데이터
처리에서는 당연히 차이가 나지 않겠지요(오직 CPU만의 일일 테니까요).