Deepstream On WSL 常见问题解答#

1. 我们是否需要在带有 WSL 的 Ubuntu 镜像内部安装 nvidia 驱动程序?#

不需要。您只需要在 Windows 主机上为您正在使用的特定 GPU 安装驱动程序。事实上,您不应该在 ubuntu 机器内部安装 nvidia 驱动程序,以避免任何潜在的冲突。

2. 安装驱动程序时,您应该选择“清洁安装”吗?#

虽然这不是强制性的,但最好在安装过程中选择“高级”选项,选择驱动程序中的所有可用软件包进行“清洁安装”,以避免不同库的潜在问题。

3. 启动 docker 时,我遇到错误:“docker:来自守护程序的错误响应:无法选择具有以下功能的设备驱动程序“”“:[[gpu]]。我该怎么办?#

尝试以下步骤:(在尝试此操作之前,请确保您登录的 windows 帐户没有任何受限访问权限。)

$ sudo apt install --reinstall nvidia-container-toolkit
$ sudo service docker restart

完成上述步骤后,关闭 WSL 并重新打开。

$ wsl --shutdown
$ wsl -d Ubuntu-22.04

4. 启动 docker 时,我收到错误“GPU 访问被操作系统阻止”。我该怎么办?#

并非所有 GPU 都受 WSL 支持。查看以下文档以了解与 WSL2 相关的约束。

https://docs.nvda.net.cn/cuda/wsl-user-guide/index.html#wsl-2-support-constraints

5. 在为 WSL2 安装 Ubuntu 镜像时,我收到错误:“服务无法启动,可能是因为它已被禁用或因为它没有与其关联的已启用设备”。我该怎么办?#

  • 通过在“开始”菜单中搜索“服务”应用程序 (services.msc) 来打开它。(以管理员身份运行)

  • 查找名为“Windows Update”的服务,并确保将其启动类型设置为“手动”或“自动”。(首选自动)

  • 如果它没有运行,请启动该服务。(右键单击 -> 启动)

6. 首次运行 deepstream-app 时,我收到错误:“GLib (gthread-posix.c):C 库在 'pthread_setspecific' 期间发生意外错误:无效参数。中止。”。我该怎么办?#

这是一个无害的错误,与您系统中的 glib 软件包相关。它可能不会在每个系统中都观察到。您可以忽略此消息。

7. 在运行 gstreamer 或 deepstream 视频管道时,屏幕上没有视频。但是管道似乎在终端中运行,没有任何错误。原因是什么?#

确保您没有通过 ssh 会话(例如,使用 Mobaxterm)启动 WSL 实例。使用 VNC 启动和使用 WSL。如果您已经通过 ssh 启动了 WSL,请确保在从 VNC 再次打开它之前关闭 WSL 实例(您可以使用命令“wsl –shutdown”执行此操作)。

8. 首次在启动 docker 后运行 deepstream-app 时,出现警告打印。例如:“deepstream-app –version”显示以下警告。这是一个问题吗?#

Warning during initial deepstream-app run

这些打印是无害的。它们出现是因为我们在容器内部没有打包相应的 OSS 插件库。它们可以安全地忽略。