[PATCH xserver] modesetting: always set a hardware cursor when requested to load one.
michael.thayer at oracle.com
Wed Sep 28 12:47:29 UTC 2016
On 28.09.2016 09:58, Hans de Goede wrote:
> On 28-09-16 05:05, Michel Dänzer wrote:
>>>>> On 09/16/2016 06:52 PM, Michael Thayer wrote:
>>>>>> When the X server asks us to load a hardware cursor, that
>>>>>> request is always followed up by a request to show it if we
>>>>>> report success, or to hide it if we report failure. Therefore
>>>>>> it makes no sense to suppress the request if the cursor is not
>>>>>> currently visible.
>> TBH, I feel like the issues you're having with VirtualBox would be
>> better dealt with at the virtual GPU hardware level, by making the HW
>> cursor work reliably for guests and making it the hypervisor's
>> responsibility to draw the cursor on the host side when the HW cursor
>> can't be used there.
> Yes that would be me suggestion too, I think that playing the whole
> now we support hw cursor now we don't game does not really work. Esp.
> since if the guest is just idle, it will not try any drmSetCursor
> calls, so it will not even know the support has changed underneath it.
If that is the case then you should nack the third in the series too, as
it does not make sense (or even apply) without the second.
For the record, I looked at making show_cursor() return a boolean. It
seemed feasible, and would allow for removing the first time hack in
modesetting too, but there was a catch in that the cursor could
theoretically be visible but still hidden on all screens (with a strange
screen layout), in which case show_cursor() would not be called until
the cursor moved onto a screen. Making set_cursor_position() return a
success value seemed a bit too invasive.
Replacing the first time hack with a "check if the cursor is up on at
least one screen, else load it briefly" would work, but cause a cursor
flicker each time the cursor went from hidden to shown.
Thanks for the review time anyway.
Michael Thayer | VirtualBox engineer
ORACLE Deutschland B.V. & Co. KG | Werkstr. 24 | D-71384 Weinstadt
ORACLE Deutschland B.V. & Co. KG
Hauptverwaltung: Riesstraße 25, D-80992 München
Registergericht: Amtsgericht München, HRA 95603
Komplementärin: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande Handelsregister
der Handelskammer Midden-Nederland, Nr. 30143697
Geschäftsführer: Alexander van der Ven, Jan Schultheiss, Val Maher
More information about the xorg-devel