libvirt和spice opengl ..没办法?

时间:2017-10-15 18:01:02

标签: qemu libvirt

我想在libvirt / qemu

上使用spice运行opengl

关于slackware 14.2,libvirt是最新的3.8,qemu是最新的2.10

我已编辑这些文件

/etc/libvirt/qemu.conf

cgroup_device_acl = [
     "/dev/dri/renderD128"
]




 /etc/cgrules.conf

<video>
  <model type='virtio' heads='1' primary='yes'>
    <acceleration accel3d='yes'/>
  </model>
</video>

我是关于群组视频的,我认为许可是正确的

 ls -lhd /dev/dri/*
crw-rw----+ 1 root video 226,   0 ott 15 18:39 /dev/dri/card0
crw-rw----  1 root video 226, 128 ott 15 18:39 /dev/dri/renderD128

机器配置为使用gl

运行

但是当我开始......

LANG=C virsh start pol64
error: Failed to start domain pol64
error: internal error: process exited while connecting to monitor: Could not access KVM kernel module: Operation not permitted
2017-10-15T18:00:13.714865Z qemu-kvm: failed to initialize KVM: Operation not permitted

当然重启了cgmanager和libvirt

1 个答案:

答案 0 :(得分:0)

找到解决方案。 首先..wich用户运行qemu吗? 在我的配置中是“ qemu”。 就我而言,我们必须将qemu用户添加到视频组(视频组拥有dri / drm设备)

sudo usermod -aG video qemu
getfacl /dev/dri/renderD128

# file: dev/dri/renderD128
# owner: root
# group: video
user::rw-
group::rw-
other::---

然后,我们必须编辑/etc/libvirt/qemu.conf并添加或修改acl

cgroup_device_acl = [
    "/dev/null", "/dev/full", "/dev/zero",
    "/dev/random", "/dev/urandom",
    "/dev/ptmx", "/dev/kvm", "/dev/kqemu",
    "/dev/rtc","/dev/hpet", "/dev/vfio/vfio",
    "/dev/dri/renderD128"
]

然后重新启动libvirt

/etc/rc.d/rc.libvirt restart

虚拟机必须配置有spice,dri device(不要选择auto)和opengl,opengl仅适用于“本地”配置,因此不能使用tls / server。