기존 호스트 위에서 가상 운영체제를 실행하는 것은 정말 훌륭한 아이디어입니다. 재미있고 멋진 기술일 뿐만 아니라, 실제 플랫폼에 적용하기 전에 소프트웨어를 미리 실험해볼 수 있고, 평소에는 감히 시도하지 못할 작업도 해볼 수 있으며, 놀라운 유연성과 함께 배포 비용을 크게 절감해 줍니다.
그러나 대부분의 가상화 소프트웨어가 갖지 못했던 한 가지가 바로 게스트 운영체제를 위한 3D 가속입니다. 아니, 과거의 이야기죠... 이제 가상 머신에서의 3D 가속은 현실이 되었습니다.

소개
이 시리즈 기사에서는 게스트 운영체제에서 3D 가속을 활성화하는 데 필요한 간단한 방법들을 소개합니다! 이를 통해 여러분의 가상 머신은 더 이상 2D 애플리케이션에만 국한되지 않습니다. 풍부하고 인터랙티브한 데스크톱 환경을 누릴 수 있으며, 무엇보다 가상 머신 안에서 게임까지 즐길 수 있습니다.
첫 번째 기사에서는 VMware Server에서 DirectX 지원을 활성화하는 방법을 배워보겠습니다. 이 솔루션은 VMware Player나 VMware Workstation에서도 동일하게 적용됩니다. 호스트 운영체제의 종류는 중요하지 않지만, 게스트는 반드시 Windows여야 합니다.
두 번째 기사에서는 VirtualBox의 OpenGL 지원을 활용해 보겠습니다. 마찬가지로 호스트 운영체제는 중요하지 않지만(Windows 또는 Linux 모두 가능), 게스트는 Windows로 실행해야 합니다. 보시다시피 두 솔루션 모두 Windows 게스트에만 한정된다는 제약이 있습니다. 그래서 세 번째 기사에서는 Linux 호스트 위에서 Linux 게스트에게 3D 가속을 제공하는 VMGL이라는 솔루션을 다뤄볼 예정입니다.
주의 사항
언급된 모든 기능(그리고 이에 따른 솔루션들)은 현재 실험적인 상태입니다. 즉, 설정이 여러분의 환경에서 잘 작동할 수도 있고, 그렇지 않을 수도 있습니다. 또한 완벽하지 않은 통합성과 성능을 의미하기도 합니다.
3D 가상화는 아직 초기 단계이지만 끊임없이 발전하고 있습니다. 가까운 미래에는 우리가 원하는 완벽하고 온전한 3D 그래픽 지원을 갖추게 될 것입니다. 지금은 우리가 할 수 있는 것부터 살펴보겠습니다. 자, 시작해 봅시다!
잠깐만요! 가상화를 거의 모른다면?
아, 죄송합니다. 가상화가 처음이라면 이 기사(정확히는 이 시리즈 전체)가 다소 어려울 수 있습니다. 따라서 주제에 익숙해질 때까지 제 가상화 섹션의 기사들을 먼저 읽어보시기를 권장합니다.
특히 다음 기사들을 주목하세요:
VMware Tools 설치 방법 - 튜토리얼
Windows XP 설치하기 - 상세 튜토리얼 - 필요한 것을 얻는 데 도움이 되는 또 다른 기사입니다. 실제 호스트와 가상 머신 모두에서 동일하게 적용되는 Windows XP 설치 절차를 알려줍니다. 물론 이번 튜토리얼 역시 최대한 쉽고 상세하게 설명하여 누구나 따라할 수 있도록 하겠습니다.
VMware Server와 DirectX
준비물은 무엇인가?
VMware 제품(Player, Server, Workstation 중 하나)이 필요합니다. 이들은 서로 배타적이므로 한 번에 하나만 설치할 수 있습니다. 이번 튜토리얼에서 선택한 구성은 다음과 같습니다:
- Windows XP SP3를 호스트로 사용하는 VMware Server 1.0.5 (Windows 호스트 예제)
- openSUSE 11.0을 호스트로 사용하는 VMware Server 1.0.8 (Linux 호스트 예제)
- 두 경우 모두 게스트 운영체제로 Windows XP SP3 사용
- 게스트 운영체제에 VMware Tools 설치
- 가상 머신 구성 파일의 간단한 수정
- DirectX가 필요한 테스트용 게임
참고: VMware Player를 사용하실 계획이라면 Windows 가상 머신에 이미 VMware Tools가 설치되어 있는지 확인하세요.
준비가 모두 되었다고 가정하고(1~4단계), 이제 가상 머신 구성 파일을 수정해 보겠습니다. 1~4단계를 어떻게 수행해야 할지 확실하지 않다면 제 가상화 섹션을 참조하세요.
가상 머신의 3D 가속 활성화하기
가상 머신에는 구성 파일이 있습니다. .vmx 확장자로 식별할 수 있는데, .vmx 파일은 VMware 프로그램이 해석하고 사용할 수 있는 문법으로 작성된 지시문을 담고 있는 단순한 텍스트 파일입니다. 구성 파일에서는 게스트가 사용할 CPU 수, RAM 용량, 하드 디스크 등을 정의합니다.
구성 파일은 반드시 가상 머신이 종료된 상태에서만 수정해야 합니다! 가상 머신과 구성 파일이 있는 폴더를 열고 해당 .vmx 파일을 찾아 텍스트 편집기로 엽니다.
이제 3D 가속을 활성화하는 섹션을 추가해야 합니다.
필요한 첫 번째 줄입니다:
mks.enable3d = TRUE
이 줄이 3D 가속을 활성화합니다.
두 번째로 선택적인 줄입니다:
svga.vramSize = 67108864
이 줄은 가상 GPU에 할당할 메모리 용량을 지정합니다. 제 예제에서는 64MB입니다. 정확하게 계산하려면, 예를 들어 32MB라면 32 x 1024 x 1024로 계산해야 합니다. 1KB가 1024바이트이기 때문입니다. 최대값은 128MB입니다.
세 번째 선택적 줄은 마우스 통합을 비활성화합니다. 특정 게임, 특히 전체 화면 실시간 FPS(1인칭 슈팅) 게임에서 중요합니다.
vmmouse.present = FALSE
세 번째 옵션과 함께, 가상 머신의 커서 잡기(grab) 기능도 꺼야 합니다. VMware 제품 콘솔의 메인 메뉴에서 Edit > Preferences를 클릭하고 Input 탭을 선택한 후, Cursor 항목에서 Ungrab when cursor leaves window의 체크를 해제합니다.
이것이 무엇을 하는지 궁금하시다면, 게임이 마우스가 가상 머신 밖으로 나갔을 때 마우스 움직임을 기억하지 못하도록 방지하는 기능입니다. 예를 들어 마우스를 가상 화면 오른쪽으로 밀어 '잡기 해제'하면, 게임이 계속 오른쪽으로 진행되지 않습니다. 마우스 움직임으로 맵을 스크롤하는 게임에서는 맵이 계속 스크롤되지 않고, FPS처럼 마우스 움직임으로 조준하는 게임에서는 캐릭터가 빙글빙글 회전하지 않습니다.
마지막으로 파일에 다음과 같은 섹션이 포함되어야 합니다:
모든 준비가 끝났습니다. 부팅하고 테스트해 봅시다.
Windows 호스트, Windows 게스트
가상 머신 부팅
부팅 후 VMware Tools가 설치되어 실행 중인지 확인하세요. 시스템 트레이에 VMware 아이콘이 있는지 살펴보면 알 수 있습니다.
다음으로 dxdiag를 실행하여 디스플레이 진단 정보를 확인합니다 (Start > Run > dxdiag):
DirectX Features 항목에 주목하세요. DirectDraw와 Direct3D가 활성화되어 있습니다. AGP Texture Acceleration은 사용 불가능하지만, 충분히 좋습니다. 최고는 아니지만 나쁘지 않습니다. 위쪽 Device 항목에서 VMware 드라이버가 설치되어 있고 64MB RAM을 갖추고 있음을 확인할 수 있습니다.
게임 테스트
테스트 후보로 Max Payne과 Scorched3D를 선정했습니다:
두 게임 모두 잘 작동했습니다. 성능도 합리적인 수준이었습니다. 네이티브 플랫폼만큼 부드럽거나 빠르지는 않았지만, 올바른 방향으로 나아가는 한 걸음입니다.
Linux 호스트, Windows 게스트
마찬가지로 Linux 머신에서도 잘 작동했습니다. 게다가 가상 머신이 위치한 원격 Windows 머신에 연결하여 무선 네트워크를 통해 원격으로 실행까지 해냈습니다!
결론
설정 과정은 간단합니다. 3D 가속이 작동합니다. 현재 성능은 GeForce 2/4 카드를 사용하는 것과 거의 비슷한 수준이며, 어쩌면 약간 더 나을 수도 있습니다. 하지만 이를 아직 어리고 성장 중인 아이로 생각하세요. 언젠가 강력한 3D 그래픽을 지원하게 될 것입니다. 가상화를 사랑하는 모든 열성 팬들에게 이것은 엄청나게 중요한 발걸음입니다. 다음 기사에서는 VirtualBox와 OpenGL 애플리케이션을 활용한 동일한 작업을 다뤄보겠습니다.
즐겁게 활용하시기 바랍니다.