On Di, 2014-07-01 at 10:26 +0200, Alexander Graf wrote: > On 01.07.14 10:20, Gerd Hoffmann wrote: > > On Mo, 2014-06-30 at 22:32 +1000, Benjamin Herrenschmidt wrote: > >> On Mon, 2014-06-30 at 13:14 +0200, Gerd Hoffmann wrote: > >>> Hi, > >>> > >>>> From what I can tell, we only ever call the cursor drawing callback on > >>>> non-shared surfaces. Should I deduce that the HW cursor emulation simply > >>>> doesn't work when using shared surfaces ? Or is there another path I > >>>> have missed to handle it ? > >>> Hmm. Looks like hw-cursor-on-shared-surface broken indeed. Need to dig > >>> out a guest which actually uses it & go figure when testing your patch > >>> series ... > >> I don't think I broke it much more than it already was but then I > >> couldn't find a guest using it. I've tried the plain cirrus DDX in X and > >> it didn't have any problem... maybe windows ? > > Nope. windows xp doesn't use it. Anything newer doesn't ship with > > cirrus drivers any more (and uses vesa bios support). > > > > Looking at the code the cirrus hardware cursor supports two colors only > > (and some funky xor mode). Guess it simply doesn't cut it as you can't > > have your cursors drop shadows with that, so guests are ignoring it. > > Windows NT 4 might use it. I remember that I had issues running NT4 with > Cirrus emulation a while back.
That could be it indeed. > >> Right. A quick fix would be to add a flag to force always using a shadow > >> surface and set it in cirrus ... I'm not sure anybody will notice the > >> performance difference. > > I suspect we can rip out hw cursor emulation and nobody will notice the > > difference either ... > > Very likely ;). Though I think we're better off keeping it around to > make sure we're still compatible with ancient guests (Windows 3.1 might > use it too). Making it slow however shouldn't make any difference at all. Especially as we can make the force-shadow mode depend on the hw cursor enable bit, so we don't have any difference for the common case. cheers, Gerd