[libvirt] [PATCH 08/12] qemu: cgroup: Add the DRI device to the cgroup list for egl-headless too

Erik Skultety eskultet at redhat.com
Thu Nov 22 16:36:06 UTC 2018


Just like for SPICE, we need to put the render node DRI device into the
the cgroup list so that users don't need to add it manually via
qemu.conf file.

Signed-off-by: Erik Skultety <eskultet at redhat.com>
---
 src/qemu/qemu_cgroup.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c
index 43e17d786e..1698f401e9 100644
--- a/src/qemu/qemu_cgroup.c
+++ b/src/qemu/qemu_cgroup.c
@@ -491,15 +491,22 @@ qemuSetupGraphicsCgroup(virDomainObjPtr vm,
                         virDomainGraphicsDefPtr gfx)
 {
     qemuDomainObjPrivatePtr priv = vm->privateData;
-    const char *rendernode = gfx->data.spice.rendernode;
+    const char *rendernode = NULL;
     int ret;
 
     if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_DEVICES))
         return 0;
 
-    if (gfx->type != VIR_DOMAIN_GRAPHICS_TYPE_SPICE ||
-        gfx->data.spice.gl != VIR_TRISTATE_BOOL_YES ||
-        !rendernode)
+    if (gfx->type != VIR_DOMAIN_GRAPHICS_TYPE_SPICE &&
+        gfx->type != VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS)
+        return 0;
+
+    if (gfx->type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE)
+        rendernode = gfx->data.spice.rendernode;
+    else
+        rendernode = gfx->data.egl_headless.rendernode;
+
+    if (!rendernode)
         return 0;
 
     ret = virCgroupAllowDevicePath(priv->cgroup, rendernode,
-- 
2.19.1




More information about the libvir-list mailing list