我正在使用AWS EC2 Ubuntu 14.04來測試我的OpenGL + SDL2應用程序。我正在使用SDL 2.0.2版。由於AWS EC2是無頭的,我使用XVFB和使用這個腳本在/etc/init.d/xvfb:我運行應用程序之前在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
但我得到了「無法連接到MIR服務器」錯誤與調用SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER)
其實我這樣做是因爲我遵循https://docs.travis-ci.com/user/gui-and-headless-browsers/指令,並希望做同樣的在我的AWS機。我也試過它與Travis,而且xvfb腳本也是從travis ci設置中提取的。
不知道這是否會有所幫助,但這些是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:
所以,我想我的主要問題是:如何設置OpenGL的(最好是第3版)+ SDL2在無頭的Ubuntu 14.04?
在此先感謝
我讀了關於OSMesa的網址。這是否意味着我必須使用OSMesaCreateContext(),OSMesaMakeCurrent()和OSMesaDestroyContext()而不是使用SDL_GL_CreateContext? – bysreg
是的,你根本不會使用SDL。 –