在 PVE 中让 LXC 共用宿主机核显是可行的,多个 LXC 也能同时共享使用核显操作比虚拟机核显直通更简单。
以下是通用版实现步骤(适配 Intel/AMD 主流核显,PVE 7.x/8.x/9.x 均适用),同时说明多 LXC 共享的注意事项。
一、前提条件
1.PVE 宿主机已正确安装核显驱动(Intel 需intel-media-va-driver,AMD 需mesa-va-drivers,PVE 默认基础驱动已带,按需补装即可);
# 通用依赖(必装)
apt update && apt install -y mesa-utils vainfo
# Intel核显额外补装
apt install -y intel-media-va-driver2.宿主机开启核显相关功能(BIOS 中开启 IGD / 核显,Intel 可开启 VT-d、AMD 开启 IOMMU,非必需但建议开启);
3.容器系统与宿主机架构一致(x86_64),且安装与宿主机核显匹配的基础驱动库(无需装完整显卡驱动,共享宿主机驱动)。
二、核心实现步骤(单 LXC,多 LXC 仅需重复容器配置步骤)
步骤 1:确认宿主机核显设备节点和组权限
首先在 PVE 宿主机执行命令,找到核显的设备节点和所属组(核心是把这两个设备挂载到 LXC)。
查看核显主设备(渲染节点,核心):
ls /dev/dri 输出会有card0、renderD128(核心设备,所有核显应用都依赖这两个),部分机型会有card1/renderD129,以实际输出为准,优先用 card0+renderD128。
查看设备:
ls -l /dev/dri输出示例:
drwxr-xr-x 2 root root 80 Feb 5 04:21 by-path
crw-rw---- 1 root video 226, 0 Feb 5 04:21 card0
crw-rw---- 1 root render 226, 128 Feb 5 04:21 renderD1283.查看设备所属组和权限
grep -E 'video|render' /etc/group输出示例:
video:x:44:
render:x:993:关键信息:card0属于video 组,renderD128属于render 组,这两个组是核显权限的核心,后续需要把 LXC 的用户映射到这两个组。
步骤 2:修改 LXC 容器配置(核心操作)
Web上切换到对应LXC的资源,点击添加-设备直通,路径分别添加/dev/dri/card0、/dev/dri/renderD128,GID填写上方查询到的44、993组ID即可

三、验证
方法 1:lxc中利用ls /dev/dri和vainfo查看设备是否存在以及硬解能力
方法 2:多个lxc中安装emby等媒体库进行转码,PVE宿主机中可执行以下查看核显负载
# 安装工具(Intel/AMD通用)
apt update && apt install -y htop intel-gpu-tools radeontop
# Intel核显看负载(直接执行,播放视频时看render利用率)
intel_gpu_top
# AMD核显看负载(直接执行,播放视频时看GPU%)
radeontop
评论区