On 2/6/25 08:41, Akihiko Odaki wrote:
> On 2025/02/06 2:40, Dmitry Osipenko wrote:
>> On 2/3/25 08:31, Akihiko Odaki wrote:
>> ...
>>>> Requirements don't vary much. For example virglrenderer minigbm support
>>>> is mandatory for crosvm, while for QEMU it's not.
>>>
>>> Is that true? It seems that virglrenderer uses builds without minigbm
>>> support to run tests on GitLab CI.
>>
>> CI is running in a headless mode using software renderer. For a
>> full-featured crosvm support running on a baremetal, minigbm should be
>> needed, along with other downstream features.
> 
> That makes sense.
> 
> Based on your input, for QEMU, I don't think we need a separate
> documentation to describe libvirglrenderer's build flags though crosvm
> should have some documentation saying it requires minigbm.
> 
>>
>>> Anyway, if there is any variance in the build procedure, that may
>>> justify having a separate build instruction in QEMU tree to avoid
>>> confusion. Otherwise, it's better to have a documentation shared with
>>> other VMMs.
>>>
>>>>
>>>>> I'm not entirely sure the documentation will stay as is for that long.
>>>>> The requirements of Intel native context refer to merge requests that
>>>>> can be merged sooner or later. Asahi may need more updates if you
>>>>> document it too because its DRM ABI is still unstable.
>>>>
>>>> The unstable parts of course will need to be updated sooner, but the
>>>> stable should be solid for years. I expect that about a year later
>>>> requirements will need to be revisited.
>>>>
>>>
>>> It will be some burden in the future. Now you are adding this
>>> documentation just for QEMU, but crosvm and libkrun may gain similar
>>> documentation. The DRM native context support for Intel and Asahi is in
>>> development, and I guess nvk will support it someday.
>>>
>>> So, a very rough estimation of future documentation updates will be:
>>> (number of VMMs) * (number of DRM native contexts in development)
>>> = 3 * 3
>>> = 9
>>>
>>> That's manageable but suboptimal.
>>
>> I don't mind deferring the doc addition if that's preferred. Either way
>> is fine with me. Yet it's better to have doc than not.
> 
> My suggestion is not to defer the addition, but to add it to Mesa, which
> does not require deferring.
> 
>>
>> In my view crosvm and libkrun exist separately from QEMU, they serve a
>> different purpose. Majority of QEMU users likely never heard about those
>> other VMMs. A unified doc won't be a worthwhile effort, IMO.
>>
> 
> When evaluating the utility of a unified documentation, Whether the
> majority of Mesa/Virgl users care VMMs other than QEMU matters more. And
> I think it is true; libkrun and crosvm are excellent options for
> graphics-accelerated VMs.
> 
> If we have a unified documentation, any VM can point to it for the build
> instruction of Mesa and virglrenderer. Once that's done, QEMU users who
> want graphics acceleration can take the following steps:
> 1. See docs/system/devices/virtio-gpu.rst
> 2. Figure out that they need Mesa and virglrenderer
> 3. Click the link to the unified documentation
> 4. Build Mesa and virglrenderer accordingly
> 
> No other VMMs will bother them in this procedure.

Will see. For the starter, adding example build flags to QEMU doesn't
hurt, it's a very minimal information. Later on, if and when all
relevant Mesa/virglrenderer doc pages will appear, it won't be a problem
replace QEMU flags with the links. Please let's do it step-by-step, one
step at a time :)

-- 
Best regards,
Dmitry

Reply via email to