Skip to content
This repository has been archived by the owner on Jun 15, 2023. It is now read-only.

Update EDID "Product ID" to resolve blank screen issue in macOS 13.3+ #101

Merged
merged 3 commits into from
Apr 26, 2023

Conversation

cghague
Copy link
Contributor

@cghague cghague commented Apr 25, 2023

This updates the EDID in order to fix a compatibility issue which causes blank screens on macOS Ventura 13.3 and newer.

Details

We had several reports that macOS 13.3 and newer display as a blank screen in TinyPilot. Our investigation revealed that this was due to unexplained incompatibility with the "Product ID" and/or "Manufacturer" name embedded in our existing EDID.

The existing "Product ID" was set to "0x8888" and this change updates it to "0x9876". This cannot be easily seen directly in the source code but can be verified by using a tool such as edid-decode or by viewing the EDID in "AW EDID Editor".

Testing

The fix has been verified using an M1 Mac Mini running macOS Ventura 13.3.1. The test process was to verify that no image was displayed using the existing EDID, then to change to the new EDID and verify an image was displayed.
Review on CodeApprove

@cghague cghague requested a review from db39 April 25, 2023 12:08
Copy link
Contributor

@db39 db39 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated comment from CodeApprove ➜

In: defaults/main.yml:

> Line 66
  2d1e0103800101781aee91a3544c9926

This line seems to change the 'Screen Dimensions' value from 'Variable' (0x00, 0x00) to '1cm x 1cm' (0x01, 0x01).

From edid-decode:

  Basic Display Parameters & Features:
    Digital display
    Maximum image size: 1 cm x 1 cm
    Gamma: 2.20
    Undefined display color type
    First detailed timing is the preferred timing

Compared to the previous:

  Basic Display Parameters & Features:
    Digital display
    Image size is variable
    Gamma: 2.20
    Undefined display color type
    First detailed timing is the preferred timing

I verified this in AWEDIDEditor too.

It's worth checking whether this change was made at some point during your testing - since a change to the screen dimensions may have impacted your test results.


👀 @cghague it's your turn please take a look

Copy link
Contributor Author

@cghague cghague left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated comment from CodeApprove ➜

In: defaults/main.yml:

> Line 66
  2d1e0103800101781aee91a3544c9926

I only changed the "Product ID", so this is quite a surprising find! It appears that this is a bug in "AW EDID Editor" - it seems to have an incorrect constraint set on those fields. Upon opening an EDID file any zero values in those fields is changed to a one and it's not possible to change it back to a zero again. I assume this only affects the macOS version given our existing EDID isn't affected.

It's worth checking whether this change was made at some point during your testing - since a change to the screen dimensions may have impacted your test results.

Excellent point! I've manually modified the EDID and retested. I can confirm this setting has no apparent effect on the macOS blank screen issue. The "Product ID" still needs to be changed.


👀 @db39 it's your turn please take a look

Copy link
Contributor

@mtlynch mtlynch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated comment from CodeApprove ➜

In: defaults/main.yml:

> Line 66
  2d1e0103800101781aee91a3544c9926

Can we update the EDID in this branch so we're only modifying the product ID and not the screen dimensions?

It's surprising for that to be a bug in AW since we created the current version of the EDID with AW. Are you using the Mac version or the Windows version under Wine?


👀 @cghague, @db39 it's your turn please take a look

Copy link
Contributor Author

@cghague cghague left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated comment from CodeApprove ➜

In: defaults/main.yml:

It's surprising for that to be a bug in AW since we created the current version of the EDID with AW. Are you using the Mac version or the Windows version under Wine?

I've been digging into this and it seems that this is due to a bug in the latest version of "AW EDID Editor" (v3.0.10). The editor appears to have an incorrect constraint set on the Display Size fields which forces the values to 1 when the EDID is opened. It isn't possible to change them back to 0. I've quickly checked and this affects both the Mac and the Windows version.

Can we update the EDID in this branch so we're only modifying the product ID and not the screen dimensions?

I downloaded the older version, which is fortunately still available, and it appears to work correctly. I've commited a new version of the EDID that only has the Product ID changed. I've also retested it and verified that it still works to solve the macOS blank screen issue.


👀 @db39 it's your turn please take a look

@db39
Copy link
Contributor

db39 commented Apr 26, 2023

@mtlynch, @cghague - I use the Mac version of AWEDIDEditor to create and edit EDIDs on an old Intel-based machine. I just checked, and it's the legacy v.02.00.13 version of AWEDIDEditor that I've been running.

I didn't even know that they released a newer version - I assumed they stopped actively developing it since it had been 6 years since the last release.

Copy link
Contributor

@db39 db39 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated comment from CodeApprove ➜

Approved on CodeApprove
✔️ Approved

LGTM!

I tested this on my testbench machine that I've used for all of my other EDID testing, and there are no apparent changes by altering the product number.


👀 @cghague it's your turn please take a look

@mtlynch
Copy link
Contributor

mtlynch commented Apr 26, 2023

Thanks, @db39!

I'm breaking protocol and merging this in for @cghague since I want to build a new release candidate with this fix ASAP.

@mtlynch mtlynch merged commit 6b55b5a into master Apr 26, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants