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 ... > It makes sense in a way since we never want to draw the cursor in the > shared framebuffer, but we could probably handle it by having a small > separate pixman surface which we paint on top of the final render or > something like that (or link to a host side HW cursor if any) but I > can't quite see anything in the code. There is infrastructure to inform the ui code how the cursor should look like (grep for "dpy_cursor_define"), so we actually can use the hosts hardware cursor support. cirrus doesn't use it though. cheers, Gerd