From: John Stone (johns_at_ks.uiuc.edu)
Date: Fri Jul 06 2018 - 16:04:51 CDT

Hi,
  The VMD container images on NGC are intended for off-screen
batch/parallel rendering only. They are compiled without any GUI, and
they are really meant for large scale analysis and visualization jobs
on platforms like clouds or supercomputers.

To run VMD in a fully interactive graphical mode, the container image would
ultimately have to have an X11 distribution inside, which would probably
bloat the container size up to a few GB. Thus far I have not personally
seen any containerized interactive graphics apps, likely due
to the size issue I mentioned. In principle it would be relatively easy for
me to compile a fully interactive VMD for a container, it is just a matter
of the inclusion of the full X11 stack that I consider to be a concern here.

If you know of a good example of a containerized interactive graphics app,
I would be happy to have a look at their docker rules and see what they're
doing and compare with what would be required for VMD.

Best,
  John Stone
  vmd_at_ks.uiuc.edu

On Fri, Jul 06, 2018 at 04:50:59PM -0400, Matthew Kenney wrote:
> Hi everyone,
> I am attempting to use a version of vmd containerized with docker, pulled
> from the nvidia gpu cloud's container repository, however, I cannot get
> vmd to run graphically from within the container. I can only see the vmd
> command line. While vmd works perfectly well within the container if I use
> tcl scripting, I am completely unable to run vmd through the graphical
> interface. It would be hugely appreciated if anyone can provide me some
> advice on solving this problem.
> Click¬ [1]here¬ for more information on the nvidia gpu cloud repo I am
> using. The docker image name, and the command to run the image per
> nvidia's instructions are as follows (note that nvidia-docker is a GPU
> accelerated version of docker, and this image cannot be pulled unless you
> have an nvidia gpu card installed on your machine and have signed up for
> free online to use the nvidia gpu cloud):
> Image Name:¬ [2]nvcr.io/hpc/vmd:cuda9-ubuntu1604-egl-1.9.4a17
> Command to pull image:
> docker pull [3]nvcr.io/hpc/vmd:cuda9-ubuntu1604-egl-1.9.4a17
> Command to get to container's bash:
> nvidia-docker run -it --rm -v $(pwd):/workspace
> [4]nvcr.io/hpc/vmd:cuda9-ubuntu1604-egl-1.9.4a17 /bin/bash
> Command to run vmd directly without going through bash:
> nvidia-docker run -it --rm -v $(pwd):/workspace
> [5]nvcr.io/hpc/vmd:cuda9-ubuntu1604-egl-1.9.4a17 /opt/vmd/bin/vmd -dispdev
> openglpbuffer
> These commands, however, do not suffice to launch the vmd container in
> graphical mode, since there is no way for the container to access the
> native display. To circumvent this issue, I instead launched the container
> using the following commands to enable X-forwarding (enables the container
> to see the host's display):
> First:
> XSOCK=/tmp/.X11-unix
> XAUTH=/tmp/.docker.xauth
> touch $XAUTH
> xauth nlist $DISPLAY | sed -e 's/^..../ffff/' | xauth -f $XAUTH nmerge -
> xhost +local:docker
> Then:
> ¬ nvidia-docker run -it --rm -v $(pwd):/workspace \
> -v /tmp/.X11-unix:/tmp/.X11-unix -v /tmp/.docker.xauth:/tmp/.docker.xauth
> \
> -v $(pwd):/work -e XAUTHORITY=/tmp/.docker.xauth -e DISPLAY=:$DISPLAY \
> [6]nvcr.io/hpc/vmd:cuda9-ubuntu1604-egl-1.9.4a17 /bin/bash
> After completing these steps, I was able to download a few GUI
> applications from within the container, and ran them perfectly with no
> issue, thus proving that the container was 100% capable of running GUI
> applications on my screen. Downloading geany from within the container and
> running it resulted in a perfectly normal, gui-based application showing
> up on my display.
> However, vmd STILL will not show up graphically (only the terminal style
> vmd shows up). This indicates to me that somehow, the vmd installed in the
> container is lacking some component to enable the graphical interface. Any
> ideas about what could be causing this issue, or how to fix it would be
> incredibly helpful. Thanks in advance!
> Best,
> Matt
> This message contains information which may be confidential and/or
> protected by attorney-client privilege. ¬ Unless you are the addressee,
> you may not use, copy or disclose to anyone this message or any
> information contained in this message. ¬ If you have received this message
> in error, please send me an email and delete this message. ¬ Thank you.
>
> References
>
> Visible links
> 1. https://www.nvidia.com/en-us/gpu-cloud/
> 2. http://nvcr.io/hpc/vmd:cuda9-ubuntu1604-egl-1.9.4a17
> 3. http://nvcr.io/hpc/vmd:cuda9-ubuntu1604-egl-1.9.4a17
> 4. http://nvcr.io/hpc/vmd:cuda9-ubuntu1604-egl-1.9.4a17
> 5. http://nvcr.io/hpc/vmd:cuda9-ubuntu1604-egl-1.9.4a17
> 6. http://nvcr.io/hpc/vmd:cuda9-ubuntu1604-egl-1.9.4a17

-- 
NIH Center for Macromolecular Modeling and Bioinformatics
Beckman Institute for Advanced Science and Technology
University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
http://www.ks.uiuc.edu/~johns/           Phone: 217-244-3349
http://www.ks.uiuc.edu/Research/vmd/