diff mbox

[3/3] virtio-gpu: Warn if UI config will disable virgl

Message ID 543c98f507a30a92c42f1d240b47ad90f0efdad3.1463588606.git.crobinso@redhat.com
State New
Headers show

Commit Message

Cole Robinson May 18, 2016, 4:40 p.m. UTC
Give users a hint if their config is wrong.

Signed-off-by: Cole Robinson <crobinso@redhat.com>

---
If virgl support is built into qemu, virgl=on is the default, so this
could be noisy in cases where people don't even care about virgl. So
I won't object if this is dropped.

The message also pops up once via make check, probably from
tests/display-vga-test.c , but doesn't cause a failure or anything.

Is there a way to check that user explicitly specified virgl= ?

 hw/display/virtio-gpu.c | 5 +++++
 1 file changed, 5 insertions(+)

-- 
2.7.4

Comments

Cole Robinson May 20, 2016, 2:49 p.m. UTC | #1
On 05/20/2016 01:53 AM, Gerd Hoffmann wrote:
> On Mi, 2016-05-18 at 12:40 -0400, Cole Robinson wrote:

>> Give users a hint if their config is wrong.

>>

>> Signed-off-by: Cole Robinson <crobinso@redhat.com>

>> ---

>> If virgl support is built into qemu, virgl=on is the default, so this

>> could be noisy in cases where people don't even care about virgl. So

>> I won't object if this is dropped.

> 

> Yes, it's enabled by default, so users have to flip one switch only

> (-spice gl=on) to enable 3d, not two.  So warning here is a bad thing

> IMO.

> 

> We could turn the virgl switch into tristate (OnOffAuto), have it

> default to Auto, then fail (not warn) in case it is set to On without 3d

> support being available.

> 


Property settings are part of the migration format, right? Is there an easy
way to change the 'virgl' property like that in a backwards compatible way? Or
decouple the command line handling from the Property value?

Thanks,
Cole
diff mbox

Patch

diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index c181fb3..d3c567f 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -13,6 +13,7 @@ 
 
 #include "qemu/osdep.h"
 #include "qemu-common.h"
+#include "qemu/error-report.h"
 #include "qemu/iov.h"
 #include "ui/console.h"
 #include "trace.h"
@@ -944,6 +945,10 @@  static void virtio_gpu_device_realize(DeviceState *qdev, Error **errp)
     have_virgl = display_opengl;
 #endif
     if (!have_virgl) {
+        if (virtio_gpu_virgl_enabled(g->conf)) {
+            error_report("Display isn't configured for GL support. "
+                         "Disabling virgl");
+        }
         g->conf.flags &= ~(1 << VIRTIO_GPU_FLAG_VIRGL_ENABLED);
     }