From nobody Sat Apr 27 10:05:30 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=codethink.co.uk Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1525949695262177.11467400838444; Thu, 10 May 2018 03:54:55 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 8BDA43004434; Thu, 10 May 2018 10:54:53 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5E0D42010CCD; Thu, 10 May 2018 10:54:53 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 0CF094BB79; Thu, 10 May 2018 10:54:53 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w4AAspsA020749 for ; Thu, 10 May 2018 06:54:51 -0400 Received: by smtp.corp.redhat.com (Postfix) id 27C152010CD3; Thu, 10 May 2018 10:54:51 +0000 (UTC) Received: from mx1.redhat.com (ext-mx01.extmail.prod.ext.phx2.redhat.com [10.5.110.25]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1FB102010CCD for ; Thu, 10 May 2018 10:54:48 +0000 (UTC) Received: from imap1.codethink.co.uk (imap1.codethink.co.uk [176.9.8.82]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 1549C81E05 for ; Thu, 10 May 2018 10:54:47 +0000 (UTC) Received: from [88.97.110.231] (helo=ct-lt-931.lan) by imap1.codethink.co.uk with esmtpsa (Exim 4.84_2 #1 (Debian)) id 1fGjDh-00018g-Jh; Thu, 10 May 2018 11:54:45 +0100 From: Maciej Wolny To: libvir-list@redhat.com Date: Thu, 10 May 2018 11:53:55 +0100 Message-Id: <20180510105359.24803-2-maciej.wolny@codethink.co.uk> In-Reply-To: <20180510105359.24803-1-maciej.wolny@codethink.co.uk> References: <20180510105359.24803-1-maciej.wolny@codethink.co.uk> X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 207 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Thu, 10 May 2018 10:54:47 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Thu, 10 May 2018 10:54:47 +0000 (UTC) for IP:'176.9.8.82' DOMAIN:'imap1.codethink.co.uk' HELO:'imap1.codethink.co.uk' FROM:'maciej.wolny@codethink.co.uk' RCPT:'' X-RedHat-Spam-Score: -0.011 (RCVD_IN_DNSWL_NONE, SPF_PASS) 176.9.8.82 imap1.codethink.co.uk 176.9.8.82 imap1.codethink.co.uk X-Scanned-By: MIMEDefang 2.83 on 10.5.110.25 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.25 X-loop: libvir-list@redhat.com Cc: Maciej Wolny Subject: [libvirt] [PATCH v2 1/5] qemu_command: Move SDL command line building into helper X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.25 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Thu, 10 May 2018 10:54:54 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Create a function called `qemuBuildGraphicsSDLCommandLine` which is called from qemuBuildGraphicsCommandLine. Signed-off-by: Maciej Wolny Reviewed-by: John Ferlan --- src/qemu/qemu_command.c | 49 +++++++++++++++++++++++++++++----------------= ---- 1 file changed, 29 insertions(+), 20 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index c6bf6d583..d8a44b9e6 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7568,6 +7568,34 @@ qemuBuildMemoryDeviceCommandLine(virCommandPtr cmd, =20 =20 static int +qemuBuildGraphicsSDLCommandLine(virQEMUDriverConfigPtr cfg ATTRIBUTE_UNUSE= D, + virCommandPtr cmd, + virQEMUCapsPtr qemuCaps ATTRIBUTE_UNUSED, + virDomainGraphicsDefPtr graphics) +{ + if (graphics->data.sdl.xauth) + virCommandAddEnvPair(cmd, "XAUTHORITY", graphics->data.sdl.xauth); + if (graphics->data.sdl.display) + virCommandAddEnvPair(cmd, "DISPLAY", graphics->data.sdl.display); + if (graphics->data.sdl.fullscreen) + virCommandAddArg(cmd, "-full-screen"); + + /* If using SDL for video, then we should just let it + * use QEMU's host audio drivers, possibly SDL too + * User can set these two before starting libvirtd + */ + virCommandAddEnvPassBlockSUID(cmd, "QEMU_AUDIO_DRV", NULL); + virCommandAddEnvPassBlockSUID(cmd, "SDL_AUDIODRIVER", NULL); + + /* New QEMU has this flag to let us explicitly ask for + * SDL graphics. This is better than relying on the + * default, since the default changes :-( */ + virCommandAddArg(cmd, "-sdl"); + return 0; +} + + +static int qemuBuildGraphicsVNCCommandLine(virQEMUDriverConfigPtr cfg, virCommandPtr cmd, virQEMUCapsPtr qemuCaps, @@ -7946,26 +7974,7 @@ qemuBuildGraphicsCommandLine(virQEMUDriverConfigPtr = cfg, { switch (graphics->type) { case VIR_DOMAIN_GRAPHICS_TYPE_SDL: - if (graphics->data.sdl.xauth) - virCommandAddEnvPair(cmd, "XAUTHORITY", graphics->data.sdl.xau= th); - if (graphics->data.sdl.display) - virCommandAddEnvPair(cmd, "DISPLAY", graphics->data.sdl.displa= y); - if (graphics->data.sdl.fullscreen) - virCommandAddArg(cmd, "-full-screen"); - - /* If using SDL for video, then we should just let it - * use QEMU's host audio drivers, possibly SDL too - * User can set these two before starting libvirtd - */ - virCommandAddEnvPassBlockSUID(cmd, "QEMU_AUDIO_DRV", NULL); - virCommandAddEnvPassBlockSUID(cmd, "SDL_AUDIODRIVER", NULL); - - /* New QEMU has this flag to let us explicitly ask for - * SDL graphics. This is better than relying on the - * default, since the default changes :-( */ - virCommandAddArg(cmd, "-sdl"); - - break; + return qemuBuildGraphicsSDLCommandLine(cfg, cmd, qemuCaps, graphic= s); =20 case VIR_DOMAIN_GRAPHICS_TYPE_VNC: return qemuBuildGraphicsVNCCommandLine(cfg, cmd, qemuCaps, graphic= s); --=20 2.11.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sat Apr 27 10:05:30 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=codethink.co.uk Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1525949712162442.13007157873517; Thu, 10 May 2018 03:55:12 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7682630C23B1; Thu, 10 May 2018 10:55:10 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3EAE63844; Thu, 10 May 2018 10:55:10 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id E8CED4CAB0; Thu, 10 May 2018 10:55:09 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w4AAt75Z020776 for ; Thu, 10 May 2018 06:55:08 -0400 Received: by smtp.corp.redhat.com (Postfix) id ED93137DE; Thu, 10 May 2018 10:55:07 +0000 (UTC) Received: from mx1.redhat.com (ext-mx14.extmail.prod.ext.phx2.redhat.com [10.5.110.43]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E6204379F for ; Thu, 10 May 2018 10:55:00 +0000 (UTC) Received: from imap1.codethink.co.uk (imap1.codethink.co.uk [176.9.8.82]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id EAF9A3002C62 for ; Thu, 10 May 2018 10:54:59 +0000 (UTC) Received: from [88.97.110.231] (helo=ct-lt-931.lan) by imap1.codethink.co.uk with esmtpsa (Exim 4.84_2 #1 (Debian)) id 1fGjDu-00018g-G8; Thu, 10 May 2018 11:54:58 +0100 From: Maciej Wolny To: libvir-list@redhat.com Date: Thu, 10 May 2018 11:53:56 +0100 Message-Id: <20180510105359.24803-3-maciej.wolny@codethink.co.uk> In-Reply-To: <20180510105359.24803-1-maciej.wolny@codethink.co.uk> References: <20180510105359.24803-1-maciej.wolny@codethink.co.uk> X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 207 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.43]); Thu, 10 May 2018 10:55:00 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.43]); Thu, 10 May 2018 10:55:00 +0000 (UTC) for IP:'176.9.8.82' DOMAIN:'imap1.codethink.co.uk' HELO:'imap1.codethink.co.uk' FROM:'maciej.wolny@codethink.co.uk' RCPT:'' X-RedHat-Spam-Score: -0.011 (RCVD_IN_DNSWL_NONE, SPF_PASS) 176.9.8.82 imap1.codethink.co.uk 176.9.8.82 imap1.codethink.co.uk X-Scanned-By: MIMEDefang 2.84 on 10.5.110.43 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Cc: Maciej Wolny Subject: [libvirt] [PATCH v2 2/5] qemu_command: Remove outdated comment X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Thu, 10 May 2018 10:55:11 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Maciej Wolny Reviewed-by: John Ferlan --- src/qemu/qemu_command.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index d8a44b9e6..690be51e0 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7587,9 +7587,6 @@ qemuBuildGraphicsSDLCommandLine(virQEMUDriverConfigPt= r cfg ATTRIBUTE_UNUSED, virCommandAddEnvPassBlockSUID(cmd, "QEMU_AUDIO_DRV", NULL); virCommandAddEnvPassBlockSUID(cmd, "SDL_AUDIODRIVER", NULL); =20 - /* New QEMU has this flag to let us explicitly ask for - * SDL graphics. This is better than relying on the - * default, since the default changes :-( */ virCommandAddArg(cmd, "-sdl"); return 0; } --=20 2.11.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sat Apr 27 10:05:30 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=codethink.co.uk Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1525949713537893.7695002283735; Thu, 10 May 2018 03:55:13 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 9610337E88; Thu, 10 May 2018 10:55:11 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 59141379F; Thu, 10 May 2018 10:55:11 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 0C89D41284; Thu, 10 May 2018 10:55:11 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w4AAt5KF020766 for ; Thu, 10 May 2018 06:55:05 -0400 Received: by smtp.corp.redhat.com (Postfix) id 579C030BB009; Thu, 10 May 2018 10:55:05 +0000 (UTC) Received: from mx1.redhat.com (ext-mx17.extmail.prod.ext.phx2.redhat.com [10.5.110.46]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 506F830BB008 for ; Thu, 10 May 2018 10:55:03 +0000 (UTC) Received: from imap1.codethink.co.uk (imap1.codethink.co.uk [176.9.8.82]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 8AA493003EC9 for ; Thu, 10 May 2018 10:55:01 +0000 (UTC) Received: from [88.97.110.231] (helo=ct-lt-931.lan) by imap1.codethink.co.uk with esmtpsa (Exim 4.84_2 #1 (Debian)) id 1fGjDv-00018g-WF; Thu, 10 May 2018 11:55:00 +0100 From: Maciej Wolny To: libvir-list@redhat.com Date: Thu, 10 May 2018 11:53:57 +0100 Message-Id: <20180510105359.24803-4-maciej.wolny@codethink.co.uk> In-Reply-To: <20180510105359.24803-1-maciej.wolny@codethink.co.uk> References: <20180510105359.24803-1-maciej.wolny@codethink.co.uk> X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 207 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Thu, 10 May 2018 10:55:01 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Thu, 10 May 2018 10:55:01 +0000 (UTC) for IP:'176.9.8.82' DOMAIN:'imap1.codethink.co.uk' HELO:'imap1.codethink.co.uk' FROM:'maciej.wolny@codethink.co.uk' RCPT:'' X-RedHat-Spam-Score: -0.011 (RCVD_IN_DNSWL_NONE, SPF_PASS) 176.9.8.82 imap1.codethink.co.uk 176.9.8.82 imap1.codethink.co.uk X-Scanned-By: MIMEDefang 2.84 on 10.5.110.46 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.26 X-loop: libvir-list@redhat.com Cc: Maciej Wolny Subject: [libvirt] [PATCH v2 3/5] qemu: Add gl property to graphics of type sdl in domain config X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Thu, 10 May 2018 10:55:12 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Support OpenGL accelerated rendering when using SDL graphics in the domain config. Add associated test and documentation. Signed-off-by: Maciej Wolny Reviewed-by: John Ferlan --- docs/formatdomain.html.in | 6 +++ docs/schemas/domaincommon.rng | 8 ++++ src/conf/domain_conf.c | 44 ++++++++++++++++++= ++- src/conf/domain_conf.h | 1 + tests/qemuxml2argvdata/video-virtio-gpu-sdl-gl.xml | 38 ++++++++++++++++++ .../qemuxml2xmloutdata/video-virtio-gpu-sdl-gl.xml | 45 ++++++++++++++++++= ++++ tests/qemuxml2xmltest.c | 1 + 7 files changed, 141 insertions(+), 2 deletions(-) create mode 100644 tests/qemuxml2argvdata/video-virtio-gpu-sdl-gl.xml create mode 100644 tests/qemuxml2xmloutdata/video-virtio-gpu-sdl-gl.xml diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index caeb14e2f..a7ef9269f 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -6162,6 +6162,12 @@ qemu-kvm -net nic,model=3D? /dev/null and an optional fullscreen attribute accepting = values yes or no.

+ +

+ You can use a gl with the enable=3D"yes"<= /code> + property to enable OpenGL support in SDL. Likewise you can + explicitly disable OpenGL support with enable=3D"no". +

vnc
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index 0a6b29b2f..c4c500a3c 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -3031,6 +3031,14 @@ + + + + + + + + diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index f678e26b2..85bfa800b 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -13448,11 +13448,18 @@ virDomainGraphicsDefParseXMLVNC(virDomainGraphics= DefPtr def, =20 static int virDomainGraphicsDefParseXMLSDL(virDomainGraphicsDefPtr def, - xmlNodePtr node) + xmlNodePtr node, + xmlXPathContextPtr ctxt) { + xmlNodePtr save =3D ctxt->node; + char *enable; + int enableVal; + xmlNodePtr glNode; char *fullscreen =3D virXMLPropString(node, "fullscreen"); int ret =3D -1; =20 + ctxt->node =3D node; + if (fullscreen !=3D NULL) { if (STREQ(fullscreen, "yes")) { def->data.sdl.fullscreen =3D true; @@ -13470,9 +13477,30 @@ virDomainGraphicsDefParseXMLSDL(virDomainGraphicsD= efPtr def, def->data.sdl.xauth =3D virXMLPropString(node, "xauth"); def->data.sdl.display =3D virXMLPropString(node, "display"); =20 + glNode =3D virXPathNode("./gl", ctxt); + if (glNode) { + enable =3D virXMLPropString(glNode, "enable"); + if (!enable) { + virReportError(VIR_ERR_XML_ERROR, "%s", + _("sdl gl element missing enable")); + goto cleanup; + } + + enableVal =3D virTristateBoolTypeFromString(enable); + if (enableVal < 0) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("unknown enable value '%s'"), enable); + VIR_FREE(enable); + goto cleanup; + } + VIR_FREE(enable); + def->data.sdl.gl =3D enableVal; + } + ret =3D 0; cleanup: VIR_FREE(fullscreen); + ctxt->node =3D save; return ret; } =20 @@ -13901,7 +13929,7 @@ virDomainGraphicsDefParseXML(xmlNodePtr node, goto error; break; case VIR_DOMAIN_GRAPHICS_TYPE_SDL: - if (virDomainGraphicsDefParseXMLSDL(def, node) < 0) + if (virDomainGraphicsDefParseXMLSDL(def, node, ctxt) < 0) goto error; break; case VIR_DOMAIN_GRAPHICS_TYPE_RDP: @@ -25654,6 +25682,18 @@ virDomainGraphicsDefFormat(virBufferPtr buf, if (def->data.sdl.fullscreen) virBufferAddLit(buf, " fullscreen=3D'yes'"); =20 + if (!children && def->data.sdl.gl !=3D VIR_TRISTATE_BOOL_ABSENT) { + virBufferAddLit(buf, ">\n"); + virBufferAdjustIndent(buf, 2); + children =3D true; + } + + if (def->data.sdl.gl !=3D VIR_TRISTATE_BOOL_ABSENT) { + virBufferAsprintf(buf, "data.sdl.gl= )); + virBufferAddLit(buf, "/>\n"); + } + break; =20 case VIR_DOMAIN_GRAPHICS_TYPE_RDP: diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 15d228ba9..517278989 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -1599,6 +1599,7 @@ struct _virDomainGraphicsDef { char *display; char *xauth; bool fullscreen; + virTristateBool gl; } sdl; struct { int port; diff --git a/tests/qemuxml2argvdata/video-virtio-gpu-sdl-gl.xml b/tests/qem= uxml2argvdata/video-virtio-gpu-sdl-gl.xml new file mode 100644 index 000000000..9dea73fbe --- /dev/null +++ b/tests/qemuxml2argvdata/video-virtio-gpu-sdl-gl.xml @@ -0,0 +1,38 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 1048576 + 1048576 + 1 + + hvm + + + + destroy + restart + destroy + + /usr/bin/qemu-system-i686 + + + + +
+ + + + + + + + + + + + + diff --git a/tests/qemuxml2xmloutdata/video-virtio-gpu-sdl-gl.xml b/tests/q= emuxml2xmloutdata/video-virtio-gpu-sdl-gl.xml new file mode 100644 index 000000000..da03dd5da --- /dev/null +++ b/tests/qemuxml2xmloutdata/video-virtio-gpu-sdl-gl.xml @@ -0,0 +1,45 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 1048576 + 1048576 + 1 + + hvm + + + + destroy + restart + destroy + + /usr/bin/qemu-system-i686 + + + + +
+ + +
+ + +
+ + + + + + + +