On 10/23/18 15:42, Gerd Hoffmann wrote:
>   Hi,
> 
>> Please help me see the situation better. Here's my current
>> understanding.
>>
>> (1) QemuVideoDxe doesn't set up the VMW SVGA FIFO, and does not store 1
>>     to the SVGA_REG_CONFIG_DONE register. And this is not a "small
>>     missing step" -- the FIFO setup can be considered a separate
>>     feature.
>>
>> (2) We don't intend to implement the FIFO setup feature. (In particular
>>     because we don't intend to track changed rectangles and send updates
>>     via the FIFO.)
>>
>> (3) The intent of the original VMW SVGA enablement patch for
>>     QemuVideoDxe, namely commit c137d9508169, was to enable booting some
>>     UEFI operating systems on OVMF that had guest drivers only for VMW
>>     SVGA.
>>
>> (4) The QEMU device model now -- since commit 104bd1dc70 -- falls back
>>     to stdvga (that is, Bochs) in response to QemuVideoDxe's actions.
>>
>> (5) Your proposal is to set up the Bochs interface in QemuVideoDxe, *in
>>     addition* to the -- now dysfunctional! -- VMW SVGA interface.
>>
>> Is my understanding correct?
> 
> I understand things the same way.
> 
>> So, what do you think of the following approach, instead of your
>> currently proposed patch:
>>
>> - revert commit c137d9508169 ("OvmfPkg/QemuVideoDxe: VMWare SVGA device
>>   support", 2017-04-07)
>>
>> - revert commit 05a537945872 ("OvmfPkg/QemuVideoDxe: Helper functions
>>   for unaligned port I/O.", 2017-04-07)
>>
>> - given that QEMU provides the Bochs interface anyway, with the VMW SVGA
>>   device model, simply recognize the "QEMU VMWare SVGA" card, in the
>>   "gQemuVideoCardList" array, as the QEMU_VIDEO_BOCHS_MMIO variant.
> 
> Makes sense to me.

Great, thank you.

> Alternatively write a full-blown vmsvga driver which works simliar to
> the virtio-gpu driver.  I have my doubts this is worth the effort
> though.

Right, please let us *not* do this.

> 
>> Before QEMU commit 104bd1dc70, was it really *required* to use the (now
>> dead) QemuVideoDxe code for VMW SVGA, or would it always have been
>> possible to simply use the Bochs interface, to drive the VMW SVGA
>> device?
> 
> I think bochs interface works works with all vmsvga version (in qemu).

Great!

> Didn't test though.

That's fine; I think I haven't tested VMW SVGA, as in "ever". That's up
to people that actually use the device model. As I wrote previously,
it's quite telling that the consequences of QEMU commit 104bd1dc70, from
release v2.10.0, are reported only now, more than a year after the
release -- VMW SVGA must not be a very popular device model.

Yuchenlin, can you then please investigate this approach, including
testing the reverts (the Bochs-only implementation) against QEMU v2.9.1?

(FWIW, upstream QEMU doesn't seem to support earlier releases than
v2.10.2 any longer, according to <https://www.qemu.org/>. So even if the
v2.9.1 test failed, maybe we shouldn't care, in *upstream* edk2. Still,
knowing the status would be useful.)

Thanks!
Laszlo
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to