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

I forgot to add that an additional issue for VMD as opposed to simpler
X11 apps is that it requires working GLX. If you can get 'glxgears' to run
in a container, then in principle at least one could get VMD running that
way. I would worry about the performance of using indirect GLX rendering
(even though it is local, you're still serializing all of the OpenGL
 operations as if it's over a network).

Best,
  John Stone
  vmd_at_ks.uiuc.edu

On Fri, Jul 06, 2018 at 04:04:51PM -0500, John Stone wrote:
> 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/

-- 
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/