Contribute
Register

Lenovo B590 HD4000 artifacts

Status
Not open for further replies.
Are you using stock kexts?

EDID can be injected with "Generic with EDID", https://github.com/RehabMan/Laptop-DSDT-Patch

You need to extract your own EDID, of course.

You should fix power management too...

Yes, I'm using stock kexts. I don't know how can I extract my own EDID. Could you help me?

And power management... I think it's fixed. I can boot normally, even sleep works. What more I should do?
 
Yes, I'm using stock kexts. I don't know how can I extract my own EDID. Could you help me?

MonInfo on Windows can do it. There is probably a way to do it on Linux, but I've never looked into it.

And power management... I think it's fixed. I can boot normally, even sleep works. What more I should do?

X86PlatformPlugin is not loaded, probably because you haven't generated an SSDT for your CPU.

Read here: http://www.tonymacx86.com/mavericks...-bridge-ivy-bridge-haswell-other-laptops.html
 

Attachments

  • MacBook Pro de ALEJANDRO.ioreg
    1.5 MB · Views: 141
  • dspinfo.zip
    525 bytes · Views: 67
Attached new ioreg with (I hope) power management.

Added too the info extracted with MonInfo. What more can I do?

This would be your EDID inject patch:
Code:
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 ig-platform-id\n
        "AAPL,ig-platform-id", Buffer() { 0x03, 0x00, 0x66, 0x01 },\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, 0x0d, 0xaf, 0xa3, 0x15,
  0x00, 0x00, 0x00, 0x00, 0x1f, 0x14, 0x01, 0x03, 0x80, 0x23, 0x13, 0x78,
  0x0a, 0x00, 0x25, 0x9e, 0x57, 0x52, 0x99, 0x29, 0x15, 0x50, 0x54, 0x00,
  0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x12, 0x1b, 0x56, 0x64, 0x50, 0x00,
  0x14, 0x30, 0x10, 0x22, 0x26, 0x00, 0x58, 0xc1, 0x10, 0x00, 0x00, 0x18,
  0x00, 0x00, 0x00, 0xfe, 0x00, 0x4e, 0x31, 0x35, 0x36, 0x42, 0x47, 0x45,
  0x2d, 0x4c, 0x31, 0x31, 0x0a, 0x20, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x43,
  0x4d, 0x4f, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
  0x00, 0x00, 0x00, 0xfe, 0x00, 0x4e, 0x31, 0x35, 0x36, 0x42, 0x47, 0x45,
  0x2d, 0x4c, 0x31, 0x31, 0x0a, 0x20, 0x00, 0x9b
        },\n
  })\n
}\n
end;
 
This would be your EDID inject patch:
Code:
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 ig-platform-id\n
        "AAPL,ig-platform-id", Buffer() { 0x03, 0x00, 0x66, 0x01 },\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, 0x0d, 0xaf, 0xa3, 0x15,
  0x00, 0x00, 0x00, 0x00, 0x1f, 0x14, 0x01, 0x03, 0x80, 0x23, 0x13, 0x78,
  0x0a, 0x00, 0x25, 0x9e, 0x57, 0x52, 0x99, 0x29, 0x15, 0x50, 0x54, 0x00,
  0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x12, 0x1b, 0x56, 0x64, 0x50, 0x00,
  0x14, 0x30, 0x10, 0x22, 0x26, 0x00, 0x58, 0xc1, 0x10, 0x00, 0x00, 0x18,
  0x00, 0x00, 0x00, 0xfe, 0x00, 0x4e, 0x31, 0x35, 0x36, 0x42, 0x47, 0x45,
  0x2d, 0x4c, 0x31, 0x31, 0x0a, 0x20, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x43,
  0x4d, 0x4f, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
  0x00, 0x00, 0x00, 0xfe, 0x00, 0x4e, 0x31, 0x35, 0x36, 0x42, 0x47, 0x45,
  0x2d, 0x4c, 0x31, 0x31, 0x0a, 0x20, 0x00, 0x9b
        },\n
  })\n
}\n
end;

Don't works.

Edited DSDT with your code, compile without errors, but artifacts still present... :(
 
Don't works.

Edited DSDT with your code, compile without errors, but artifacts still present... :(

Download patchmatic: https://github.com/RehabMan/OS-X-MaciASL-patchmatic.
Extract the 'patchmatic' binary from the ZIP. Copy it to /usr/bin, such that you have the binary at /usr/bin/patchmatic.

In terminal,
Code:
rm -Rf ~/Downloads/RehabMan
mkdir ~/Downloads/RehabMan
cd ~/Downloads/RehabMan
patchmatic -extract

Post contents of Downloads/RehabMan directory (as ZIP).

Also, post ioreg: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply with an ioreg from any other version of IORegistryExplorer.app.

And output from:
Code:
kextstat|grep -y acpiplat
kextstat|grep -y appleintelcpu
 
Code:
MacBook-Pro-de-ALEJANDRO:RehabMan alejandro$ kextstat|grep -y acpiplat
   12    2 0xffffff7f81aca000 0x5f000    0x5f000    com.apple.driver.AppleACPIPlatform (2.0) <11 10 7 6 5 4 3 1>
MacBook-Pro-de-ALEJANDRO:RehabMan alejandro$ kextstat|grep -y appleintelcpu
   19    0 0xffffff7f81967000 0x2b000    0x2b000    com.apple.driver.AppleIntelCPUPowerManagement (216.0.0) <7 6 5 4 3 1>
   25    0 0xffffff7f81962000 0x3000     0x3000     com.apple.driver.AppleIntelCPUPowerManagementClient (217.92.1) <7 6 5 4 3 1>

Thank you so much again. Hope it can help us.
 

Attachments

  • MacBook Pro de ALEJANDRO.ioreg
    1.4 MB · Views: 125
  • RehabMan.zip
    33.5 KB · Views: 71
Code:
MacBook-Pro-de-ALEJANDRO:RehabMan alejandro$ kextstat|grep -y acpiplat
   12    2 0xffffff7f81aca000 0x5f000    0x5f000    com.apple.driver.AppleACPIPlatform (2.0) <11 10 7 6 5 4 3 1>
MacBook-Pro-de-ALEJANDRO:RehabMan alejandro$ kextstat|grep -y appleintelcpu
   19    0 0xffffff7f81967000 0x2b000    0x2b000    com.apple.driver.AppleIntelCPUPowerManagement (216.0.0) <7 6 5 4 3 1>
   25    0 0xffffff7f81962000 0x3000     0x3000     com.apple.driver.AppleIntelCPUPowerManagementClient (217.92.1) <7 6 5 4 3 1>

Thank you so much again. Hope it can help us.

Running out of ideas for you. You should try a fresh install using Clover.
 
I'll give a try to Clover. Thank you so much for your effort.
 
I gave a try to clover but artifacts still presents. As I'm not familiarized with Clover I back to install with unibeast and the temp solution has been connect through hdmi and change screens, in that way, when I came back to my lcd laptop artifacts are gone. It's the only way.
Now, my problem is sound. It got ALC269 and I'm unable to make it run. Could you help me? Thanks.

EDIT: Worked with id 28 in audio layout dsdt patch and kext alc269 hd v2
 
Status
Not open for further replies.
Back
Top