Re: [PATCH] drm/edid: Add Vive Pro 2 to non-desktop list

From: Dmitry Osipenko
Date: Thu Feb 16 2023 - 14:17:54 EST


On 2/16/23 21:26, Iaroslav Boliukin wrote:
> On 2/14/23 12:50, Dmitry Osipenko wrote:
>> On 2/13/23 14:50, Jani Nikula wrote:
>>> On Mon, 13 Feb 2023, Dmitry Osipenko <dmitry.osipenko@xxxxxxxxxxxxx>
>>> wrote:
>>>> On 2/13/23 12:56, Jani Nikula wrote:
>>>>> On Sun, 12 Feb 2023, Dmitry Osipenko
>>>>> <dmitry.osipenko@xxxxxxxxxxxxx> wrote:
>>>>>> Hi,
>>>>>>
>>>>>> On 1/18/22 20:00, Yaroslav Bolyukin wrote:
>>>>>>
>>>>>> Add a brief commit message, describing a user-visible effect of this
>>>>>> patch. Tell that this change prevents exposing headset as a regular
>>>>>> display to the system, while it will work with SteamVR.
>>>>>>
>>>>>>> Signed-off-by: Yaroslav Bolyukin <iam@xxxxxxx>
>>>>>>> ---
>>>>>>>   drivers/gpu/drm/drm_edid.c | 3 ++-
>>>>>>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>>>>>>
>>>>>>> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
>>>>>>> index 12893e7be..fdb8f0a6f 100644
>>>>>>> --- a/drivers/gpu/drm/drm_edid.c
>>>>>>> +++ b/drivers/gpu/drm/drm_edid.c
>>>>>>> @@ -200,9 +200,10 @@ static const struct edid_quirk {
>>>>>>>       EDID_QUIRK('V', 'L', 'V', 0x91be, EDID_QUIRK_NON_DESKTOP),
>>>>>>>       EDID_QUIRK('V', 'L', 'V', 0x91bf, EDID_QUIRK_NON_DESKTOP),
>>>>>>>   -    /* HTC Vive and Vive Pro VR Headsets */
>>>>>>> +    /* HTC Vive, Vive Pro and Vive Pro 2 VR Headsets */
>>>>>>
>>>>>> Nit: I'd keep the original comment, or change it to a generic "HTC VR
>>>>>> Headsets" to prevent further comment changes
>>>>>>
>>>>>>>       EDID_QUIRK('H', 'V', 'R', 0xaa01, EDID_QUIRK_NON_DESKTOP),
>>>>>>>       EDID_QUIRK('H', 'V', 'R', 0xaa02, EDID_QUIRK_NON_DESKTOP),
>>>>>>> +    EDID_QUIRK('H', 'V', 'R', 0xaa04, EDID_QUIRK_NON_DESKTOP),
>>>>>>>         /* Oculus Rift DK1, DK2, CV1 and Rift S VR Headsets */
>>>>>>>       EDID_QUIRK('O', 'V', 'R', 0x0001, EDID_QUIRK_NON_DESKTOP),
>>>>>>>
>>>>>>> base-commit: 99613159ad749543621da8238acf1a122880144e
>>>>>>
>>>>>> Please send the v2 patch with the added EDID for Cosmos VR and the
>>>>>> addressed comments. Thanks!
>>>>>
>>>>> Yeah, we'll need to EDID to check that it doesn't have the Microsoft
>>>>> VSDB to indicate non-desktop. See 2869f599c0d8 ("drm/edid: support
>>>>> Microsoft extension for HMDs and specialized monitors").
>>>>
>>>> Do you mean to skip using the EDID_QUIRK_NON_DESKTOP if MS VSDB entry
>>>> presents in the EDID?
>>>>
>>>> These HTC EDIDs don't have MS VSDB, otherwise the quirk wouldn't be
>>>> needed.
>>>
>>> Okay, I didn't know that. I just observed that the original patch was
>>> sent before the the MS VSDB parsing was added.
>>
>> This will be good to mention in the v2 commit message.
>>
>
> This headset does support some kind of HMD signalling, however, this is
> not a microsoft-specific extension (0xca125c) but part of the DisplayId
> spec, "Display Product Primary Use Case" field is set to "7".
>
> The problem is, I have no idea what spec I should refer to, as I can't
> find this errata in the original spec, and the only reference to this
> value I see is in https://git.linuxtv.org/edid-decode.git utility:
>
> https://git.linuxtv.org/edid-decode.git/tree/parse-displayid-block.cpp?ref=aa956e0dd5fb85271dde900ea1ebdda795af7f8b#n1676
>
> I would like to implement this feature, but I need some spec reference.

The [1] says it's "VESA DisplayID Standard v2.0", which should be okay
to refer, IMO.

[1]
https://learn.microsoft.com/en-us/windows-hardware/drivers/display/specialized-monitors-edid-extension

--
Best regards,
Dmitry