3. Container Installation

3.1. Container Setup

  1. Install NVIDIA Driver:

    $ sudo apt-get update
    $ sudo apt install build-essential -y
    $ wget https://us.download.nvidia.com/XFree86/Linux-x86_64/525.60.11/NVIDIA-Linux-x86_64-525.60.11.run
    $ chmod +x NVIDIA-Linux-x86_64-525.60.11.run
    $ sudo ./NVIDIA-Linux-x86_64-525.60.11.run
    

    Note

    • The current recommended driver version for Isaac Sim is 525.60.11 for Linux.

    • See Linux Troubleshooting to resolve driver install issues issues.

    • We recommend installing the Latest Production Branch Version of the NVIDIA GPU Driver using the .run installer.

  2. Install Docker:

    # Docker installation
    $ sudo apt-get update
    $ sudo apt-get install \
        apt-transport-https \
        ca-certificates \
        curl \
        gnupg-agent \
        software-properties-common
    
    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    $ sudo apt-key fingerprint 0EBFCD88
    $ sudo add-apt-repository \
        "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
        $(lsb_release -cs) \
        stable"
    $ sudo apt-get update
    $ sudo apt-get install -y docker-ce docker-ce-cli containerd.io
    
    # Post-install steps for Docker
    $ sudo groupadd docker
    $ sudo usermod -aG docker $USER
    $ newgrp docker
    
  3. Install the NVIDIA Container Toolkit:

    # Add the package repositories
    $ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
    $ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
    $ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
    $ sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
    $ sudo systemctl restart docker
    

Note

The NVIDIA Drivers, Docker, and NVIDIA Container Toolkit are preinstalled in the AWS AMI.

3.2. Container Deployment

This section describes how to run the Omniverse Isaac Sim container.

Steps:

  1. Setup and install the container prerequisites. See Container Setup above.

  2. Run the command below to confirm your GPU driver version.

    $ nvidia-smi
    
  3. Get access to the Isaac Sim Container using your NVIDIA Developer Program credentials.

  4. Generate your NGC API Key.

  5. Use the command line to log in to NGC before pulling the Isaac Sim container.

    $ docker login nvcr.io
    Username: $oauthtoken
    Password: <Your NGC API Key>
    WARNING! Your password will be stored unencrypted in /home/username/.docker/config.json.
    Configure a credential helper to remove this warning. See
    https://docs.docker.com/engine/reference/commandline/login/#credentials-store
    Login Succeeded
    
  6. Pull the Isaac Sim container:

    $ docker pull nvcr.io/nvidia/isaac-sim:2022.2.0
    
  7. Run the Isaac Sim container with an interactive Bash session:

    $ docker run --name isaac-sim --entrypoint bash -it --gpus all -e "ACCEPT_EULA=Y" --rm --network=host \
        -v /etc/vulkan/icd.d/nvidia_icd.json:/etc/vulkan/icd.d/nvidia_icd.json \
        -v /etc/vulkan/implicit_layer.d/nvidia_layers.json:/etc/vulkan/implicit_layer.d/nvidia_layers.json \
        -v /usr/share/glvnd/egl_vendor.d/10_nvidia.json:/usr/share/glvnd/egl_vendor.d/10_nvidia.json \
        -v ~/docker/isaac-sim/cache/ov:/root/.cache/ov:rw \
        -v ~/docker/isaac-sim/cache/pip:/root/.cache/pip:rw \
        -v ~/docker/isaac-sim/cache/glcache:/root/.cache/nvidia/GLCache:rw \
        -v ~/docker/isaac-sim/cache/computecache:/root/.nv/ComputeCache:rw \
        -v ~/docker/isaac-sim/logs:/root/.nvidia-omniverse/logs:rw \
        -v ~/docker/isaac-sim/config:/root/.nvidia-omniverse/config:rw \
        -v ~/docker/isaac-sim/data:/root/.local/share/ov/data:rw \
        -v ~/docker/isaac-sim/documents:/root/Documents:rw \
        nvcr.io/nvidia/isaac-sim:2022.2.0
    

    Note

    • If the nvidia_icd.json and nvidia_layers.json files are not the in the above locations, use the flags below instead:

      -v /usr/share/vulkan/icd.d/nvidia_icd.json:/etc/vulkan/icd.d/nvidia_icd.json \
      -v /usr/share/vulkan/implicit_layer.d/nvidia_layers.json:/etc/vulkan/implicit_layer.d/nvidia_layers.json \
      
    • The Nucleus and Cache installer is no longer available in the Isaac Sim container. The recommended installation of Nucleus is via the Omniverse Launcher. For enterprise users, see Omniverse Nucleus Enterprise

    • The Isaac Sim container will use assets in the Cloud if no Nucleus server is available.

    When using a separate Nucleus server:

  8. Start Isaac Sim with native livestream mode:

    $ ./runheadless.native.sh
    

    Note

    • Before running a livestream client, make sure that the Isaac Sim app is loaded and ready. It may take a few minutes for Isaac Sim to be completely loaded.

    • To confirm this, look out for this line in the console or the logs:

      Isaac Sim Headless Native App is loaded.
      
    • The first time loading Isaac Sim will take a while for the shaders to be cached. Subsequent runs of Isaac Sim with be quick once the shaders are cached and the cache is mounted when the container runs.

    • See Save Isaac Sim Configs on Local Disk to make Isaac Sim configs and cache persistent when using containers.

  9. Install and launch the Omniverse Streaming Client from the Omniverse Launcher.

    Note

    • Only the Omniverse Streaming Client is supported for the best experience streaming to an AWS EC2 instance over the Internet.

    • See Omniverse Streaming Client for more information about the Omniverse Streaming Client.

  10. Enter the IP address of the machine or instance running the Isaac Sim container and click on the Connect button to begin live streaming.

  11. Proceed to Isaac Sim Interface to begin the first Basic Tutorial.

Note

  • Some tutorials that uses the Content Browser may not work when using the Isaac Sim container with no Nucleus connected.

  • It is recommended to use the Workstation Isaac Sim from the Omniverse Launcher to run all tutorials.

  • The Isaac Sim container supports running our python apps and standalone examples in headless mode only.

  • The latest NVIDIA drivers may not be fully supported for some features like livestreaming. See Technical Requirements for recommended drivers.

  • See also Isaac Sim Dockerfiles to build your own custom Isaac Sim container.