Ich versuche, WebGL auf meinem Amazon EC2-Server zum Laufen zu bringen (Migration von einem bürogebundenen Mac Mini, der viele Probleme hat).
Ich habe einige Tage gearbeitet, um das zum Laufen zu bringen, aber ich werde versuchen, dort anzufangen, wo ich angefangen habe.
Zuerst habe ich das folgende AMI Ubuntu Server 12.04 LTS (HVM) - ami-8c8675fb
mit Instanztyp installiert cg1.4xlarge
. Ich habe diesen Instanztyp ausgewählt, damit er Cirrus Logic GD 5446
für grafische Ausführungen verwendet wird.
Natürlich ist die primäre Installation kopflos, also musste ich diesen Server von Grund auf neu erstellen, was ich zuerst getan habe, ist.
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
Danach habe ich einen LAMP-Server installiert (der übliche) und den Kernel auf aktualisiert 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
.
Ich habe auch die xorg edgers PPA unter https://launchpad.net/~xorg-edgers/+archive/ppa registriert .
Nach dem Neustart musste ich einen Bildschirm mit meinem Server verbinden. Ich entschied mich dafür, dies mit vnc4server zu tun.
Das ist also das Übliche und mein xstartup sieht so aus:
#!/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 &
Nachdem ich meinen VNC-Server gestartet und verbunden hatte, habe ich meine glfxinfo ausgecheckt, also DISPLAY=:1 glxinfo
(Anzeige: 1 ist der VNC)
Die erste Ausgabe war:
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
Ich habe dieses Problem behoben, indem ich das nvidia-current
Paket installiert habe . Ich wusste bereits, dass WebGL ausgeführt werden kann. Ich benötigte mindestens GLX Version 1.3. Also gab ich einen glxinfo
weiteren Schwung und das ergab die folgende Ausgabe:
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
Wie Sie sehen, reicht die GLX-Version nicht aus, um WebGL auszuführen. Ich habe alle Anleitungen dazu ausprobiert. Keiner von ihnen scheint die GLX-Version zu erhöhen. Sie fragen sich wahrscheinlich, warum WebGL? Nun, ich habe dies auf einem Mac Mini-Server ausgeführt, der perfekt funktioniert hat, um ein schönes 3D-Video zu erstellen. Sie möchten den Code nicht bearbeiten, sondern nur in der Cloud bereitstellen. Habe auch den Windows Server ausprobiert, lief dort aber in vielen Problemen mit, ffmpeg
so dass dies auch keine Option ist. Ich denke jetzt an einen Mac OS Cloud Server, frage mich aber immer noch, was hier falsch läuft.
Meine Frage: Ist das überhaupt auf meinem Amazon EC2-Server möglich? Und wenn ja, wie?
PS Wenn ich den Chrom-Browser über die Befehlszeile starte, ist dies mein Fehler:
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.