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

Iaroslav Boliukin iam at lach.pw
Thu Feb 16 18:26:29 UTC 2023


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 at collabora.com> wrote:
>>> On 2/13/23 12:56, Jani Nikula wrote:
>>>> On Sun, 12 Feb 2023, Dmitry Osipenko <dmitry.osipenko at collabora.com> 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 at lach.pw>
>>>>>> ---
>>>>>>   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.


More information about the dri-devel mailing list