私はAWS EC2 Ubuntu 14.04を使用してOpenGL + SDL2アプリケーションをテストしています。私はSDLバージョン2.0.2を使用しています。 AWS EC2はヘッドレスですので、私はXVFBを使用していますし、/etc/init.d/xvfbにこのスクリプトを使用した:iアプリを実行する前にAWS EC2でOpenGL + SDL2を実行
XVFB=/usr/bin/Xvfb
XVFBARGS=":99 -ac -screen 0 1024x768x24"
PIDFILE=/tmp/cucumber_xvfb_99.pid
case "$1" in
start)
echo -n "Starting virtual X frame buffer: Xvfb"
/sbin/start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile --background --exec $XVFB -- $XVFBARGS
echo "."
;;
stop)
echo -n "Stopping virtual X frame buffer: Xvfb"
/sbin/start-stop-daemon --stop --quiet --pidfile $PIDFILE
rm -f $PIDFILE
echo "."
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: /etc/init.d/xvfb {start|stop|restart}"
exit 1
esac
exit 0
これらは、Linuxのコマンドです:
export DISPLAY=:99.0
sh -e /etc/init.d/xvfb start
sleep 3
しかし、私はhttps://docs.travis-ci.com/user/gui-and-headless-browsers/からの指示に従ってください、私のAWSのマシンで同じことをやりたいので、私は実際にこれをやっている
|(SDL_INIT_TIMER SDL_INIT_VIDEO)私はSDL_Initを呼び出しからエラー「がミールサーバーへの接続に失敗しました」です。私はtravisでも試してみました。また、xvfbスクリプトはtravis ci setupからも取りました。
これが役立つかどうかわかりませんが、これらはglxinfoの出力です。 grepのOpenGLの:
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.4, 256 bits)
OpenGL version string: 2.1 Mesa 10.1.3
OpenGL shading language version string: 1.30
OpenGL extensions:
だから、私は基本的に私の質問は推測:ヘッドレスのUbuntu 14.04でのセットアップ(好ましくはバージョン3)のOpenGL + SDL2にどのように?
ありがとうございます。
私はOSMesaについてのURLを読んでいます。 SDL_GL_CreateContextを使用する代わりに、OSMesaCreateContext()、OSMesaMakeCurrent()、およびOSMesaDestroyContext()を使用する必要があることを意味しますか? – bysreg
はい、SDLをまったく使用しません。 –