Avoid the sticky preferred mode bit by using the no-merge version of the function (this allows gnome-shell to resize to lower resolutions than the default resolution)
Signed-off-by: Marc-André Lureau marcandre.lureau@redhat.com --- drivers/gpu/drm/virtio/virtgpu_display.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/virtio/virtgpu_display.c b/drivers/gpu/drm/virtio/virtgpu_display.c index f545913..578fe0a 100644 --- a/drivers/gpu/drm/virtio/virtgpu_display.c +++ b/drivers/gpu/drm/virtio/virtgpu_display.c @@ -412,7 +412,7 @@ static const struct drm_connector_funcs virtio_gpu_connector_funcs = { .save = virtio_gpu_conn_save, .restore = virtio_gpu_conn_restore, .detect = virtio_gpu_conn_detect, - .fill_modes = drm_helper_probe_single_connector_modes, + .fill_modes = drm_helper_probe_single_connector_modes_nomerge, .destroy = virtio_gpu_conn_destroy, .reset = drm_atomic_helper_connector_reset, .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
It seems appropriate for paravirtual hardware to reset cursor when the resolution changes, that way the cursor is removed if the machine is forcefully rebooted for ex. That's what the QXL/Spice server does. In order for virtio-gpu to work will with the Spice server, set the cursor again after changing the scanout.
Signed-off-by: Marc-André Lureau marcandre.lureau@redhat.com --- drivers/gpu/drm/virtio/virtgpu_plane.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/virtio/virtgpu_plane.c b/drivers/gpu/drm/virtio/virtgpu_plane.c index 4a74129..7cb0e22 100644 --- a/drivers/gpu/drm/virtio/virtgpu_plane.c +++ b/drivers/gpu/drm/virtio/virtgpu_plane.c @@ -84,6 +84,7 @@ static void virtio_gpu_plane_atomic_update(struct drm_plane *plane, plane->state->crtc_h, plane->state->crtc_x, plane->state->crtc_y); + virtio_gpu_cursor_ping(vgdev, output); }
On 13 November 2015 at 23:00, Marc-André Lureau marcandre.lureau@gmail.com wrote:
It seems appropriate for paravirtual hardware to reset cursor when the resolution changes, that way the cursor is removed if the machine is forcefully rebooted for ex. That's what the QXL/Spice server does. In order for virtio-gpu to work will with the Spice server, set the cursor again after changing the scanout.
I'm really not sure about this, I think we should probably have qemu do this if necessary.
Normal GPU hw the cursor is independant from the modesetting, and we turn it on/off.
I don't think the virt GPU should operate differently here.
Dave.
dri-devel@lists.freedesktop.org