mbox series

[00/29] : vmsvga: Various fixes and enhancements

Message ID 1533815202-11967-1-git-send-email-liran.alon@oracle.com (mailing list archive)
Headers show
Series : vmsvga: Various fixes and enhancements | expand

Message

Liran Alon Aug. 9, 2018, 11:46 a.m. UTC
Hi,

This patch series aim to fix many issues in vmware-svga emulation
which have prevented it from being fully functional in a wide-variety
of guests.

Patches 1-5 are just code refactoring patches.

Patches 6-11 aim to fix multiple command parsing issues which caused
FIFO to desync and thus fail to parse commands posted after the
commands which failed to parse.

Patches 12-13 better define FIFO registers and add support for
extended FIFO registers.

Patches 14-17 add interrupt support.

Patches 18-19 utilize interrupt support to implement various interrupt
sources. Specifically, FIFO_PROGRESS interrupt and FIFO_FENCE related
interrupts.

Patches 20-24 fix various issues in cursor commands and improve
hardware cursor performance by utilizing CURSOR_BYPASS_3 capability
which allows getting cursor updates via FIFO registers.

Patch 25 add basic support for parsing GMR commands to avoid FIFO
desync.

Patches 26-27 add vmware-svga capabilities required by Linux
kernel vmware-svga driver.

Patch 28 is a small code refactoring change.

Patch 29 disallows setting screen size to zero width/height to avoid
VNC window surprisingly disappearing.

Regards,
-Liran Alon

Comments

Gerd Hoffmann Aug. 10, 2018, 10:14 a.m. UTC | #1
On Thu, Aug 09, 2018 at 02:46:13PM +0300, Liran Alon wrote:
> Hi,
> 
> This patch series aim to fix many issues in vmware-svga emulation
> which have prevented it from being fully functional in a wide-variety
> of guests.

Nice job in modernizing the vmware svga emulation.

What guests this was tested with?  I've tried Fedora 28.  The vmware kms
driver loads fine, fbcon runs fine.  Nice.

But gdm doesn't start, neither with X11 nor with wayland.  Which is a
regression, because the xorg vmware driver manages to handle the current
qemu emulation just fine so gnome @ X11 works.

cheers,
  Gerd
Liran Alon Aug. 11, 2018, 12:04 a.m. UTC | #2
> On 10 Aug 2018, at 13:14, Gerd Hoffmann <kraxel@redhat.com> wrote:
> 
> On Thu, Aug 09, 2018 at 02:46:13PM +0300, Liran Alon wrote:
>> Hi,
>> 
>> This patch series aim to fix many issues in vmware-svga emulation
>> which have prevented it from being fully functional in a wide-variety
>> of guests.
> 
> Nice job in modernizing the vmware svga emulation.
> 
> What guests this was tested with?  I've tried Fedora 28.  The vmware kms
> driver loads fine, fbcon runs fine.  Nice.

This was tested with a wide-variety of various Windows versions & Linux distributions
which we have encountered that had issues with current vmware-svga emulation.
If it’s important, we can provide the exact test-matrix we have run against this code.

> 
> But gdm doesn't start, neither with X11 nor with wayland.  Which is a
> regression, because the xorg vmware driver manages to handle the current
> qemu emulation just fine so gnome @ X11 works.

Interesting. Thanks for finding this out. Will have a look.
Can you give more exact details about how you reproduced this issue?
I prefer to have a similar setup to make sure we have fixed the regression in this series.

> 
> cheers,
>  Gerd
> 

Thanks for the detailed review and feedback.
-Liran
Gerd Hoffmann Aug. 13, 2018, 10:54 a.m. UTC | #3
Hi,

> > But gdm doesn't start, neither with X11 nor with wayland.  Which is a
> > regression, because the xorg vmware driver manages to handle the current
> > qemu emulation just fine so gnome @ X11 works.
> 
> Interesting. Thanks for finding this out. Will have a look.
> Can you give more exact details about how you reproduced this issue?

xorg is easiest, because Fedora 28 uses that by default for vmware svga:

  (1) download Fedora 28 workstation live iso.
  (2) boot in qemu with -vga vmware.

To try wayland you have to install fedora to disk (can be done using the
workstation live iso).

You can switch between xorg and wayland using /etc/gdm/custom.conf then,
by commenting/uncommenting the WaylandEnable line ...

   [daemon]
   # Uncoment the line below to force the login screen to use Xorg
   #WaylandEnable=false

... and rebooting.

> I prefer to have a similar setup to make sure we have fixed the
> regression in this series.

xorg regression needs fixing.

Having wayland working too would be nice, but wayland doesn't work with
the current emulation either.  So it isn't a regression and can be done
as separate patch series later on.

cheers,
  Gerd