I know their setup documentation states that it only supports 18.04, but is it still possible to run it on 20.04? When naively trying, the script that installs dependencies failed with:
E: Unable to locate package libvpx5 [ERROR] Failed to install packages - libvpx5 libtwolame-dev libtheora-bin libspeex1 1 Answer
After some digging, I found that lxd containers work for this situation, as they have great support for nvidia passthrough (using an nvidia device inside of a container).
If you haven't done so already, first init lxd by typing:
lxd init Create a new Ubuntu 18.04 container using with the nvidia.runtime config and add gpu to it:
lxc launch ubuntu:18.04 isaac -c nvidia.runtime=true lxc config device add isaac gpu gpu Push previously downloaded isaac sdk to container, log into container as ubuntu user, and install it:
lxc file push /<isaac folder>/isaac-sdk-<isaac version>.tar.xz isaac/tmp/i.txz lxc exec isaac -- su ubuntu --login mkdir isaac cd isaac/ tar xf /tmp/i.txz cd engine/ ./engine/build/scripts/install_dependencies.sh # it will take a very long time This installed the dependencies as described. Afterwards I was able to build a sample app and run it:
cd cd isaac/sdk bazel build //apps/tutorials/ping # this takes a long time first time around! bazel run //apps/tutorials/ping I was also able to bring up their "websight" visualization by opening on my desktop, where the ip is the one of the lxc container (run ip addr inside to find it).
To facilitate the development workflow, I also mapped a local folder on the host to the container and mapped the userids so I could edit from inside and outside of the container (primarily so I could use my favorite editor on the host):
mkdir ~/shared lxc config device add isaac myshareddir disk path=/ubuntu/shared source=/home/`whoami`/shared lxc config set isaac raw.idmap "both 1000 1000" lxc restart isaac