Contribute
Register

[solved] Black Screen after upgrade to High Sierra

Status
Not open for further replies.
O.k., got it, but it looks like on that last file you changed 80 to B5 ??
exactly, B5 is for Apple iMac Display(16:10), by using FixEDID app and change display type you can find Byte 20 value for every Mac display type. after find byte 20 value openDisplayProductID-38ed and change IODisplayEDID value to default EDID(according to native EDID extracted by Darwin duper) and only change Byte 20 (for example A5 for Mac book pro or 95 for Mac book air). thats it.
 
exactly, B5 is for Apple iMac Display(16:10), by using FixEDID app and change display type you can find Byte 20 value for every Mac display type. after find byte 20 value openDisplayProductID-38ed and change IODisplayEDID value to default EDID(according to native EDID extracted by Darwin duper) and only change Byte 20 (for example A5 for Mac book pro or 95 for Mac book air). thats it.

Ahh, I have to count Byte 0... Not start with one, duh...
 
exactly, B5 is for Apple iMac Display(16:10), by using FixEDID app and change display type you can find Byte 20 value for every Mac display type. after find byte 20 value openDisplayProductID-38ed and change IODisplayEDID value to default EDID(according to native EDID extracted by Darwin duper) and only change Byte 20 (for example A5 for Mac book pro or 95 for Mac book air). thats it.

Remember though, I could only get it to boot with the Apple MacBook Air 16:9.. Wait, that's it, it needs to be 95..

Yes, so 95 got it to boot up without the black screen of death.. But still black screen on trying to wake up. It has to be something then in my ACPI or something ??
 
Last edited:
I’m having some frustrating problems with that too.
Using 95 graphics are beautiful but after sleep the screen keeps flickering.
Using A5 and above the flickering goes but the blur in the lock screen looks bad. Any idea?
 
lets try with an example (my display):
open Darwin Dumper, choose EDID from list and hit Run. its create 3 files in saving path: EDID.bin, EDID.hex, EDID.txt
my default EDID (EDID.txt) is:
Code:
header:          00 ff ff ff ff ff ff 00
serial number:   06 af ed 38 00 00 00 00 2b 18
version:         01 04
basic params:    95 22 13 78 02
chroma info:     51 25 93 58 57 8f 28 1f 50 54
established:     00 00 00
standard:        01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
descriptor 1:    78 37 80 b4 70 38 2e 40 6c 30 aa 00 58 c1 10 00 00 18
descriptor 2:    00 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 20
descriptor 3:    00 00 00 fe 00 41 55 4f 0a 20 20 20 20 20 20 20 20 20
descriptor 4:    00 00 00 fe 00 42 31 35 36 48 54 4e 30 33 2e 38 20 0a
extensions:      00
checksum:        e9
according to above, Default EDID is:
Code:
00FFFFFF FFFFFF00 06AFED38 00000000 2B180104 95221378 02512593 58578F28 1F505400 00000101 01010101 01010101 01010101 01017837 80B47038 2E406C30 AA0058C1 10000018 0000000F 00000000 00000000 00000000 00200000 00FE0041 554F0A20 20202020 20202020 000000FE 00423135 3648544E 30332E38 200A00E9
so in default EDID Byte 20 (every two words are one Byte-count from zero-) and Check sum (last byte) are 95 and E9 respectively.
then open EDID.bin (created by Darwin dumper) using FixEDID app and choose Apple iMac Display (16:10)-you can test another option- and select make. it's create 3 files/folder on desktop. Open DisplayProductID-XXX inside DisplayVendorID-xxx Folder by plist editor. IODisplayEDID value is:
Code:
00FFFFFF FFFFFF00 061012A0 00000000 1C160104 B5301B78 226FB1A7 554C9E25 0C505400 00000101 01010101 01010101 01010101 01017837 80B47038 2E406C30 AA0058C1 10000018 000000FC 00694D61 630A2020 20202020 20200000 00FE0041 554F0A20 20202020 20202020 000000FE 00423135 3648544E 30332E38 200A00BC
now we know that byte 20 for Apple iMac Display (16:10) is B5. delete IODisplayEDID value in DisplayProductID-xxx created by FixEDID and paste default EDID value (Exept Byte 20 and check sum Byte). for calculate check sum you can use this online tools. just copy all bytes (except the last one), in my case:
Code:
00FFFFFF FFFFFF00 06AFED38 00000000 2B180104 B5221378 02512593 58578F28 1F505400 00000101 01010101 01010101 01010101 01017837 80B47038 2E406C30 AA0058C1 10000018 0000000F 00000000 00000000 00000000 00200000 00FE0041 554F0A20 20202020 20202020 000000FE 00423135 3648544E 30332E38 200A00
and calculate check sum. for mine is "C9"
So new and final IODisplayEDID value for push in Overrides folder Is:
Code:
00FFFFFF FFFFFF00 06AFED38 00000000 2B180104 B5221378 02512593 58578F28 1F505400 00000101 01010101 01010101 01010101 01017837 80B47038 2E406C30 AA0058C1 10000018 0000000F 00000000 00000000 00000000 00200000 00FE0041 554F0A20 20202020 20202020 000000FE 00423135 3648544E 30332E38 200A00C9
after edit EDID its better to correct DisplayProductID and DisplayVendorID acording to EDID (Bytes 8,9,10,11). for my display Byte 8 and 9 :06AF (DisplayVendorID)
Byte 10 and 11: ED38(DisplayProductID)
after convert these Bytes from Hex to Dec:
DisplayVendorID=1711
DisplayProductID=14573 (for convert DisplayProductID Hex to Dec, first reverse it, then convert. for mine ED38>38ED>14573).
finally save DisplayVendorID-xxx folder containing DisplayProductID-xxx file to /System/Library/Displays/Contents/Resources/Overrides/
fix permissions and restart.
I hope that this example be useful.
 
Last edited:
lets try with an example (my display):
my default EDID (according to Darwin Dymper) is:
Code:
header:          00 ff ff ff ff ff ff 00
serial number:   06 af ed 38 00 00 00 00 2b 18
version:         01 04
basic params:    95 22 13 78 02
chroma info:     51 25 93 58 57 8f 28 1f 50 54
established:     00 00 00
standard:        01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
descriptor 1:    78 37 80 b4 70 38 2e 40 6c 30 aa 00 58 c1 10 00 00 18
descriptor 2:    00 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 20
descriptor 3:    00 00 00 fe 00 41 55 4f 0a 20 20 20 20 20 20 20 20 20
descriptor 4:    00 00 00 fe 00 42 31 35 36 48 54 4e 30 33 2e 38 20 0a
extensions:      00
checksum:        e9
so Default IODisplayEDID is:
Code:
00FFFFFF FFFFFF00 06AFED38 00000000 2B180104 95221378 02512593 58578F28 1F505400 00000101 01010101 01010101 01010101 01017837 80B47038 2E406C30 AA0058C1 10000018 0000000F 00000000 00000000 00000000 00200000 00FE0041 554F0A20 20202020 20202020 000000FE 00423135 3648544E 30332E38 200A00E9
after open EDID.bin using FixEDID and choose Apple iMac Display (16:10) its create DisplayVendorID-xxx Folder containing DisplayProductID-xxx with IODisplayEDID value of:
Code:
00FFFFFF FFFFFF00 061012A0 00000000 1C160104 B5301B78 226FB1A7 554C9E25 0C505400 00000101 01010101 01010101 01010101 01017837 80B47038 2E406C30 AA0058C1 10000018 000000FC 00694D61 630A2020 20202020 20200000 00FE0041 554F0A20 20202020 20202020 000000FE 00423135 3648544E 30332E38 200A00BC
now we know that byte 20 for Apple iMac Display (16:10) is B5. now delete IODisplayEDID value in DisplayProductID-xxx created by FixEDID and paste default EDID value (Exept Byte 20 and Check some Byte). So new and final IODisplayEDID value for push in Overrides folder Is:
Code:
00FFFFFF FFFFFF00 06AFED38 00000000 2B180104 B5221378 02512593 58578F28 1F505400 00000101 01010101 01010101 01010101 01017837 80B47038 2E406C30 AA0058C1 10000018 0000000F 00000000 00000000 00000000 00200000 00FE0041 554F0A20 20202020 20202020 000000FE 00423135 3648544E 30332E38 200A00C9
I hope that this example be useful.


No, I get it now.. So I am up and running on 95, because B5 does not work for me.. But it still will not wake the display on wake. The system wakes fine.
 
Thank you for you kind explanation.

The fact is that that is exactly what I am doing; the problem, though, is that, even changing byte 20, screen flickering after sleep remains.
 
Generated Apple iMac Display, substituted byte 20 with B5 and checksum inside native EDID but no luck.
Flickering gone after wake but horrible blur in lock screen and launchpad.
 
Generated Apple iMac Display, substituted byte 20 with B5 and checksum inside native EDID but no luck.
Flickering gone after wake but horrible blur in lock screen and launchpad.
try A5 or 95. if you get black screen after boot you need delete DisplayVendorID via terminal in installation usb.
 
Status
Not open for further replies.
Back
Top