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

From: Iaroslav Boliukin
Date: Thu Feb 16 2023 - 13:34:15 EST


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.