我正在尝试使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
(显示: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服务器上执行此操作?如果是这样,怎么办?
PS当我从命令行运行Chrome浏览器时,这是我的错误:
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.