Amazon EC2 서버에서 WebGL을 실행하기


8

WebGL이 Amazon EC2 서버에서 작동하도록 노력하고 있습니다 (사무실에 묶인 Mac Mini에서 마이그레이션, 많은 딸꾹질이 있음).

이것을 실행하기 위해 며칠 동안 일했지만 시작한 곳부터 시작하려고합니다.

먼저 Ubuntu Server 12.04 LTS (HVM) - ami-8c8675fb인스턴스 유형으로 다음 AMI 를 설치했습니다 cg1.4xlarge. 해당 인스턴스 유형을 선택 Cirrus Logic GD 5446하여 그래픽 실행을 위해 제공됩니다 .

물론 기본 설치는 헤드리스이므로 처음부터이 서버를 처음부터 구축해야했습니다.

sudo apt-get install ubuntu-desktop
sudo apt-get install gdm
sudo /etc/init.d/gdm start
sudo dpkg-reconfigure xserver-xorg
sudo apt-get install gnome-core

그 후 LAMP 서버 (일반)를 설치하고 커널을로 업데이트했습니다 Linux ip-172-31-29-168 3.8.0-37-generic #53~precise1-Ubuntu SMP Wed Feb 19 21:37:54 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux.

또한 https://launchpad.net/~xorg-edgers/+archive/ppa에 xorg edgers PPA를 등록했습니다 .

재부팅 한 후 화면을 서버에 연결해야했지만 vnc4server를 사용하여이 작업을 수행했습니다.

그래서 그것은 평범하고 내 xstartup은 다음과 같습니다 :

#!/bin/sh

# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
#exec /etc/X11/xinit/xinitrc
gnome-session --session=gnome-classic &

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
#x-terminal-emulator -geometry 1280x1024+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &

VNC 서버를 시작하고 연결 한 후 glfxinfo를 확인 했으므로 DISPLAY=:1 glxinfo(Display : 1은 VNC입니다)

첫 번째 출력은 다음과 같습니다.

name of display: :1
libGL error: failed to load driver: swrast
libGL error: Try again with LIBGL_DEBUG=verbose for more details.
Error: couldn't find RGB GLX visual or fbconfig
Error: couldn't find RGB GLX visual or fbconfig

nvidia-current패키지 를 설치 하여이 문제를 해결했습니다 . WebGL을 실행할 것을 이미 알고있었습니다. GLX 버전 1.3 이상이 필요했습니다. 그래서 나는 glxinfo또 다른 스윙을했고 그 결과는 다음과 같습니다.

ubuntu@ip-172-31-29-168:~$ DISPLAY=:1 glxinfo | grep version
Xlib:  extension "NV-GLX" missing on display ":1".
Xlib:  extension "NV-GLX" missing on display ":1".
server glx version string: 1.2
client glx version string: 1.4
GLX version: 1.2
OpenGL core profile version string: 1.3 Mesa 4.0.4
OpenGL version string: 1.3 Mesa 4.0.4

GLX 버전이 WebGL을 실행하기에 충분하지 않다는 것을 알 수 있듯이 이에 대한 모든 가이드를 시도했습니다. 그들 중 누구도 GLX 버전을 올리지 않는 것 같습니다. 왜 WebGL이 좋은지 모르겠습니다. Mac Mini 서버에서 이것을 실행했을 때 멋진 3D 비디오를 완벽하게 만들었습니다. 코드를 편집하지 않고 클라우드에서 코드를 작성하려고합니다. 또한 Windows 서버를 사용해 보았지만 많은 문제가 발생 ffmpeg하여 옵션이 아닙니다. 이제 Mac OS 클라우드 서버를 구할 생각이 있지만 여기서 무엇이 잘못되었는지 궁금합니다.

내 질문 : 내 Amazon EC2 서버 에서이 작업을 수행 할 수 있습니까? 그렇다면 어떻게?

추신 : 명령 줄에서 크롬 브라우저를 실행할 때 이것이 내 오류입니다.

ubuntu@ip-172-31-29-168:~/.vnc$ DISPLAY=:1 chromium-browser --enable-webgl
[12243:12243:0307/155523:ERROR:gl_surface_glx.cc(413)] GLX 1.3 or later is required.
[12243:12243:0307/155523:ERROR:gl_surface_x11.cc(58)] GLSurfaceGLX::InitializeOneOff failed.

답변:


1

가상 머신 내에서 OpenGL 애플리케이션을 실행하면 성능이 저하 될 가능성이 큽니다. 우선, 하드웨어 가속을 사용할 수 없지만 소프트웨어 렌더러로 대체해야합니다. 이것이 첫 번째 오류 메시지입니다.

libGL error: failed to load driver: swrast

사용 가능한 Nvidia 카드가 없으므로 Nvidia 드라이버를 설치해도 도움이되지 않으므로 두 번째 오류 메시지가 표시됩니다. 소프트웨어 렌더러를 사용할 수는 있지만 매우 느립니다.

따라서 대답은 다음과 같습니다. 예. 원하는 작업을 수행하는 것이 가능할 수 있지만 가상 호스트에서 VNC와 잘 작동하는 전용 하드웨어가 없으면 좋은 경험이 아닙니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.