FAQ#

通用#

如何添加新扩展?#

请参阅 扩展开发工作流程,了解有关添加新扩展的信息。

注册表#

如何知道同步到注册表缓存的扩展对应于哪个特定存储库?#

extn list -r <repo-name> 命令行界面命令列出特定存储库的所有扩展。

注册表未能执行操作并报告错误消息。如何获得有关操作失败原因的更多信息?#

注册表将其所有操作记录在 /tmp/gxf_registry.log 文件中。您可以使用此文件查看调试日志。

如何更改注册表日志的位置?#

目前,注册表日志位于 /tmp。您可以通过将名为 TMPDIR 的环境变量设置为现有目录来更改此位置。例如: $mkdir -p /home/$USER/tmp && export TMPDIR=/home/$USER/tmp

容器构建器#

在主控制部分中,为什么字段 container_builder 是必需的?#

它用于区分主控制部分和阶段部分。container_builder 的任何名称都可以。

在 local_copy_files 列表中,如果 src 是一个文件夹,则 dst 以“/”结尾或不结尾有区别吗?#

否。dst 没有区别。它必须是一个文件夹才能存储 src 内容。

如果 YAML 文件的每个部分中添加了不支持的字段会发生什么情况?#

容器构建器将跳过 YAML 配置中所有不支持的字段。用户应负责设置正确的字段和值。例如,如果将 entrypoint 添加到 compile_stage,则会跳过它。

在容器构建器安装图形期间,有时在从注册表下载清单或扩展时会发生意外错误。一旦发生这种情况,容器构建器可能会一次又一次地返回错误。如何清理并重新启动?#

注册表中扩展下载期间的一些超时错误可能会导致信息丢失。这可能会阻止容器构建器将 repo 重新添加到注册表中。仅重新启动容器构建器可能无法解决问题。当发生这种情况时,用户需要手动清理注册表 repo 并再次重新启动容器构建器。例如,使用 cmdline gxf_registry repo remove --name  [repo_name] 删除 repo。从 注册表 部分阅读更多详细信息。

关于 compile_stage 中的 git 源代码编译,是否可以从 HTTP 存档编译源代码?#

您可以将编译 cmdline 添加到 post_cmd 中。然后将编译后的二进制文件复制到最终阶段。

 ---
unique_stage: compile
base_image: "ubuntu:22.04"
stage_model: compile_stage
http_archives:
- url: https://host:port/source.tar.bz2
post_cmd: "tar -jxvf source.tar.bz2 && make && make install"
---
unique_stage: final
base_image: "ubuntu:22.04"
stage_model: clean_stage
stage_copy_files:
- src_stage: "compile"
src: "/usr/local/bin/binary"
src: "/usr/bin/binary”

容器构建器无法运行,并出现以下错误:#

ContainerBuilder.__main__ - ERROR - gRPC client: StatusCode.UNAVAILABLE- failed to connect to all addresses.
Please check if connecting to the correct port or  close all connections to the port and restart the server.

您需要启动 gxf 服务器才能运行容器构建器。使用 systemctl --user start gxf_server 启动 gxf 服务器。

Composer#

运行 Composer 的 GPU 要求是什么?#

运行 Composer 没有特定的 GPU 要求。更强大的 NVIDIA dGPU 将提供更好的用户体验。

我可以在 iGPU 上运行 Composer 吗?#

是的,Composer 在 Intel GPU(HD Graphics 540)或更高版本上受支持。可以通过运行命令提示符或终端来运行它,方法是运行命令 composer.exe --enable-vulkan

为什么复制组件后无法粘贴?#

要成功粘贴组件,您必须首先选择其包含节点。

为什么我无法使用 Composer 运行 WebSocket 流式传输?#

Composer 不再支持 WebSocket 流式传输。

无法在 deepstream 开发 docker 中启动 composer?#

  1. 使用 xhost + 允许访问 X 服务器。

  2. 使用以下参数启动 docker

    docker run -it --rm --net=host --gpus all -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix --privileged -v /var/run/docker.sock:/var/run/docker.sock <DOCKER-REPOSITORY>:<TAG>

  3. 使用 composer 启动 composer。

通过 ov-streaming 运行时,无法在 composer 中单击鼠标右键?#

这是 omniverse 流式传输的一个已知限制。建议用户使用菜单栏和工具栏。

Composer 在控制台中抛出错误 Registry Model update failed#

您需要运行 gxf_server systemd 服务,以便 Composer 从注册表同步扩展,以便容器构建器运行和执行图形。

扩展开发#

为什么我收到 Error: libcudart.so.12: cannot open shared object file: No such file or directory#

很可能您没有安装 CUDA 12。请按照 此处 的说明进行安装。

GXF 服务器#

如何启动、停止和重启 GXF 服务器?#

GXF 服务器由 systemd 管理,systemd 控制服务的启动、停止和重启。您可以使用以下 systemctl 命令与 gxf 服务器进行交互。

启动 GXF 服务器:systemctl --user start gxf_server

停止 GXF 服务器:systemctl --user stop gxf_server

重启 GXF 服务器:systemctl --user restart gxf_server

如果 GXF 服务器发生故障是否会自动重启?#

是的,GXF 服务器配置为在发生故障或因任何原因停止时自动重启。

如何查看 GXF 服务器的日志?#

要排除故障或监控 GXF 服务器,您可以使用 journalctl 命令查看其日志:journalctl --user-unit=gxf_server 此命令将显示与 gxf 服务器相关的所有日志,包括启动消息、错误报告和其他运行时信息。

此外,

要查看最新的日志:journalctl --user-unit=gxf_server -n 50

要实时跟踪日志:journalctl --user-unit=gxf_server -f

要在日志中搜索特定术语或模式:journalctl --user-unit=gxf_server | grep "keyword"(将 “keyword” 替换为您要查找的术语)