Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Notes on running ViZDoom inside Docker container on Ubuntu 16.04 #307

Closed
michaelkrax opened this issue Apr 24, 2018 · 1 comment
Closed

Comments

@michaelkrax
Copy link

michaelkrax commented Apr 24, 2018

While trying to get ViZDoom to run in a docker container as outlined in https://github.com/mihahauke/vizdoom_cig2017 i ran into a few obstacles.

They would apply to generic use of ViZDoom in Docker so i am posting them here:

  • The GUI forwarding seems to fail on Ubuntu 16.04 if game.add_game_args("+vid_forcesurface 1") isn't called before game.init()

  • While the GUI forwarding works this way it still did not allow me to show images via OpenCV via imshow(). This required adding "--ipc host" as a parameter when starting the Docker container. In the CIG2017 template that would be in the last line of run.sh after "--privileged". This seems to be due to the MIT-SHM extension: attempt to access private resource denied osrf/docker_images#21

I am still getting a bunch of other error messages but they do not need to impact general functionality besides sound:

Gtk-Message: Failed to load module "canberra-gtk-module"
AL lib: (WW) alc_initconfig: Failed to initialize backend "pulse"
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast

Interestingly enough the docker container manages to crash the audio subsystem of the host somehow. I actually need to reboot to get audio on the host back after launching the docker container with both GUI sharing workarounds enabled.

EDIT: By disabling "SHM" support in /etc/pulse/client.conf i am able to protect pulseaudio on the host from crashing. It seems there are ways to make pulseaudio communication to the host work like https://github.com/TheBiggerGuy/docker-pulseaudio-example but that seems overkill as audio isn't needed for most ViZDoom stuff anyway. Would be great to have a working dockerfile that supports audio for ViZDoom on Ubuntu (anyone?) but i will likely stop here. If anyone accidentally breaks pulseaudio on the host you can always use "pulseaudio -k" on the host to kill the service to get host audio back.

@jkterry1
Copy link
Member

jkterry1 commented Oct 7, 2024

Hey,

Thanks a ton for reporting this. I apologize that this issue was never replied to, but I'm going to close it now since it's been ~6 years and this release of Ubuntu is no longer supported

@jkterry1 jkterry1 closed this as completed Oct 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants