The HTC Vive Cosmos and Cosmos Elite head-mounted displays report an
EDID with manufacturer ID "HVR" and product code 0xaa03. Like the
original Vive (0xaa01) and the Vive Pro (0xaa02), they are VR headsets
whose panel must not be treated as a regular desktop output. Flag it
non-desktop so userspace leaves it alone and can acquire it via DRM
leasing / direct mode instead of extending the desktop onto it.

Signed-off-by: Jonathan Steffan <[email protected]>
---
 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 df3c25bac..437751ed3 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -245,9 +245,10 @@ static const struct edid_quirk {
        EDID_QUIRK('V', 'L', 'V', 0x91be, BIT(EDID_QUIRK_NON_DESKTOP)),
        EDID_QUIRK('V', 'L', 'V', 0x91bf, BIT(EDID_QUIRK_NON_DESKTOP)),
 
-       /* HTC Vive and Vive Pro VR Headsets */
+       /* HTC Vive, Vive Pro and Vive Cosmos VR Headsets */
        EDID_QUIRK('H', 'V', 'R', 0xaa01, BIT(EDID_QUIRK_NON_DESKTOP)),
        EDID_QUIRK('H', 'V', 'R', 0xaa02, BIT(EDID_QUIRK_NON_DESKTOP)),
+       EDID_QUIRK('H', 'V', 'R', 0xaa03, BIT(EDID_QUIRK_NON_DESKTOP)),
 
        /* Oculus Rift DK1, DK2, CV1 and Rift S VR Headsets */
        EDID_QUIRK('O', 'V', 'R', 0x0001, BIT(EDID_QUIRK_NON_DESKTOP)),
-- 
2.55.0

Reply via email to