gazebosim / gazebo-classic

Gazebo classic. For the latest version, see https://github.com/gazebosim/gz-sim
http://classic.gazebosim.org/
Other
1.15k stars 478 forks source link

Removing x11 dependency for Official DockerHub repo #1602

Open osrf-migration opened 9 years ago

osrf-migration commented 9 years ago

Original report (archived issue) by ruffsl (Bitbucket: Ruffin White).


I'm in the process of creating Official DockerHub repo for Gazebo.

One of the review critera for submitting an Official Repo requests is that there are no X11 dependencies, as it's unlikly that the Official Repos team would accept something which depends on mounting the X11 socket due to the security implications. Removing this dependancy from gzserver would make it clear that this is not an issue, as well as help keep the docker image size small.

This brings up a second point, that we would need to provide a metapackage for gzserver, excluding gzclient, as to permit what was stated above (i.e. a gzserver only install). I'm not sure if a separate issue should be made for this task.

osrf-migration commented 9 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


I just created an issue on the gazebo6-release repo for packaging gzserver and gzclient separately:

osrf-migration commented 9 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


Should we close this and move discussion to that other issue?

osrf-migration commented 9 years ago

Original comment by Nate Koenig (Bitbucket: Nathan Koenig).


Yeah, we can close this issue. It may be a moot point. I think the only way to remove the x11 dependency is to create a special gzserver that does not use the sensor library. As far as I can tell, X11 is mandatory for offscreen rendering on linux. There might be clever way around it.

osrf-migration commented 9 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


I think the docker image will be ok with ogre installed as long as we don't open an X11 socket to the host. So rendering would be disabled, but it would still run physics just fine.

osrf-migration commented 9 years ago

Original comment by Jose Luis Rivero (Bitbucket: Jose Luis Rivero, GitHub: j-rivero).


If exposing the X11 socket is not an option, what about recreating it using a xvfb inside the docker image? I don't know the internals, but we should not need to contact any host mechanism to render in memory.

osrf-migration commented 9 years ago

Original comment by Nate Koenig (Bitbucket: Nathan Koenig).


I was under the impression that we need to remove X11 from the list of libraries that gzserver builds against. Is that true?

osrf-migration commented 9 years ago

Original comment by ruffsl (Bitbucket: Ruffin White).


If we can remove X11 and keep full server functionally, that awesome. But if not, I'll try and pitch it to docker devs, stating that the docker files themselves will never expose the X11 sockets externally to the world. I think keeping sensors and everything working in docker image would be nice, and might otherwise be an unexpected caveat for future docker repo users and app builders.

osrf-migration commented 7 years ago

Original comment by Nate Koenig (Bitbucket: Nathan Koenig).


osrf-migration commented 7 years ago

Original comment by Shane Loretz (Bitbucket: Shane Loretz, GitHub: sloretz).


Could we use EGL to eliminate the X server dependency?

https://devblogs.nvidia.com/parallelforall/egl-eye-opengl-visualization-without-x-server/