[Bug 196777] Virtual guest using video device QXL does not reach GDM

bugzilla-daemon at bugzilla.kernel.org bugzilla-daemon at bugzilla.kernel.org
Tue Sep 19 15:23:01 UTC 2017


https://bugzilla.kernel.org/show_bug.cgi?id=196777

--- Comment #11 from Gerd Hoffmann (kraxel at redhat.com) ---
(In reply to Justin M. Forbes from comment #10)
> After going through these with a number of users:
> 
> qxl: fix primary surface handling - This patch is widely reported to cause
> serious screen flickering that is not there without it, making the system
> unusable.

Workaround #1: turn off wayland.
Workaround #2: use virtio-vga instead. wayland doesn't use qxl 2d accel anyway.

Fundamental problem here is that the qxl virtual hardware simply doesn't
support pageflip, we have to destroy + re-create the primary surface instead. 
This is where the flicker comes from.

Commit "058e9f5c82 drm/qxl: simple crtc page flipping emulated using buffer
copy" handles the issue with a pretty gross hack, blitting one framebuffer over
the other instead of a proper primary surface update.  With atomic modesetting
that doesn't work any more.

We could possibly decouple the primary surface from the drm framebuffers, so
the drm framebuffers effectively become shadow framebuffers, and every display
update becomes a drm framebuffer -> primary surface blit.  Not sure whenever
that scheme can work properly with xorg though.  Also has a high chance to
cause xorg performance regressions.

> qxl: fix pinning: This patch resolves the GDM login issues with plymouth.

Good.

-- 
You are receiving this mail because:
You are watching the assignee of the bug.


More information about the dri-devel mailing list