我知道他们的安装文档声明它仅支持 18.04,但仍可以在 20.04 上运行它吗?天真地尝试时,安装依赖项的脚本失败,并显示:
E: Unable to locate package libvpx5
[ERROR] Failed to install packages - libvpx5 libtwolame-dev libtheora-bin libspeex1
答案1
经过一番挖掘,我发现 lxd 容器适用于这种情况,因为它们具有对 nvidia passthrough 的强大支持(在容器内使用 nvidia 设备)。
如果您还没有这样做,请首先lxd
输入以下命令进行初始化:
lxd init
使用nvidia.runtime
配置创建一个新的 Ubuntu 18.04 容器并向其中添加 gpu:
lxc launch ubuntu:18.04 isaac -c nvidia.runtime=true
lxc config device add isaac gpu gpu
将之前下载的 isaac sdk 推送到容器,以用户身份登录容器ubuntu
,并安装它:
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
这样就按照说明安装了依赖项。之后,我能够构建一个示例应用程序并运行它:
cd
cd isaac/sdk
bazel build //apps/tutorials/ping # this takes a long time first time around!
bazel run //apps/tutorials/ping
我还可以通过打开http://10.24.150.210:3000/在我的桌面上,其中 ip 是 lxc 容器的 ip(ip addr
在里面运行即可找到它)。
为了促进开发工作流程,我还将主机上的本地文件夹映射到容器并映射用户 ID,以便我可以从容器内部和外部进行编辑(主要是为了我可以在主机上使用我最喜欢的编辑器):
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