openai / go-vncdriver

Fast VNC driver
MIT License
124 stars 61 forks source link

OpenGL error does not go away #18

Open XanYder opened 7 years ago

XanYder commented 7 years ago

When I try to run the universe starting agent I get the error go_vncdriver was installed without OpenGL support. So I looked on the github of the vncdriver and did everything it said there. But the error remains. What do I do now?

XanYder commented 7 years ago

[2017-01-04 13:20:07,331] Making new env: flashgames.SpacePunkRacer-v0 [2017-01-04 13:20:07,415] Writing logs to file: /tmp/universe-3195.log [2017-01-04 13:20:07,716] [0] Creating container: image=quay.io/openai/universe.flashgames:0.20.15. Run the same thing by hand as: docker run -p 5900:5900 -p 15900:15900 --cap-add SYS_ADMIN --ipc host --privileged quay.io/openai/universe.flashgames:0.20.15 [2017-01-04 13:20:09,903] Remote closed: address=localhost:15900 [2017-01-04 13:20:09,903] At least one sockets was closed by the remote. Sleeping 1s... [2017-01-04 13:20:10,905] Remote closed: address=localhost:5900 [2017-01-04 13:20:10,906] Remote closed: address=localhost:15900 [2017-01-04 13:20:10,906] At least one sockets was closed by the remote. Sleeping 1s... [2017-01-04 13:20:11,908] Remote closed: address=localhost:5900 [2017-01-04 13:20:11,909] Remote closed: address=localhost:15900 [2017-01-04 13:20:11,909] At least one sockets was closed by the remote. Sleeping 1s... universe-V3fRFI-0 | Setting VNC and rewarder password: openai [2017-01-04 13:20:12,910] Remote closed: address=localhost:15900 [2017-01-04 13:20:12,910] Remote closed: address=localhost:5900 [2017-01-04 13:20:12,911] At least one sockets was closed by the remote. Sleeping 1s... universe-V3fRFI-0 | [Wed Jan 4 12:20:13 UTC 2017] Waiting for /tmp/.X11-unix/X0 to be created (try 1/10) universe-V3fRFI-0 | [Wed Jan 4 12:20:13 UTC 2017] [/usr/local/bin/sudoable-env-setup] Disabling outbound network traffic for none universe-V3fRFI-0 | [init] [2017-01-04 12:20:13,724] Launching system_diagnostics_logger.py, recorder_logdir=/tmp/demo universe-V3fRFI-0 | [init] [2017-01-04 12:20:13,728] Launching reward_recorder.py, recorder_logdir=/tmp/demo universe-V3fRFI-0 | [init] [2017-01-04 12:20:13,732] Launching vnc_recorder.py, recorder_logdir=/tmp/demo universe-V3fRFI-0 | [init] [2017-01-04 12:20:13,737] PID 51 launched with command ['sudo', '-H', '-u', 'nobody', 'DISPLAY=:0', 'DBUS_SESSION_BUS_ADDRESS=/dev/null', '/app/universe-envs/controlplane/bin/controlplane.py', '--rewarder-port=15901'] [2017-01-04 13:20:13,915] Remote closed: address=localhost:5900 [2017-01-04 13:20:13,915] Remote closed: address=localhost:15900 [2017-01-04 13:20:13,916] At least one sockets was closed by the remote. Sleeping 1s... universe-V3fRFI-0 | [Wed Jan 4 12:20:14 UTC 2017] Waiting for /tmp/.X11-unix/X0 to be created (try 2/10) [2017-01-04 13:20:14,918] Remote closed: address=localhost:15900 [2017-01-04 13:20:14,919] Remote closed: address=localhost:5900 [2017-01-04 13:20:14,920] At least one sockets was closed by the remote. Sleeping 1s... [2017-01-04 13:20:15,921] Remote closed: address=localhost:15900 [2017-01-04 13:20:15,922] At least one sockets was closed by the remote. Sleeping 1s... universe-V3fRFI-0 | [init] [2017-01-04 12:20:16,448] init detected end of child process 15 with exit code 0, not killed by signal [2017-01-04 13:20:16,923] Remote closed: address=localhost:15900 [2017-01-04 13:20:16,923] At least one sockets was closed by the remote. Sleeping 1s... universe-V3fRFI-0 | [init] [2017-01-04 12:20:17,356] init detected end of child process 54 with exit code 0, not killed by signal universe-V3fRFI-0 | WebSocket server settings: universe-V3fRFI-0 | - Listen on :5898 universe-V3fRFI-0 | - Flash security policy server universe-V3fRFI-0 | - No SSL/TLS support (no cert file) universe-V3fRFI-0 | - proxying from :5898 to localhost:5900 [2017-01-04 13:20:17,925] Remote closed: address=localhost:15900 [2017-01-04 13:20:17,926] At least one sockets was closed by the remote. Sleeping 1s... [2017-01-04 13:20:18,929] Using the golang VNC implementation [2017-01-04 13:20:18,930] Using VNCSession arguments: {'subsample_level': 2, 'start_timeout': 7, 'fine_quality_level': 50, 'encoding': 'tight'}. (Customize by running "env.configure(vnc_kwargs={...})" [2017-01-04 13:20:18,934] [0] Connecting to environment: vnc://localhost:5900 password=openai. Use the browser-based VNC client: http://localhost:15900/viewer/?password=openai 2017/01/04 13:20:18 I0104 13:20:18.935843 3195 gymvnc.go:417] [0:localhost:5900] opening connection to VNC server 2017/01/04 13:20:18 I0104 13:20:18.942278 3195 gymvnc.go:550] [0:localhost:5900] connection established Traceback (most recent call last): File "demo.py", line 11, in env.render() File "/home/xander/.local/lib/python2.7/site-packages/gym/core.py", line 175, in render return self._render(mode=mode, close=close) File "/home/xander/.local/lib/python2.7/site-packages/gym/core.py", line 344, in _render return self.env.render(mode, close) File "/home/xander/.local/lib/python2.7/site-packages/gym/core.py", line 175, in render return self._render(mode=mode, close=close) File "/home/xander/universe/universe/wrappers/render.py", line 49, in _render return self.env.render(mode=mode, *args, **kwargs) File "/home/xander/.local/lib/python2.7/site-packages/gym/core.py", line 175, in render return self._render(mode=mode, close=close) File "/home/xander/.local/lib/python2.7/site-packages/gym/core.py", line 344, in _render return self.env.render(mode, close) File "/home/xander/.local/lib/python2.7/site-packages/gym/core.py", line 175, in render return self._render(mode=mode, close=close) File "/home/xander/universe/universe/envs/vnc_env.py", line 537, in _render self.vnc_session.render(self.connection_names[0]) go_vncdriver.Error: /tmp/pip-build-bb3DYa/go-vncdriver/.build/src/github.com/openai/go-vncdriver/main.go:387: go_vncdriver was installed without OpenGL support. See https://github.com/openai/go-vncdriver for details on how debug. [2017-01-04 13:20:19,256] Killing and removing container: id=7ef4659353337339e9812752b3918e2cbe961a8c2d33d35389eeec4a72100765. (If this command errors, you can always kill all automanaged environments on this Docker daemon via: docker rm -f $(docker ps -q -a -f 'label=com.openai.automanaged=true') [2017-01-04 13:20:19,286] [0:localhost:5900] Waiting on rewarder: failed to complete WebSocket handshake. Retry in 1s (slept 0s/7s): connection was closed uncleanly (peer dropped the TCP connection without previous WebSocket closing handshake)

tlbtlbtlb commented 7 years ago

Can you include logs on how you built and installed go-vncdriver? Something must be going wrong there.

XanYder commented 7 years ago

sudo apt-get install -y python-dev make golang libjpeg-turbo8-dev [sudo] password for xander: Reading package lists... Done Building dependency tree Reading state information... Done golang is already the newest version (2:1.6-1ubuntu4). libjpeg-turbo8-dev is already the newest version (1.4.2-0ubuntu3). make is already the newest version (4.1-6). python-dev is already the newest version (2.7.11-1). 0 upgraded, 0 newly installed, 0 to remove and 186 not upgraded.

XanYder commented 7 years ago

xander@Xander:~/universe/go-vncdriver$ ./build.py Env info: export GOPATH='/home/xander/universe/go-vncdriver/.build' export CGO_CFLAGS='-I/home/xander/.local/lib/python2.7/site-packages/numpy/core/include -I/usr/include/python2.7' export CGO_LDFLAGS='/usr/lib/x86_64-linux-gnu/libjpeg.so -L/usr/lib -lpython2.7' export GO15VENDOREXPERIMENT='1' Running build with OpenGL rendering. Building with OpenGL: GOPATH=/home/xander/universe/go-vncdriver/.build go build -buildmode=c-shared -o go_vncdriver.so github.com/openai/go-vncdriver. (Set GO_VNCDRIVER_NOGL to build without OpenGL.) github.com/openai/go-vncdriver/vendor/github.com/go-gl/glfw/v3.2/glfw In file included from glfw/src/internal.h:163:0, from glfw/src/context.c:28, from .build/src/github.com/openai/go-vncdriver/vendor/github.com/go-gl/glfw/v3.2/glfw/c_glfw.go:4: glfw/src/x11_platform.h:36:22: fatal error: X11/Xlib.h: No such file or directory compilation terminated. github.com/openai/go-vncdriver/vendor/github.com/go-gl/gl/v2.1/gl .build/src/github.com/openai/go-vncdriver/vendor/github.com/go-gl/gl/v2.1/gl/procaddr.go:52:21: fatal error: GL/glx.h: No such file or directory compilation terminated. Note: could not build with OpenGL rendering (cf https://github.com/openai/go-vncdriver). This is expected on most servers. Going to try building without OpenGL. Building without OpenGL: GOPATH=/home/xander/universe/go-vncdriver/.build go build -tags no_gl -buildmode=c-shared -o go_vncdriver.so github.com/openai/go-vncdriver

XanYder commented 7 years ago

xander@Xander:~/universe/go-vncdriver$ sudo pip install -e ./ [sudo] password for xander: The directory '/home/xander/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. The directory '/home/xander/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. Obtaining file:///home/xander/universe/go-vncdriver Requirement already satisfied: numpy in /home/xander/.local/lib/python2.7/site-packages (from go-vncdriver==0.4.19) Installing collected packages: go-vncdriver Found existing installation: go-vncdriver 0.4.19 Uninstalling go-vncdriver-0.4.19: Successfully uninstalled go-vncdriver-0.4.19 Running setup.py develop for go-vncdriver Successfully installed go-vncdriver

tlbtlbtlb commented 7 years ago

See where it says

fatal error: X11/Xlib.h: No such file or directory
compilation terminated

That means you don't have the X11 libraries installed. This solution is explained here: https://github.com/openai/go-vncdriver#rendering