mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Finn Zeruhn <fzeruhn@icloud.com>
To: dri-devel@lists.freedesktop.org
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Maxime Ripard <mripard@kernel.org>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
	Jani Nikula <jani.nikula@linux.intel.com>,
	Coreforge <BC549b@gmail.com>,
	linux-kernel@vger.kernel.org, Finn Zeruhn <fzeruhn@icloud.com>,
	Sefa Eyeoglu <contact@scrumplex.net>
Subject: [PATCH v3] drm/edid: add non-desktop quirk for Pimax VR headsets
Date: Wed, 11 Nov 2026 18:26:06 -0500	[thread overview]
Message-ID: <20261111232606.2986-1-fzeruhn@icloud.com> (raw)

Pimax headsets have no Microsoft HMD VSDB, and their DisplayID
extension is version 1.2, while the kernel only checks the primary use
on DisplayID 2.0. They are therefore exposed as desktop monitors and
VR runtimes cannot lease them.

Add non-desktop quirks for the IDs confirmed by EDIDs:

  PVR 0x1019  Dream Air, Dream Air SE, Crystal Light,
              Crystal Super Micro-OLED, P2 8K models
  PVR 0x101a  P2 5K XR and 5K+
  PVR 0x101b  P2 5K Super
  PVR 0x101c  Crystal Super 50 PPD QLED
  VRT 0x4c31  Crystal Super 57 PPD and Ultrawide QLED

The 57 PPD and Ultrawide QLED report Varjo's vendor ID "VRT".
The older Pimax P1 headsets report SVR 0x1019 [1], which is already
covered by the OSVR entry: name them in its comment.

Tested on a Dream Air. sboys3 collected most of the EDIDs, namely those
of the Crystal and Dream Air models [2]. The P2 EDIDs are in the linked
issue #40.

Dream Air EDID:

  00 ff ff ff ff ff ff 00 42 d2 19 10 01 00 00 00
  ff 23 01 04 a5 00 00 78 00 30 fd ae 50 3b b2 23
  0c 47 4a 00 00 00 01 01 01 01 01 01 01 01 01 01
  01 01 01 01 01 01 00 00 00 10 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 fc 00 50
  69 6d 61 78 0a 20 20 20 20 20 20 20 00 00 00 fd
  08 3c 64 e9 7b ff 01 0a 20 20 20 20 20 20 02 c2

  02 03 0f c0 23 09 07 07 83 01 00 00 e2 00 4a 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 42

  70 12 2b 00 00 03 01 28 43 08 04 88 bf 1b bf 01
  c7 80 2f 00 ff 0e 2f 00 1c 80 00 00 cf 39 03 08
  bf 1b bf 01 c7 80 2f 00 ff 0e 2f 00 1c 80 00 00
  dd 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90

Link: https://github.com/linuxhw/EDID/blob/master/Digital/Sensics/SVR1019/302D58069F6B [1]
Link: https://github.com/sboys3/DisplayInfo/tree/main/outputs-nv [2]
Suggested-by: Sefa Eyeoglu <contact@scrumplex.net>
Closes: https://gitlab.freedesktop.org/drm/misc/kernel/-/issues/40
Signed-off-by: Finn Zeruhn <fzeruhn@icloud.com>
---
An LLM helped prepare this patch.

v3:
- Add PVR 0x101a and 0x101b: EDIDs from a 5K XR, a 5K+ and a 5K Super
  show them in use.
- Drop the Assisted-by tag, which checkpatch rejects.
v2: https://lore.kernel.org/dri-devel/20261016225621.37572-1-fzeruhn@icloud.com/
- Add PVR 0x101c and VRT 0x4c31 for the Crystal Super QLED models.
- Name the Pimax P1 in the comment of the existing SVR 0x1019 entry.
- Leave out PVR 0x101a and 0x101b from the issue, they are only in
  Pimax Play's device list with no EDID showing them in use.
v1: https://lore.kernel.org/dri-devel/20261002013500.16903-1-fzeruhn@icloud.com/

 drivers/gpu/drm/drm_edid.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 314803874..9e1324454 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -278,6 +278,14 @@ static const struct edid_quirk {
 	EDID_QUIRK('H', 'V', 'R', 0xaa01, BIT(EDID_QUIRK_NON_DESKTOP)),
 	EDID_QUIRK('H', 'V', 'R', 0xaa02, BIT(EDID_QUIRK_NON_DESKTOP)),
 
+	/* Pimax VR Headsets */
+	EDID_QUIRK('P', 'V', 'R', 0x1019, BIT(EDID_QUIRK_NON_DESKTOP)),
+	EDID_QUIRK('P', 'V', 'R', 0x101a, BIT(EDID_QUIRK_NON_DESKTOP)),
+	EDID_QUIRK('P', 'V', 'R', 0x101b, BIT(EDID_QUIRK_NON_DESKTOP)),
+	EDID_QUIRK('P', 'V', 'R', 0x101c, BIT(EDID_QUIRK_NON_DESKTOP)),
+	/* Pimax Crystal Super 57 PPD and Ultrawide QLED, uses Varjo's vendor ID */
+	EDID_QUIRK('V', 'R', 'T', 0x4c31, 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)),
 	EDID_QUIRK('O', 'V', 'R', 0x0003, BIT(EDID_QUIRK_NON_DESKTOP)),
@@ -298,7 +306,7 @@ static const struct edid_quirk {
 	/* Sensics VR Headsets */
 	EDID_QUIRK('S', 'E', 'N', 0x1019, BIT(EDID_QUIRK_NON_DESKTOP)),
 
-	/* OSVR HDK and HDK2 VR Headsets */
+	/* OSVR HDK and HDK2, Pimax P1 VR Headsets */
 	EDID_QUIRK('S', 'V', 'R', 0x1019, BIT(EDID_QUIRK_NON_DESKTOP)),
 	EDID_QUIRK('A', 'U', 'O', 0x1111, BIT(EDID_QUIRK_NON_DESKTOP)),
 

base-commit: 3944ca3e6b7d25e545e8ef6498f69941e8e0c8ae
-- 
2.54.0.windows.1


                 reply	other threads:[~2026-11-11 23:26 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261111232606.2986-1-fzeruhn@icloud.com \
    --to=fzeruhn@icloud.com \
    --cc=BC549b@gmail.com \
    --cc=airlied@gmail.com \
    --cc=contact@scrumplex.net \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mripard@kernel.org \
    --cc=simona@ffwll.ch \
    --cc=tzimmermann@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®