vmwgfx + libkms on VMware hardware 8

Jakob Bornecrantz jakob at vmware.com
Wed Oct 19 03:29:34 PDT 2011


----- Original Message -----
> Thanks for taking interesting in our driver.
> 
> ----- Original Message -----
> > Hi,
> >
> > I 'm trying to test KMS functionality of latest vmwgfx module.
> > I tried the code from
> > http://permalink.gmane.org/gmane.comp.video.dri.devel/42908
> >
> > as a simple test case, but all I get is a black screen instead
> > of white as would be expected.
> 
> I'm able to reproduce the bug at my end, quick debugging shows
> that the commands seems to be sent to the host. I'll try and
> get to the bottom of this once I done a couple of other tasks.

I found the bug and have pushed a fix to the standalone repository.

> 
> >
> > Setup:
> > VMWare Workstation 8.0.0
> > Host & Guest distro: kubuntu oneiric (11.10)
> > libdrm: 2.4.26+git20111003.c82ef03e from xorg-edgers ppa
> > vmwgfx module: latest git version from freedesktop.org
> >
> > dmesg output (vmwgfx initialization / capabilities)
> >
> > [ 3.696893] vmwgfx 0000:00:0f.0: PCI INT A -> GSI 16 (level, low)
> > -> IRQ 16
> > [ 3.697188] [vmwgfx] Capabilities:
> > [ 3.697191] [vmwgfx] Rect copy.
> > [ 3.697193] [vmwgfx] Cursor.
> > [ 3.697196] [vmwgfx] Cursor bypass.
> > [ 3.697198] [vmwgfx] Cursor bypass 2.
> > [ 3.697200] [vmwgfx] 8bit emulation.
> > [ 3.697202] [vmwgfx] Alpha cursor.
> > [ 3.697204] [vmwgfx] 3D.
> > [ 3.697206] [vmwgfx] Extended Fifo.
> > [ 3.697208] [vmwgfx] Multimon.
> > [ 3.697210] [vmwgfx] Pitchlock.
> > [ 3.697212] [vmwgfx] Irq mask.
> > [ 3.697214] [vmwgfx] Display Topology.
> > [ 3.697216] [vmwgfx] GMR.
> > [ 3.697218] [vmwgfx] Traces.
> > [ 3.697220] [vmwgfx] GMR2.
> > [ 3.697222] [vmwgfx] Screen Object 2.
> > [ 3.697224] [vmwgfx] Max GMR ids is 64
> > [ 3.697226] [vmwgfx] Max GMR descriptors is 4096
> > [ 3.697229] [vmwgfx] Max number of GMR pages is 196608
> > [ 3.697231] [vmwgfx] Max dedicated hypervisor surface memory is
> > 786432 kiB
> > [ 3.697234] [vmwgfx] VRAM at 0xd0000000 size is 131072 kiB
> > [ 3.697236] [vmwgfx] MMIO at 0xc8800000 size is 2048 kiB
> > [ 3.697239] [vmwgfx] global init.
> > [ 3.700262] [vmwgfx] width 640
> > [ 3.700276] [vmwgfx] height 480
> > [ 3.700289] [vmwgfx] bpp 32
> > [ 3.704308] [vmwgfx] Fifo max 0x00200000 min 0x00001000 cap
> > 0x0000077f
> > [ 3.728297] [vmwgfx] Screen objects system initialized
> > [ 3.728303] [vmwgfx] Detected device 3D availability.
> > [ 3.728401] [vmwgfx] Initialized vmwgfx 2.1.0 20110927 for
> > 0000:00:0f.0 on minor 0
> >
> > I 'm trying with ./modeset -s 4 at 6:1024x768
> >
> > Running the above under strace shows that all underlying ioctls
> > succeed, so it looks like this code should work.
> >
> > It looks like the update command is not sent to the card because if
> > I
> > add the parameter svga.forceTraces = "TRUE" to the .vmx file of the
> > VM, I see a white rectangle as expected (the mode still doesn't
> > look
> > right though, it looks like the size of the rectangle is 640x480
> > instead of 1024x768)
> 
> Does the UI resize? If you haven't set the option for the UI to
> resize itself when the guest changes size it wont and will scale
> the picture.

I recommend that you install the cairo dev packages as it will print
a test pattern that will help you see how large the screen is.

> 
> >
> > I also get in the vmware.log when I run the above:
> >
> > 2011-10-18T19:21:30.849+02:00| vcpu-0| I120: MKS enabling SVGA
> > 2011-10-18T19:21:30.909+02:00| vcpu-0| I120: Guest display topology
> > changed: numDisplays 0
> > 2011-10-18T19:21:30.910+02:00| vcpu-0| I120: Guest display topology
> > changed: numDisplays 0
> > 2011-10-18T19:21:30.934+02:00| vcpu-0| I120: Guest display topology
> > changed: numDisplays 0
> > 2011-10-18T19:21:30.935+02:00| vcpu-0| I120: Guest display topology
> > changed: numDisplays 0
> > 2011-10-18T19:21:30.957+02:00| vcpu-0| I120: Guest display topology
> > changed: numDisplays 0
> > 2011-10-18T19:21:30.974+02:00| mks| W110: MKS-EmuSVGA: Unsupported
> > GMR image format 0x00002020
> 
> This looks suspicious.

This was the problem btw.

> 
> > 2011-10-18T19:21:38.837+02:00| vcpu-0| I120: Guest display topology
> > changed: numDisplays 0
> > 2011-10-18T19:21:38.940+02:00| mks| I120: MKS disabling SVGA
> >
> > Any ideas on what may be going wrong? VMWare would make a pretty
> > cool
> > platform to experiment with several features of the modern open
> > graphics stack like wayland, plymouth, flickerless boot, integrated
> > kernel debugger, multiseat etc etc.
> >
> > I 'll be happy to provide more debugging information on this
> > problem
> > as needed.

Cheers, Jakob.


More information about the dri-devel mailing list