[gnome-boxes/gnome-3-32] installer-media: Add supports_virtio_gpu



commit 45f472372a12e3dc36567c544e7406013c924db8
Author: Felipe Borges <felipeborges gnome org>
Date:   Tue May 21 15:35:59 2019 +0200

    installer-media: Add supports_virtio_gpu
    
    This method can tell VMConfigurator to use the VIRTIO video model
    and whether we should try to enable 3D acceleration for this guest.
    
    3D acceleration is only supported with VIRTIO video.

 src/installer-media.vala |  6 ++++++
 src/vm-configurator.vala | 13 +++++--------
 2 files changed, 11 insertions(+), 8 deletions(-)
---
diff --git a/src/installer-media.vala b/src/installer-media.vala
index 5bde3cae..dd66c8a9 100644
--- a/src/installer-media.vala
+++ b/src/installer-media.vala
@@ -49,6 +49,12 @@
         }
     }
 
+    public bool supports_virtio_gpu {
+        get {
+            return (find_device_by_prop (supported_devices, DEVICE_PROP_NAME, "virtio1.0-gpu") != null);
+        }
+    }
+
     public bool prefers_q35 {
         get {
             if (os == null)
diff --git a/src/vm-configurator.vala b/src/vm-configurator.vala
index 5defe08c..d844aafe 100644
--- a/src/vm-configurator.vala
+++ b/src/vm-configurator.vala
@@ -82,9 +82,8 @@ public static Domain create_domain_config (InstallerMedia install_media, string
         set_target_media_config (domain, target_path, install_media);
         install_media.setup_domain_config (domain);
 
-        bool accel3d;
-        set_video_config (domain, install_media, out accel3d);
-        var graphics = create_graphics_device (accel3d);
+        set_video_config (domain, install_media);
+        var graphics = create_graphics_device (install_media.supports_virtio_gpu);
         domain.add_device (graphics);
 
         // SPICE agent channel. This is needed for features like copy&paste between host and guest etc to 
work.
@@ -370,15 +369,13 @@ private static void set_os_config (Domain domain, InstallerMedia install_media,
         domain.set_os (os);
     }
 
-    private static void set_video_config (Domain domain, InstallerMedia install_media, out bool accel3d) {
+    private static void set_video_config (Domain domain, InstallerMedia install_media) {
         var video = new DomainVideo ();
         video.set_model (DomainVideoModel.QXL);
 
-        var device = find_device_by_prop (install_media.supported_devices, DEVICE_PROP_NAME, 
"virtio1.0-gpu");
-        accel3d = (device != null);
-        if (accel3d) {
+        if (install_media.supports_virtio_gpu) {
             video.set_model (DomainVideoModel.VIRTIO);
-            video.set_accel3d (accel3d);
+            video.set_accel3d (true);
         }
 
         domain.add_device (video);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]