Nvidia驱动程序的Docker和pygame显示问题

2024-05-14 13:35:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直与docker,nvidia的GPU和显示之前在docker图像。在其中我可以成功地初始化 pygame.init()

有输出(7,0)

在格式化我的ubuntu机器之后。我安装了docker和nvidia容器工具包,以在docker容器内启用GPU

但是,在我使用xhost +并运行以下docker命令和bash之后,将运行容器

docker run -it -e DISPLAY=$DISPLAY --gpus all <IMAGE ID>

在容器内。我可以看到nvidia-smi工作和nvcc --version工作。安装 apt-get install -qqy x11-apps。但是,当我使用pip install pygame安装pygame时

并用pygame.init()初始化pygame,它会向我抛出一个错误:

pygame.error: No available video device

我已经说过: pygame.error: No available video device

还有很多其他环节

我想知道我是否缺少任何图书馆。在主机上或docker容器内,作为参考,我使用以下容器

docker run -it -e DISPLAY=$DISPLAY --gpus all nvcr.io/nvidia/tensorflow:20.06-tf2-py3

由于Stackoverflow社区,我已经尝试过的其他命令如下 docker run-it-e DISPLAY=$DISPLAY-v一些UNIX套接字安装--GPU所有nvcr.io/nvidia/tensorflow:20.06-tf2-py3

如何将显示器连接到pygame,使pygame.init()或pygame.display.init()不会在docker容器内破裂

注意:Python版本3

更新1: 我尝试了没有GPU的所有选项

docker run-it-e DISPLAY=$DISPLAY nvcr.io/nvidia/tensorflow:20.06-tf2-py3

然而,它仍然不起作用

更新2: https://opeonikute.dev/posts/running-pygame-in-a-docker-container-macos

遵循了上面文章的第4部分,我看到了以下错误

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  152 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  104
  Current serial number in output stream:  103

更新3:问题可能在这里 https://github.com/NVIDIA/libglvnd

由于pygame在nvidia/opengl基本映像中工作,但我想使用nvcr的基本映像。io/nvidia/tensorflow:20.06-tf2-py3


Tags: dockerruniogpuinittensorflowdisplayit

热门问题