Contribute
Register

Thinkpad E420 i3 2350m - Black Screen with Intel HD3000 (EDID injection?)

Status
Not open for further replies.
Joined
Apr 19, 2014
Messages
49
Motherboard
Lenovo Thinkpad E420 - 1141BTF Motherboard
CPU
Intel Core i3-2350m 2.30 GHz
Graphics
Intel HD Graphics 3000
Mac
  1. 0
Classic Mac
  1. iMac
Mobile Phone
  1. Android
Hello everyone,

INTRODUCTION

As of 2016, this is a follow up to this thread:
http://www.tonymacx86.com/threads/lenovo-thinkpad-edge-e420-i3-2330-black-screen.34214/page-5

I chose to start fresh on a different install since and that is why I'm starting fresh in a new thread. Had Mountain Lion then Mavericks in 2014 with Chimera, now installed from scratch El Capitan with Clover Legacy which is more stable/faster than ever (No more "Missing Bluetooth Controller Transport" error for some reason). Had this graphic problem since 2014 (So long =O) and never managed to fix despite RehabMan assistance which I am extremely thankful. I suspect it was most definitely my own fault for not being experienced enough, oh well.

SPECs

Model: Lenovo Thinkpad E420
Motherboard: 1141BTF
CPU: Intel Core i3-2350m (Sandy Bridge - 2nd Gen) 1366x768
Graphics: Intel HD 3000 Graphics (6-series)
RAM: 2 x 4 GB
OS: OS X El Capitan 10.11.6

PROBLEM

Whenever I boot with AppleIntelHDGraphics3000.kext and/or AppleSNBGraphicsFB.kext installed (Which are installed by default), I will get a black screen before the GUI every time. Sound and input do work. Possible to access the GUI using TeamViewer, which I notice all 512 MB of the HD 3000 are detected, and resolution is native 1366x768. Not quite sure if QE/CI is enabled. As of 2014, I had to manually delete AppleIntelHDGraphics3000.kext and AppleSNBGraphicsFB.kext from /S/L/E to proceed to the OS X installation (With only 1024x768 generic screen resolution). Later on if I wish, I am able to reinstall both kexts using KextBeast, which will reproduce the black screen again (And enable 1366x768 resolution on TeamViewer).

ATTACHED FILES

dsdt.aml
: Properly extracted from Linux, then decompiled the usual way. Patches applied to dsdt.dsl, then compiled to dsdt.aml without error. DSDT is in /EFI/Clover/ACPI/patched/dsdt.aml

I have applied a few DSDT patches for sound along with the DTGP patch without error:

Code:
# Add method DTGP to the main block, it's used by other patches
#
into method label DTGP remove_entry;
into definitionblock code_regex . insert
begin
Method (DTGP, 5, NotSerialized)\n
{\n
    If (LEqual (Arg0, Buffer (0x10)\n
            {\n
                /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, \n
                /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B\n
            }))\n
    {\n
        If (LEqual (Arg1, One))\n
        {\n
            If (LEqual (Arg2, Zero))\n
            {\n
                Store (Buffer (One)\n
                    {\n
                        0x03\n
                    }, Arg4)\n
                Return (One)\n
            }\n
            If (LEqual (Arg2, One))\n
            {\n
                Return (One)\n
            }\n
        }\n
    }\n
    Store (Buffer (One)\n
        {\n
            0x00\n
        }, Arg4)\n
    Return (Zero)\n
}
end

This patch as well (Not sure if necessary) :

Code:
#
# Use this patch to change the device-id of the IGPU HD3000 device
# to 0x0116 for native matching against stock AppleIntelSNBGraphicsFB.kext
#

# rehabman:
# Change device ID of IGPU to 0x0116 for compatibility with native HD3000 kexts
into device name_adr 0x00020000 insert
begin
Method (_DSM, 4, NotSerialized)
{\n
    If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
    Return (Package()\n
    {\n
        "device-id", Buffer() { 0x16, 0x01, 0x00, 0x00 },\n
    })\n
}\n
end;

config.plist : My config.plist file is heavilly base on the plist list RehabMan provided for Intel HD 3000 users on 1366x768 resolution: https://github.com/RehabMan/OS-X-Clover-Laptop-Config/blob/master/config_HD3000_1366x768.plist

I only needed to add a few lines to get sound working (with DSDT patches). Also applied the MacBook Pro 8.1 definition from MultiBeast (Was that necessary, maybe not, but otherwise the SMBIOS entry in my plist file was blank?)

IOREG file : Attached the file generated with IORegistryExplorer. Extracted it with the HD 3000 kexts installed (therefore, black screen), remote controlling with TeamViewer. I also attached the generated IOREG file with the HD 3000 kexts removed (no black screen, but 1024x768 resolution), just in case.

WHAT ELSE I'VE TRIED

Despite from both DSDT graphic patches I have applied above, I also tried to inject the HD 3000 EDID in my config.plist. I extracted my EDID using the command ioreg -l and finding the string IODisplayEDID, obviously through TeamViewer with the HD 3000 kexts installed.

Complete output of ioreg -l is attached to this post. Later, I added my EDID using Clover Configuration (Attached screenshot).

So I've followed these steps to inject EDID in config.plist :

http://www.insanelymac.com/forum/to...-or-wrong-resolution-laptop-display-problems/

I seem to have issues near the end of the topic:

12. Now all that's left is to drag the folder to /System/Library/Displays/Overrides. It should require the Administrator password to proceed. This should create a directory something like /System/Library/Displays/Overrides/DisplayVendorID-756e6b6e/DisplayProductID-717. Reboot, and see if it worked! To verify that the Override loaded, just open Displays in System Preferences. It should say "Internal LCD Forced EDID" whenever the EDID is not found. If your pickup is sporadic, you may have to reboot a few times to make sure it works. Congratulations, your internal display is now 100% functional!

The folder /System/Library/Displays/Overrides does not exists under El Capitan. I have created it, but the Override doesn't seem to load.

***

I don't know what to do..? I have read a lot before sending this, trying to figure this out, but I'm still stuck with a black screen just like I was in 2014 =(
(I did stopped Hackintoshing in 2015 since Mavericks crashed randomly - But oh well, reinstalled El Capitan in 2016 haha)

Thank you very much to whoever wants to help, I appreciate a lot
 

Attachments

  • dsdt.aml
    38.9 KB · Views: 296
  • config.plist
    6.5 KB · Views: 419
  • Carl’s MacBook Pro.ioreg
    4.5 MB · Views: 308
  • Carl’s MacBook Pro [WITH HD 3000 KEXTS REMOVED].ioreg
    4.5 MB · Views: 301
  • ioreg_output.txt
    1.6 MB · Views: 443
  • config.plist
    6.5 KB · Views: 238
  • dsdt.aml
    38.9 KB · Views: 297
  • Carl’s MacBook Pro.ioreg
    4.5 MB · Views: 278
  • Carl’s MacBook Pro [WITH HD 3000 KEXTS REMOVED].ioreg
    4.5 MB · Views: 247
  • Capture d’écran 2016-09-23 à 17.08.24.png
    Capture d’écran 2016-09-23 à 17.08.24.png
    100.2 KB · Views: 461
Hello everyone,

INTRODUCTION

As of 2016, this is a follow up to this thread:
http://www.tonymacx86.com/threads/lenovo-thinkpad-edge-e420-i3-2330-black-screen.34214/page-5

I chose to start fresh on a different install since and that is why I'm starting fresh in a new thread. Had Mountain Lion then Mavericks in 2014 with Chimera, now installed from scratch El Capitan with Clover Legacy which is more stable/faster than ever (No more "Missing Bluetooth Controller Transport" error for some reason). Had this graphic problem since 2014 (So long =O) and never managed to fix despite RehabMan assistance which I am extremely thankful. I suspect it was most definitely my own fault for not being experienced enough, oh well.

SPECs

Model: Lenovo Thinkpad E420
Motherboard: 1141BTF
CPU: Intel Core i3-2350m (Sandy Bridge - 2nd Gen) 1366x768
Graphics: Intel HD 3000 Graphics (6-series)
RAM: 2 x 4 GB
OS: OS X El Capitan 10.11.6

PROBLEM

Whenever I boot with AppleIntelHDGraphics3000.kext and/or AppleSNBGraphicsFB.kext installed (Which are installed by default), I will get a black screen before the GUI every time. Sound and input do work. Possible to access the GUI using TeamViewer, which I notice all 512 MB of the HD 3000 are detected, and resolution is native 1366x768. Not quite sure if QE/CI is enabled. As of 2014, I had to manually delete AppleIntelHDGraphics3000.kext and AppleSNBGraphicsFB.kext from /S/L/E to proceed to the OS X installation. Later on if I wish, I am able to reinstall both kexts using KextBeast, which will reproduce the black screen again (And enable 1366x768 resolution on TeamViewer).

ATTACHED FILES

dsdt.aml
: Properly extracted from Linux, then decompiled the usual way. Patches applied to dsdt.dsl, then compiled to dsdt.aml without error. DSDT is in /EFI/Clover/ACPI/patched/dsdt.aml

I have applied a few DSDT patches for sound along with the DTGP patch without error:

Code:
# Add method DTGP to the main block, it's used by other patches
#
into method label DTGP remove_entry;
into definitionblock code_regex . insert
begin
Method (DTGP, 5, NotSerialized)\n
{\n
    If (LEqual (Arg0, Buffer (0x10)\n
            {\n
                /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, \n
                /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B\n
            }))\n
    {\n
        If (LEqual (Arg1, One))\n
        {\n
            If (LEqual (Arg2, Zero))\n
            {\n
                Store (Buffer (One)\n
                    {\n
                        0x03\n
                    }, Arg4)\n
                Return (One)\n
            }\n
            If (LEqual (Arg2, One))\n
            {\n
                Return (One)\n
            }\n
        }\n
    }\n
    Store (Buffer (One)\n
        {\n
            0x00\n
        }, Arg4)\n
    Return (Zero)\n
}
end

This patch as well (Not sure if necessary) :

Code:
#
# Use this patch to change the device-id of the IGPU HD3000 device
# to 0x0116 for native matching against stock AppleIntelSNBGraphicsFB.kext
#

# rehabman:
# Change device ID of IGPU to 0x0116 for compatibility with native HD3000 kexts
into device name_adr 0x00020000 insert
begin
Method (_DSM, 4, NotSerialized)
{\n
    If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
    Return (Package()\n
    {\n
        "device-id", Buffer() { 0x16, 0x01, 0x00, 0x00 },\n
    })\n
}\n
end;

config.plist : My config.plist file is heavilly base on the plist list RehabMan provided for Intel HD 3000 users on 1366x768 resolution: https://github.com/RehabMan/OS-X-Clover-Laptop-Config/blob/master/config_HD3000_1366x768.plist

I only needed to add a few lines to get sound working (with DSDT patches). Also applied the MacBook Pro 8.1 definition from MultiBeast (Was that necessary, maybe not, but otherwise the SMBIOS entry in my plist file was blank?)

IOREG file : Attached the file generated with IORegistryExplorer. Extracted it with the HD 3000 kexts installed (therefore, black screen), remote controlling with TeamViewer. I also attached the generated IOREG file with the HD 3000 kexts removed (no black screen, but 1024x768 resolution), just in case.

WHAT ELSE I'VE TRIED

Despite from both DSDT graphic patches I have applied above, I also tried to inject the HD 3000 EDID in my config.plist. I extracted my EDID using the command ioreg -l and finding the string IODisplayEDID, obviously through TeamViewer with the HD 3000 kexts installed.

Complete output of ioreg -l is attached to this post. Later, I added my EDID using Clover Configuration (Attached screenshot).

So I've followed these steps to inject EDID in config.plist :

http://www.insanelymac.com/forum/to...-or-wrong-resolution-laptop-display-problems/

I seem to have issues near the end of the topic:



The folder /System/Library/Displays/Overrides does not exists under El Capitan. I have created it, but the Override doesn't seem to load.

***

I don't know what to do..? I have read a lot before sending this, trying to figure this out, but I'm still stuck with a black screen just like I was in 2014 =(
(I did stopped Hackintoshing in 2015 since Mavericks crashed randomly - But oh well, reinstalled El Capitan in 2016 haha)

Thank you very much to whoever wants to help, I appreciate a lot

Follow the Clover guide linked from the FAQ.

http://www.tonymacx86.com/el-capita...faq-read-first-laptop-frequent-questions.html
 
Hello RehabMan, thank you very much for joining in again on this issue,

I had a full read at the Clover guide; I thought this part was worth a try (Not sure, but that's what I found of interest) :

Some systems may need to drop some of the OEM SSDTs. This happens most frequently with Sandy Bridge systems (but not all). There are two configurations for DropTables in the provided config.plist files. The default is minimal. The alternate is named #DropTables and is a bit more aggressive. Each configuration resides in config.plist/ACPI. You can use the alternate by renaming DropTables->##DropTables and renaming #DropTables->DropTables (in that order). Depending on how the OEM labels the tables, this may or may not work. If you still have issues, set config.plist/ACPI/SSDT/DropOem=true. You will need to set config.plist/ACPI/SSDT/Generate=true (or the individual CStates/PStates=true) to use DropOem=true or the alternate DropTables.

So I downloaded your HD 3000 1366x768 plist file again:
https://github.com/RehabMan/OS-X-Clover-Laptop-Config/blob/master/config_HD3000_1366x768.plist

Done no other modification to this file, no EDID injection or anything.

Tried remaning the original DropTables entry to ##DropTables and then the #DropTables entry to DropTables as mentionned. Set config.plist/ACPI/SSDT/DropOem=true also. Copied to /EFI/CLOVER/config.plist. After a reboot, I still have a black screen.

Not sure which direction to go ?
Ioreg is attached in my first post. :) Have uploaded my current config.plist to this post as well.
 

Attachments

  • config.plist
    11.5 KB · Views: 330
Hello RehabMan, thank you very much for joining in again on this issue,

I had a full read at the Clover guide; I thought this part was worth a try (Not sure, but that's what I found of interest) :



So I downloaded your HD 3000 1366x768 plist file again:
https://github.com/RehabMan/OS-X-Clover-Laptop-Config/blob/master/config_HD3000_1366x768.plist

Done no other modification to this file, no EDID injection or anything.

Tried remaning the original DropTables entry to ##DropTables and then the #DropTables entry to DropTables as mentionned. Set config.plist/ACPI/SSDT/DropOem=true also. Copied to /EFI/CLOVER/config.plist. After a reboot, I still have a black screen.

Not sure which direction to go ?
Ioreg is attached in my first post. :) Have uploaded my current config.plist to this post as well.

In the case you drop the OEM CPU SSDTs, you need Generate/CStates=true, Generate/PStates=true (as per guide).

Of course, some computers require you to inject EDID (as it can't be detected properly). This is easy to do with InjectEDID and CustomEDID.

The ioreg you provide shows graphics working, so I'm not sure what your issue is.
If you have an issue, please state it concisely.
 
Sorry for the long post (Might not be great at this yet, but trying really hard to figure out some solutions, at least, I try and readback some old threads).

Thanks for replying fast, sorry for forgetting Generate/CStates=true and Generate/PStates=true - I have set them to true now, but I still have a black screen on boot.

The actual problem which I'm struggling to fix since 2014 is that the screen will turn black when I boot OS X, assuming I do have the Intel HD 3000 kexts installed (Both kexts AppleIntelHD3000.kext and AppleIntelSNBGraphicsFB.kext). These kexts are installed by default, but to install OS X first, I have to remove those 2 kexts so that I won't have a black screen at the installation screen. Obviously, by removing those kexts from S/L/E, I get generic 1024x768 resoltion and 4 MB video memory. Removing those 2 kexts to bypass the black screen was the only workaround I found so far (But I'm stuck with 1024x768 instead of the regular 1366x768).

If I install AppleIntelHD3000.kext and AppleIntelSNBGraphicsFB.kext again using KextBeast, the black screen will occur on the laptop screen, but it's still possible to remote login in OS X using TeamViewer. Screen resolution will now be 1366x768. That is how I manage to extract the IOReg file and why it shows that graphics are working (They do work, but the laptop has a black screen).

I have thought about it, and despite injecting EDID again with Clover Configurator, the black screen is still there. I'm not sure if I do it correctly, or if the EDID is correct at all (It was found with the command ioreg -l > output.txt and then later searching for the string: IODisplayEDID. But is this EDID provided by OS X accurate, even though I have 1366x768 resolution with the black screen ? I mean, OS X already found the EDID on his own, correct ? It's KNOWN by OS X, only I have a black screen. :/ Not sure

***

Reminder of what you suggested me for the same problem in 2014 (Only, that was with Chimera 3. I have Clover now so it will differ) :

http://www.tonymacx86.com/threads/lenovo-thinkpad-edge-e420-i3-2330-black-screen.34214/page-5

2014 - OPTION 1 :

RehabMan said:
- You have HD3000 on 6-series. HD3000 is directly supported. What is your screen resolution? [1366x768]
With vanilla kexts installed you should be able to inject snb-platform-id:
IGPlatformID=00010000

Assumes Chimera.

This was for Chimera. Clover does this differently, or should I say, my config.plist being based on your own HD 3000 plist you posted, it should have the correct settings ? Current config.plist attached.

2014 - OPTION 2

You may need to inject EDID. See: https://github.com/RehabMan/Laptop-DSDT-Patch, "Generic with EDID".
[...]
You must customize the patch for your scenario. No dual-link, no Ivy, and most importantly, with the EDID from your own display (use MonInfo in Windows to extract).

Code:
#Maintained by: RehabMan for: Laptop Patches
#graphics_EDID.txt

#
# Use this patch generic patch with EDID capability
# if your display seems to exhibit EDID problems.
#

#   Inject HDMI info and dual-link into GFX0/IGPU
into method label _DSM parent_adr 0x00020000 remove_entry;
into device name_adr 0x00020000 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
    If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
    Return (Package()\n
    {\n
        //IMPORTANT: edit for actual snb-platform-id\n
        "AAPL,snb-platform-id", Buffer() { 0x00, 0x00, 0x01, 0x00 },\n

        //IMPORTANT: edit for actual ig-platform-id\n
        "AAPL,ig-platform-id", Buffer() { 0x04, 0x00, 0x66, 0x01 },\n

        //IMPORTANT: remove this line if not dual-link\n
        "AAPL00,DualLink", Buffer() { 0x01, 0x00, 0x00, 0x00 },\n

        //for HDMI-audio\n
        "hda-gfx", Buffer() { "onboard-1" },\n

        //EDID section: Fill in with your actual 128 bytes of EDID data\n
        //Note: Clover uses override-no-connect, but I've also seen\n
        //  override-no-edid.  Not sure what the difference is.\n
        //"AAPL00,override-no-connect", Buffer (0x80)\n
        "AAPL00,override-no-edid", Buffer (0x80)\n
        {\n
            0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x06, 0xaf, 0xec, 0x23,\n
            0x00, 0x00, 0x00, 0x00, 0x0f, 0x15, 0x01, 0x04, 0x90, 0x22, 0x13, 0x78,\n
            0x02, 0xc8, 0x95, 0x9e, 0x57, 0x54, 0x92, 0x26, 0x0f, 0x50, 0x54, 0x00,\n
            0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,\n
            0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xce, 0x1d, 0x56, 0xe2, 0x50, 0x00,\n
            0x1e, 0x30, 0x26, 0x16, 0x36, 0x00, 0x58, 0xc1, 0x10, 0x00, 0x00, 0x18,\n
            0xdf, 0x13, 0x56, 0xe2, 0x50, 0x00, 0x1e, 0x30, 0x26, 0x16, 0x36, 0x00,\n
            0x58, 0xc1, 0x10, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n
            0x00, 0x00, 0x00, 0x02, 0x00, 0x0c, 0x3f, 0xff, 0x0a, 0x3c, 0x64, 0x11,\n
            0x19, 0x2f, 0x6e, 0x20, 0x20, 0x20, 0x00, 0xad\n
        },\n
  })\n
}\n
end;

So I understand that it's EITHER Clover injection in config.plist OR DSDT EDID patch, can't use both if I'm correct. I understand I have to remove the ig-platform-id and dual-link lines, but how do I know my snb-platform-id ? I will use the 128-bytes of EDID from the Ioreg file I extracted earlier (With TeamViewer and the black screen).

***

I'm pretty sure this is fixable by now, but only because I found this thread:

http://www.tonymacx86.com/threads/solved-black-screen-on-boot-hd3000.173992/

Another user had a similar black screen problem on a Intel HD 3000 with a i3-2310m CPU, and he did succeeded. I have Intel HD 3000 i3-2350m, really similar. I don't know if it really matters, but more confident now.

***

What's wrong with my EDID plist injection ? I was pretty sure it would fix the black screen ?

Thank you very much
 

Attachments

  • config.plist
    11.6 KB · Views: 347
You should determine EDID with Windows. It is available in the Intel graphics control panel app (save as text).

Then use InjectEDID=true, and CustomEDID=<the edid>. Make sure you get it right.

Also, make sure you implement backlight control.

http://www.tonymacx86.com/threads/guide-patching-dsdt-ssdt-for-laptop-backlight-control.152659/

Please note that it is not ever necessary to delete the graphics kexts. You can simply boot with a bogus FakeID (0x12345678) which will disable the graphics drivers. Because fiddling with the graphics kexts unnecessarily brings in other variables.

It is rare that a 1366 screen would use a duallink cable, but still possible... So you should try with the config.plist for 1600x900 as well (only difference is it sets AAPL00,DualLink).

You should also check whether an external monitor is working (HDMI or DP). That can separate general graphics issues (eg. DVMT-prealloc setting wrong) vs. problems with the internal screen only.
 
Thanks for the advice about the FakeID, I was able to add it in the plist, and it worked, no need to delete the kexts anymore, useful =)

Weird because I'm pretty sure I did all correct. I have attached the TXT file generated by the Intel Control Panel on Windows, the raw EDID is at the bottom (And yes, I generated this TXT file from my own laptop display with no external monitor attached).
Clover convert it directly to Base-64 huh, so I have nothing more to do with this EDID ?

I have attached a photo of Clover configurator screen.

Later on, I also applied the backlight control, thanks for the info:

1. Applied the [igpu] Brightness fix (HD3000/HD4000) patch with MaciASL. No compiling error (I always edit on dsdt.dsl, compile and save as dsdt.aml);
2. Replace dsdt.aml in /EFI/Clover/ACPI/patched with updated DSDT;
3. Installed IntelBacklight.kext the normal way with KextBeast;
4. Reboot

Still the same black screen (Now I'm confused O__O) =(

Interestingly, brightness control do show up in the Monitors PrefPane. It's possible to move the brightness slider and the laptop screen brightness will definitely change =) So this works (Except that the screen is black -__- By default, laptop brightness is at the maximum). It's also possible to assign "Increase/Lower Brightness" to a keyboard shortcut like F7 later and we do see the brightness overlay animation on the screen (All this is tested with TeamViewer remote controlling, I can't see anything on the laptop screen. Only, Fn+F7 can't be assisned as the shortcut key, I guess it might be a patch to do later on, but gotta fix the black screen first..).

I also tried the alternate Intel HD 3000 plist file you made, the 1600x900 one, same result. I also tried unchecking DualLink in Clover Configurator, no help (Tried both true and false).

Thank you for all your effort so far, already learned a lot (Doesn't look good, but I don't get it ? Someone with a i3-2310m Intel HD 3000 succeeded to the same problem, while I have the very same problem with a i3-2350m, pretty similar, but I fail? So would it really be the SCREEN? =( We shall see I guess).

I'll try to find a HDMI monitor/cable I can borrow soon. I just hope my HDMI connector isn't totally dead which is possible (Weird. Tried it last year. Possibly dead. I'll ask friends if I they have a screen that supports HDMI, I'm still old school with VGA, which you previously told me OS X does not support well if at all).

Current config.plist attached (1600x900).

Thanks
 

Attachments

  • edid.txt
    1.6 KB · Views: 341
  • Capture d’écran 2016-09-23 à 20.56.07.png
    Capture d’écran 2016-09-23 à 20.56.07.png
    111.6 KB · Views: 281
  • config.plist
    11.2 KB · Views: 353
IntelBacklight.kext requires "Brightness Fix", nothing more.
I don't recommend Clover Configurator.
My plists use NoDefaultProperties, so the DualLink setting has no effect.
 
Too bad I still have the black screen :/ But the brightness does work (Only, the screen is black...). So I don't think I did anything wrong with the EDID =( Extracted from Windows Intel Control Panel, added into config.plist along with InjectEDID=true , apply Brightness Fix (Intel HD 3000/4000) to the DSDT, recompile dsdt.dsl to dsdt.aml, store the DSDT.aml in /EFI/CLOVER/ACPI/patched, install IntelBacklight.kext with KextBeast, still black screen (But the brightness patch did work). =(

As much as I hate to say it, I think I need to patch my framebuffer (All this is cryptic to me, but I found several threads about it, that's why I share) :

http://www.insanelymac.com/forum/to...hd3000-internal-screen-not-working/?p=1954048

You should try to switch to SMBios of MBP 8,2 and install temporarily Nullcpupowermanagement.kext. With this combination internal screen should work.

You have to get also modigliani script at olaria.com (registering for free) to patch the pinouts of original AppleIntelSNBGraphicsFB.kext. Try to convert the tables to the following ones (working on Edge E320 with all ports- patched kext from 10 8.5 attached):

HD3000 Table:
0000000: 0102 0300 1007 0000 1007 0000 ............
000000c: 0100 0000 0200 0000 3000 0000 ........0...
0000018: 0205 0000 0008 0000 0600 0000 ............
0000024: 0602 0000 1000 0000 0900 0000 ............
0000030: 0000 0000 0004 0000 0900 0000 ............

After finishing the script, repair permissions and reboot with flags -f -v. If all ports are working you can switch back to SMBios of MBP 8,1 and remove nullcpupowermanagement.kext. Then reboot again with flags -f -v and you should have a working system again.

Have fun.

Interestingly, the provided patched AppleIntelSNBGraphicsFB.kext doesn't cause the black screen if I install it with KextBeast and therefore replace the original kext. Alternatively, it will cause the screen to freeze at the Apple logo (The error in verbose mode is "Transcript offline buffer pool allocate failed) rather than show a black screen.

http://www.insanelymac.com/forum/to...000-graphics-sandy-bridge-osx-lion/?p=1834957

I want to share the working configuration and files for my laptop, using the factory MacbookPro8,1 table of connectors. Because I only have HD3000 iGPU.

System: Mountain Lion 10.8 GM (12A269)
Versión of AppleIntelSNBGraphicsFB = 8.0.0 (8.0.51)
Hardware device-id = 0x0116 (1366 x 768)


I am using a little modified script patcher to simplify the work. Of course all credits go to bcc9 and modigliani (big thanks guys). This is how, but please read all before do anything:
- Put the "Patch_HD3000_ML" folder into your /Extra
- Put your vanilla or base "AppleIntelSNBGraphicsFB.kext" into the new folder "/Extra/Patch_HD3000_ML"
- Run (execute) "modgliani-intelHD3000"
- Edit the "hex" file (e.g. with "Hex Fiend.app") for customize the table of connectors, and save it.
- Run (execute) "modgliani-intelHD3000_Patch"
- Install the new patched "AppleIntelSNBGraphicsFB.kext", rebuild cache and repair permissions (whit Disk Utility).


- I specially needed (was necessary) in my case for three (3) functional connectors (frame buffers) add this code to my IGPU device into DSDT, to avoid black screen (backlight off) at login. My graphics injection for ML 10.8:
Spoiler
[...]

Some results:
Here tested VGA (ok) = Extended ONLY (enough for me) - mirror not working at all is working perfect from VGA.
HDMI not tested yet, but I am expecting mirror function from this port, is working as expected. I have full support for VGA (602) & HDMI (406).

I hope this is fine, and helps. Good Luck to everyone.

http://www.insanelymac.com/forum/to...intel-hd-3000-graphics-sandy-bridge-osx-lion/

The problem:

On a hackintosh, the sandy bridge graphics driver exhibits a constant event ring stall until the stall is cleared via either hotplugging the display connector (and leaving it removed for ~5 seconds to clear the stall), or by using more than 1 display connectors simultaneously. This stalling can be seen as very slow graphics display updates (~5 second delays between mouse clicks and responses) and or by looking at the kernel log, /var/log/kernel, which shows errors such as:

[...]

https://tinhte.vn/threads/patch-int...aptop-sandy-bridge-for-lvds-vga-hdmi.1294754/ (This link is in Vietnamese =( =S )

All this framebuffer tweaks are totally new to me and I don't understand much of it (True, I already used HEX edit tools in the past, but I was only following instructions, I can't figure out this stuff myself).

I presume if I find a HDMI monitor I can borrow (Assuming my HDMI port is not dead), using the custom EDID, I shall know if the problem is really the internal screen or not =/

Thank you for your help
 
Hello RehabMan =)

Spend part of the day trying to fix this issue again; I have looked at most of the links I've posted in my previous post, most of them related to framebuffer / HEX editing (I have no experience at all, although it's not my first time using a HEX editor. I just don't understand what I've doing haha), done extra ressearch but I was not able to progress any further. =( (I'm trying "solutions" without even properly understanding what causes the problem.. Going blindly won't help me much huh - I should be able to test a HDMI monitor at a friend house on wednesday at least, that is if my HDMI port is not dead I hope)

Are you out of ideas yourself ? Should I maybe give it a try and refer to a different place than Tonymacx86 ?

(Off topic / Extra info: I started getting into Hackintoshes in 2014 and I only tried it on this laptop since. Started it for the challenge and I got much further than I expected. I'm stuck on the same page as I was in 2014 (Do I actually suck or it's really a tough issue? Haha). Definitely happy with the challenge - What bothers me the most about it is that I'll never KNOW if it actually works or not for sure. Framebuffer / HEX editing is far above my level and I don't know who to ask now haha (Not sure you have skills with framebuffers patching either). I don't get it - People succeeded on the Thinkpad E320 and maybe 520, while I have E420 with SUPPOSED to be supported HD 3000 and I just fail haha, I guess my EDID injection was correct, still =/ Maybe I'm just not skilled enough for this model)

I really appreciate all the effort you did so effort, either being for me or the whole community - Cheers to you !

Best Regards
 
Status
Not open for further replies.
Back
Top