From: bugzilla-daemon@bugzilla.kernel.org
To: dri-devel@lists.freedesktop.org
Subject: [Bug 196777] Virtual guest using video device QXL does not reach GDM
Date: Mon, 02 Oct 2017 16:24:38 +0000 [thread overview]
Message-ID: <bug-196777-2300-0Zg2TrU4IT@https.bugzilla.kernel.org/> (raw)
In-Reply-To: <bug-196777-2300@https.bugzilla.kernel.org/>
https://bugzilla.kernel.org/show_bug.cgi?id=196777
--- Comment #12 from Justin M. Forbes (jmforbes@linuxtx.org) ---
(In reply to Gerd Hoffmann from comment #11)
> (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.
Possible as a short term fix, but with wayland being pretty much "the way
forward" it doesn't seem to be a workable long term solution.
> 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.
>
So this brings up an interesting problem in how things are to move forward. It
came up as a blocker in Fedora 27 today. Let's say we find a way to force boxes
to revert to virtio-vga. That wouldn't change any existing VMs, and it is
something we have no control over when the host is not Fedora as well. It also
would be a problem for non wayland guests.
--
You are receiving this mail because:
You are watching the assignee of the bug.
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2017-10-02 16:24 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-26 8:28 [Bug 196777] New: Virtual guest using video device QXL does not reach GDM bugzilla-daemon
2017-08-26 13:04 ` [Bug 196777] " bugzilla-daemon
2017-09-10 14:41 ` bugzilla-daemon
2017-09-11 8:43 ` bugzilla-daemon
2017-09-12 18:44 ` bugzilla-daemon
2017-09-13 10:31 ` bugzilla-daemon
2017-09-13 12:51 ` bugzilla-daemon
2017-09-13 13:23 ` bugzilla-daemon
2017-09-14 17:23 ` bugzilla-daemon
2017-09-15 10:50 ` bugzilla-daemon
2017-09-17 8:50 ` bugzilla-daemon
2017-09-19 14:37 ` bugzilla-daemon
2017-09-19 15:23 ` bugzilla-daemon
2017-10-02 16:24 ` bugzilla-daemon [this message]
2017-10-04 10:37 ` bugzilla-daemon
2017-10-19 7:07 ` bugzilla-daemon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bug-196777-2300-0Zg2TrU4IT@https.bugzilla.kernel.org/ \
--to=bugzilla-daemon@bugzilla.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox