Pimax headsets reporting PVR 0x1019 do not identify themselves as head-mounted displays in their EDID, so desktop environments treat them as a regular monitor and extend the desktop onto them. The EDID has no Microsoft VSDB and the DisplayID product type is 0.
Add a non-desktop quirk. The ID is shared by the modern Pimax headsets, including the Dream Air and the P2-series P2A. Tested on a Pimax Dream Air: the connector now reports non-desktop, KWin leaves the output alone and offers it for DRM leasing. EDID of the Dream Air: 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://gitlab.freedesktop.org/drm/misc/kernel/-/issues/40 Assisted-by: Claude:claude-opus-5-5 Signed-off-by: Finn Zeruhn <[email protected]> --- drivers/gpu/drm/drm_edid.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 3148038747b6..e5cadbeaaea7 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -278,6 +278,9 @@ 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)), + /* 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)), base-commit: 589e63c53a9a57cd3c14cff2ea42ad606c1e2a24 -- 2.56.0
