当前位置: 首页 > 知识库问答 >
问题:

vulkan在lxc/lxd容器中不可用,但opengl可用

孟英锐
2023-03-14

我正在使用Ubuntu18:04和lxc/lxd蒸汽容器。它工作得很好,我遵循了本教程,并对网络内容做了一些更改。

https://blog.simos.info/running-steam-in-a-lxd-system-container/

蒸汽适用于opengl游戏,但不适用于沃肯游戏。卢特里斯也一样。

主办方:

===========
VULKAN INFO
===========

Vulkan Instance Version: 1.1.70


Instance Extensions:
====================
Instance Extensions     count = 16

集装箱侧:

ubuntu@steam:~$vulkaninfo

===========
VULKAN INFO
===========

Vulkan Instance Version: 1.1.70

ERROR: setupLoaderTermPhysDevs:  Failed to detect any valid GPUs in the current config
ERROR: setupLoaderTrampPhysDevs:  Failed during dispatch call of 'vkEnumeratePhysicalDevices' to lower layers or loader to get count.

/build/vulkan-UL09PJ/vulkan-1.1.70+dfsg1/demos/vulkaninfo.c:2700: failed with VK_ERROR_INITIALIZATION_FAILED

OpenGL工作得很好,游戏运行速度很快,所以它必须在系统中找到我唯一的gpu。我必须为容器单独启用vulkan吗?

主机有没有问题与武尔坎吸烟者要么:

user@host:~$ vulkan-smoketest 
7223 presents in 5.00039 seconds (FPS: 1444.49)

共有2个答案

邹禄
2023-03-14

一个名为zakk的reddit用户在https://blog.simos.info/running-steam-in-a-lxd-system-container/.

在做了一些跟踪之后,我注意到它无法打开 /dev/dri中的文件容器具有错误的权限;在主机上,这些文件具有允许当前用户访问它们的ACL集,而容器没有。因此要修复:在容器中运行

sudo setfacl -m "u:ubuntu:rw-" /dev/dri/*

每次启动lxc时都必须执行setfacl命令。

况谦
2023-03-14

该指南在LXD容器中手动添加必要的OpenGL共享库,这样做不会添加Vulkan共享库。

LXD现在支持英伟达容器运行时(Nvidia提供),因此您可以使用它。请参阅最新的指南https://blog.simos.info/running-x11-software-in-lxd-containers/

 类似资料:
  • 我已经看到了很多关于docker设置之类的东西,使用运行ES的unpriv容器。基本上,我不想建立一个简单的“prod集群”。总共有两个节点,一个物理节点(用于数据),一个用于Injest/Master(LXD容器)。 我遇到的问题是使用作为配置选项来锁定容器主/注入节点上的内存(避免交换)。 现在,考虑到ES用户不能调整主机上的u限制,这是有意义的。鉴于我知道这是危险的,有没有一种方法/如何确保

  • 我找遍了,但看不出有没有办法。我有两个LXC容器在Ubuntu 14.04主机上运行Ubuntu 14.04。它们对我来说非常重要,所以我希望在主机硬件出现故障时能够轻松地将LXC容器备份/迁移到另一台服务器。 我现在已经用LXD构建了一个新的Ubuntu 15.1服务器,并且已经注销并返回并看到了新的组。为了测试,我用我14.04主机上的开关将我现有的一个LXC容器连接起来: ---然后在新服务

  • 我正在Oracle Linux(主机)上运行几个LXC容器,并在这些容器中运行EBS应用程序 现在每5台主机上就有10多个容器 我正在寻找管理这些容器的解决方案。这项研究告诉我Kubernetes是一种用于管理容器并使用它执行其他一些活动(如自动缩放)的解决方案。。等等,但是Kubernetes为lxc容器使用LXD 是否有任何方法可以直接使用Kubernetes管理lxc容器<任何帮助都将不胜感

  • 我在CentOS上部署LXC的指南是安装snapd的lxdhttps://www.cyberciti.biz/faq/set-up-use-lxd-on-centos-rhel-8-x/ SnapD是一种服务,允许安装基于debian/ubuntu的包,逻辑是lxd是该平台上最新的。 嗯。如果更容易启用gpu直通,我愿意安装替代版本。 最终,我将尝试构建一个容器环境,在这个环境中,我可以运行最新版

  • 我正在ubuntu 14.04上试验lxc。为了管理几个lxc实例,我使用python3lxc。使用pyhthon3 lxc,我确实无法克隆现有容器: 相应地, /var/lib/lxc.vanilla_clone没有根基使用 很好。(python3和lxc克隆,两者都是从sudo开始的。)这是python3_lxc中的一个bug或限制,还是我遗漏了什么? 事后思考:使用lxc。容器create需

  • 使用Xvfb在LXD容器(ubuntu: 16.04)内运行GUI应用程序并在容器内执行以下命令很容易: 我的目标是在不登录的情况下执行上述命令,并在启动容器时自动执行(lxc start)。 我试图在“/etc/init.d/myscript”中创建一个脚本,并使其可执行。但没有机会,它没有工作(链接)。 另外,当我尝试执行