diff mbox series

drm/edid: add non-desktop quirk to Bigscreen Beyond HMD

Message ID 20240517141049.896023-3-contact@scrumplex.net (mailing list archive)
State New, archived
Headers show
Series drm/edid: add non-desktop quirk to Bigscreen Beyond HMD | expand

Commit Message

Sefa Eyeoglu May 17, 2024, 2:09 p.m. UTC
The Bigscreen Beyond VR headset is a non-desktop output and should be
marked as such using an EDID quirk.

Closes https://gitlab.freedesktop.org/drm/misc/kernel/-/issues/39

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
---
 drivers/gpu/drm/drm_edid.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Philipp Zabel May 17, 2024, 2:52 p.m. UTC | #1
On Fr, 2024-05-17 at 16:09 +0200, Sefa Eyeoglu wrote:
> The Bigscreen Beyond VR headset is a non-desktop output and should be
> marked as such using an EDID quirk.
> 
> Closes https://gitlab.freedesktop.org/drm/misc/kernel/-/issues/39

From the EDID posted there, it looks like the quirk should not be
necessary?

The quoted DisplayID extension block correctly marks this as an HMD:

  "Display Product Primary Use Case: Head-mounted Virtual Reality (VR) display"

The update_displayid_info() function in drm_edid.c should use this
information to set the non_desktop flag already. Doesn't this work as
expected?


regards
Philipp
Sefa Eyeoglu May 17, 2024, 3:36 p.m. UTC | #2
On Fri, 2024-05-17 at 16:52 +0200, Philipp Zabel wrote:
> On Fr, 2024-05-17 at 16:09 +0200, Sefa Eyeoglu wrote:
> > The Bigscreen Beyond VR headset is a non-desktop output and should
> > be
> > marked as such using an EDID quirk.
> > 
> > Closes https://gitlab.freedesktop.org/drm/misc/kernel/-/issues/39
> 
> From the EDID posted there, it looks like the quirk should not be
> necessary?
> 
> The quoted DisplayID extension block correctly marks this as an HMD:
> 
>   "Display Product Primary Use Case: Head-mounted Virtual Reality
> (VR) display"
> 
> The update_displayid_info() function in drm_edid.c should use this
> information to set the non_desktop flag already. Doesn't this work as
> expected?
> 
> 
> regards
> Philipp

I see.

The only potential reason I can come up with is that the DisplayID
block is incomplete.

$ edid-decode --check
Failures:

Block 0, Base EDID:
  Standard Timings: Missing preferred timing.
EDID:
  DisplayID: Missing DisplayID Product Identification Data Block.
  DisplayID: Missing DisplayID Display Parameters Data Block.
  DisplayID: Missing DisplayID Display Interface Features Data Block.

EDID conformity: FAIL
Jani Nikula May 20, 2024, 8:40 a.m. UTC | #3
On Fri, 17 May 2024, Sefa Eyeoglu <contact@scrumplex.net> wrote:
> On Fri, 2024-05-17 at 16:52 +0200, Philipp Zabel wrote:
>> On Fr, 2024-05-17 at 16:09 +0200, Sefa Eyeoglu wrote:
>> > The Bigscreen Beyond VR headset is a non-desktop output and should
>> > be
>> > marked as such using an EDID quirk.
>> > 
>> > Closes https://gitlab.freedesktop.org/drm/misc/kernel/-/issues/39
>> 
>> From the EDID posted there, it looks like the quirk should not be
>> necessary?
>> 
>> The quoted DisplayID extension block correctly marks this as an HMD:
>> 
>>   "Display Product Primary Use Case: Head-mounted Virtual Reality
>> (VR) display"
>> 
>> The update_displayid_info() function in drm_edid.c should use this
>> information to set the non_desktop flag already. Doesn't this work as
>> expected?
>> 
>> 
>> regards
>> Philipp
>
> I see.
>
> The only potential reason I can come up with is that the DisplayID
> block is incomplete.
>
> $ edid-decode --check
> Failures:
>
> Block 0, Base EDID:
>   Standard Timings: Missing preferred timing.
> EDID:
>   DisplayID: Missing DisplayID Product Identification Data Block.
>   DisplayID: Missing DisplayID Display Parameters Data Block.
>   DisplayID: Missing DisplayID Display Interface Features Data Block.
>
> EDID conformity: FAIL

I've commented on the bug, but I don't think these should matter. We
should be able to deduce the primary use from the DisplayID header.

BR,
Jani.
diff mbox series

Patch

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 4f54c91b31b2..d407efc0fb55 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -200,6 +200,9 @@  static const struct edid_quirk {
 	/* Rotel RSX-1058 forwards sink's EDID but only does HDMI 1.1*/
 	EDID_QUIRK('E', 'T', 'R', 13896, EDID_QUIRK_FORCE_8BPC),
 
+	/* Bigscreen Beyond Headset */
+	EDID_QUIRK('B', 'I', 'G', 0x1234, EDID_QUIRK_NON_DESKTOP),
+
 	/* Valve Index Headset */
 	EDID_QUIRK('V', 'L', 'V', 0x91a8, EDID_QUIRK_NON_DESKTOP),
 	EDID_QUIRK('V', 'L', 'V', 0x91b0, EDID_QUIRK_NON_DESKTOP),