Xmanager와 VirtualGL을 이용한 OpenGL 응용프로그램 사용 - Solaris 10, 11
VirtualGL이란
VirtualGL은 로컬의 하드웨어 자원을 이용하여 3D 명령을 처리한 후 결과를 VirtualGL 서버가 원격에서 구동 중인 VirtualGL client에게 전송하도록 하는 프로그램입니다.
X서버가 3D 기능을 지원하지 않거나 가속 기능이 없을 경우 로컬의 자원을 이용하는 VirtualGL 기능을 활용할 수 있습니다.
Solaris 시스템에 하는 설치 및 설정
- 설치
- 파일 :
Sparc 머신 : https://sourceforge.net/projects/virtualgl/files/2.1.2/SUNWvgl-2.1.2-sparc.pkg.bz2/download
X86 머신 : https://sourceforge.net/projects/virtualgl/files/2.3/VirtualGL-2.3-solarisx64.pkg.bz2/download - 위 파일을 다운로드 받은 후 ftp 등을 이용하여 솔라리스 서버에 옮겨 놓습니다.
플랫폼이 x86이거나 다른 버전을 설치하고자 할 경우 다음 경로에서 필요한 파일을 다운로드 받을 수 있습니다.
https://sourceforge.net/projects/virtualgl/files/ 패키지 설치(아래 파일명은 시스템에 맞게 다운로드 받은 파일명을 입력합니다.)
# bzip2 -d SUNWvgl-2.1.2-sparc.pkg.bz2 # pkgadd -d SUNWvgl-2.1.2-sparc.pkg The following packages are available: 1 VirtualGL VirtualGL server, client, and diagnostic utilities (i386) 2.2,REV=20101019 Select package(s) you wish to process (or 'all' to process all packages). (default: all) [?,??,q]: Processing package instance <VirtualGL> from </root/SUNWvgl-2.1.2-sparc.pkg> VirtualGL server, client, and diagnostic utilities(i386) 2.2,REV=20101019 This appears to be an attempt to install the same architecture and version of a package which is already installed. This installation will attempt to overwrite this package. Use is subject to the terms of the wxWindows Library License, version 3.1 Using </opt> as the package base directory. ## Processing package information. ## Processing system information. 49 package pathnames are already properly installed. ## Verifying package dependencies. ## Verifying disk space requirements. ## Checking for conflicts with packages already installed. ## Checking for setuid/setgid programs. Installing VirtualGL server, client, and diagnostic utilities as <VirtualGL> ## Installing part 1 of 1. [ verifying class <none> ] Installation of <VirtualGL> was successful.
설치 확인(버전이나 시스템마다 차이가 있을 수 있습니다)
#ls -l ls -l /opt/VirtualGL/ total 10 drwxr-xr-x 2 root bin 512 May 18 03:26 bin drwxr-xr-x 2 root bin 1024 May 18 03:26 doc drwxr-xr-x 2 root bin 512 May 18 03:26 fakelib drwxr-xr-x 2 root bin 512 May 18 03:26 lib
- Solaris 설정
호스트 제어에 로컬 접속 추가
# /opt/VirtualGL/bin/vglserver_config 1) Configure server for use with VirtualGL in GLX mode 2) Unconfigure server for use with VirtualGL in GLX mode X) Exit Choose: 1 Restrict 3D X server access to vglusers group (recommended)? [Y/n] n Restrict framebuffer device access to vglusers group (recommended)? [Y/n] n Disable XTEST extension (recommended)? [Y/n] n ... Modifying /etc/logindevperm to disable automatic permissions for /dev/fbs/* ... ... Granting write permission to /dev/fbs/* for all users ... ... Adding xhost +LOCAL: to /etc/X11/gdm/Init/Default script ... ... /etc/dt/config/Xconfig has been saved as /etc/dt/config/Xconfig.orig.vgl ... ... Setting Dtlogin*grabServer to False in /etc/dt/config/Xconfig ... ... Enabling XTEST extension in /etc/X11/gdm/gdm.conf ... ... Commenting out DisallowTCP line (if it exists) in /etc/X11/gdm/gdm.conf ... Done. You must restart the display manager for the changes to take effect. 1) Configure server for use with VirtualGL in GLX mode 2) Unconfigure server for use with VirtualGL in GLX mode X) Exit Choose: x
로컬 서버 접근을 위한 설정 및 Display Manager 재시작
Solaris 10의 경우# svcadm restart cde-login ### dtlogin을 사용하는 Solaris 10의 경우
Solaris 11의 경우
# svccfg -s svc:/application/x11/x11-server setprop options/tcp_listen = true ### 로컬 X 서버 접근을 위한 설정. # svcadm restart gdm ### gdm을 사용하는 Solaris 11의 경우
Xmanager에서 VirtualGL을 이용하여 OpenGL 응용프로그램을 사용하는 방법
OpenGL 응용프로그램 구동 명령문 앞에 'vglrun -c proxy'을 추가합니다.
ex)$ /opt/VirtualGL/bin/vglrun -c proxy glxgears