* [PATCH] drm/edid: Add HTC Vive Cosmos to the non-desktop quirk list
@ 2026-08-08 23:21 Jonathan Steffan
2026-08-10 14:52 ` Mario Kleiner
0 siblings, 1 reply; 2+ messages in thread
From: Jonathan Steffan @ 2026-08-08 23:21 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann
Cc: David Airlie, Simona Vetter, dri-devel, linux-kernel,
Jonathan Steffan
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 <jonathansteffan@gmail.com>
---
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
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] drm/edid: Add HTC Vive Cosmos to the non-desktop quirk list
2026-08-08 23:21 [PATCH] drm/edid: Add HTC Vive Cosmos to the non-desktop quirk list Jonathan Steffan
@ 2026-08-10 14:52 ` Mario Kleiner
0 siblings, 0 replies; 2+ messages in thread
From: Mario Kleiner @ 2026-08-10 14:52 UTC (permalink / raw)
To: Jonathan Steffan
Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, dri-devel, linux-kernel
On Mon, Aug 10, 2026 at 8:38 AM Jonathan Steffan
<jonathansteffan@gmail.com> wrote:
>
> 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 <jonathansteffan@gmail.com>
> ---
> 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
>
Reviewed-by: Mario Kleiner <mario.kleiner.de@gmail.com>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-08-10 14:53 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-08 23:21 [PATCH] drm/edid: Add HTC Vive Cosmos to the non-desktop quirk list Jonathan Steffan
2026-08-10 14:52 ` Mario Kleiner
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.