Jump to content

AppleIntelHDGraphicsFB fixed (SL 10.6.8)


verteks
 Share

276 posts in this topic

Recommended Posts

no, i don't use that. if i try using that (event in 10.8.2), my computer freezes

 

Have you used the alternate framebuffer in my zip? If the apple wheel stops spinning, its the fb's fault, not AppleIntelHDGraphics.kext.

 

Anyone else upgraded to 10.8.3? Is QE/CI broken?

Link to comment
Share on other sites

Hi mnorthern

i have a g62 like you. I tried your patch with GenericBrightness.kext and it didn't work. I patched my dsdt correctly and the kexts seems to find the device DD02 with LCD1234 as name, but the brightness doesn't work (there's no slider too).

Little update: i can confirm that Natit is not mandatory to get to the desktop. I deleted it (it changes also some things on the ATi card!).

 

Last thing: my notebook is overheating on OS X! (not on Windows!). Any solution?

 

 

The real last thing: update 10.8.3 released, please verteks patch the new files (or release a patcher).

 

ok i think i have fixed the overheating issue

 

you will need to generate ssdt.aml and place it in your extra folder, then use Chameleon to select the generating P-states, C-states and C2-C4 states. Use RevoGirl's script from tony's forums to generate the correct ssdt for your CPU

  • Like 1
Link to comment
Share on other sites

Have you used the alternate framebuffer in my zip? If the apple wheel stops spinning, its the fb's fault, not AppleIntelHDGraphics.kext.

 

Anyone else upgraded to 10.8.3? Is QE/CI broken?

Yes! I upgraded and despite that the both ApplIntelHDGraphics.kext and The Framebuffer loads, but no QE/CI. If no patch come out soon, I will go back to 10.8.2.

Stay there if you are not 100% sure.

Link to comment
Share on other sites

@mnorthern, can you look at my dsdt. I get BAR1 value - F7000004. What should be the operation regions? I can get brightness scroll, but brightness not changed.

DSDT, DarwinDump, ioreg here - http://cl.ly/2q2G3i1y3R0t

 

UPD: After update to 10.8.3 on my laptop QE doesn't work. Maybe this is the reason.

 

Try changing the values to 0xF7048250 where it says 0xB0048250, and 0xF7048254 where it says 0xB0048254, if that doesn't work send me a message

Link to comment
Share on other sites

Hi all,

 

For those who cannot load the FB kext ( like me ) you can still have some software control over brightness using the GenericBrightness kext.

I followed mnorthern's explanations and added the _BCM _BCL and _BQC methods to my LCD device in DSDT like

 

 

Method (_BCL, 0, Serialized)

{

Store(Zero,Local0)

Store (0x64,Local3)

Store (Local3, Index (DBCL, Local0))

Increment (Local0)

Store (0x05,Local3)

Store (Local3, Index (DBCL, Local0))

Increment (Local0)

Store (0x0C,Local3)

Store (Local3, Index (DBCL, Local0))

Increment (Local0)

Store (0x13,Local3)

Store (Local3, Index (DBCL, Local0))

Increment (Local0)

Store (0x19,Local3)

Store (Local3, Index (DBCL, Local0))

Increment (Local0)

Store (0x1F,Local3)

Store (Local3, Index (DBCL, Local0))

Increment (Local0)

Store (0x26,Local3)

Store (Local3, Index (DBCL, Local0))

Increment (Local0)

Store (0x2C,Local3)

Store (Local3, Index (DBCL, Local0))

Increment (Local0)

Store (0x32,Local3)

Store (Local3, Index (DBCL, Local0))

Increment (Local0)

Store (0x3A,Local3)

Store (Local3, Index (DBCL, Local0))

Increment (Local0)

Store (0x3F,Local3)

Store (Local3, Index (DBCL, Local0))

Increment (Local0)

Store (0x46,Local3)

Store (Local3, Index (DBCL, Local0))

Increment (Local0)

Store (0x4D,Local3)

Store (Local3, Index (DBCL, Local0))

Increment (Local0)

Store (0x53,Local3)

Store (Local3, Index (DBCL, Local0))

Increment (Local0)

Store (0x59,Local3)

Store (Local3, Index (DBCL, Local0))

Increment (Local0)

Store (0x61,Local3)

Store (Local3, Index (DBCL, Local0))

Return (DBCL) // check if this is the same has you have in your _BCL method

}

Method (_BCM, 1, NotSerialized)

{

Store (0x80000000, LEV2)

If (LLessEqual (Arg0, 0x05))

{

Store (0x0005, LEVL)

}

Else

{

If (LLessEqual (Arg0, 0x0C))

{

Store (0x000C, LEVL)

}

Else

{

If (LLessEqual (Arg0, 0x13))

{

Store (0x0013, LEVL)

}

Else

{

If (LLessEqual (Arg0, 0x19))

{

Store (0x0019, LEVL)

}

Else

{

If (LLessEqual (Arg0, 0x1F))

{

Store (0x001F, LEVL)

}

Else

{

If (LLessEqual (Arg0, 0x26))

{

Store (0x0026, LEVL)

}

Else

{

If (LLessEqual (Arg0, 0x2C))

{

Store (0x002C, LEVL)

}

Else

{

If (LLessEqual (Arg0, 0x32))

{

Store (0x0032, LEVL)

}

Else

{

If (LLessEqual (Arg0, 0x3A))

{

Store (0x003A, LEVL)

}

Else

{

If (LLessEqual (Arg0, 0x3F))

{

Store (0x003F, LEVL)

}

Else

{

If (LLessEqual (Arg0, 0x46))

{

Store (0x0046, LEVL)

}

Else

{

If (LLessEqual (Arg0, 0x4D))

{

Store (0x004D, LEVL)

}

Else

{

If (LLessEqual (Arg0, 0x53))

{

Store (0x0053, LEVL)

}

Else

{

If (LLessEqual (Arg0, 0x59))

{

Store (0x0059, LEVL)

}

Else

{

If (LLessEqual (Arg0, 0x61))

{

Store (0x0061, LEVL)

}

Else

{

Store (0x0061, LEVL)

}

}

}

}

}

}

}

}

}

}

}

}

}

}

}

}

Method (_BQC, 0, Serialized)

{

Return (LEVL)

}

 

I also added the operation region like mnorthern suggested. You have to check like he says if it is the same.

 

I have a Dell Latitude e4310 and for me it's

 

 

OperationRegion (BRIT, SystemMemory, 0xF0048254, 0x04)

Field (BRIT, AnyAcc, Lock, Preserve)

{

LEVL, 32

}

OperationRegion (BRI2, SystemMemory, 0xF0048250, 0x04)

Field (BRI2, AnyAcc, Lock, Preserve)

{

LEV2, 32

}

 

And add

 

Name (_HID, EisaId ("LCD1234"))

 

to your LCD device

 

And add the kext to your Extra folder.

files.zip

Link to comment
Share on other sites

Good news.... I managed to fix the backlight issue on waking up from sleep :) I am trying to enable the brightness keys now. when that's ready, I think I will post a guide in another thread, as this one is getting quite messy! :construction:

 

Also fixed max brightness to be the actual max brightness (it was slightly too dark)

Link to comment
Share on other sites

@voidRunner

 

I have a Dell E6510 and my dispaly is connected via eDP

 

the Apple MacBookAir 4.2 has the dispaly connected with Displayport too

here is EDID

 

<00 ff ff ff ff ff ff 00 06 10 df 9c 00 00 00 00 1a 15 01 04 95 1d 12 78 02 ef 05 97 57 54 92 27 22 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 c2 23 a0 d4 50 84 1a 30 40 2a 36 00 1e b3 10 00 00 18 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fe 00 4c 50 31 33 33 57 50 31 2d 54 4a 41 33 00 00 00 fc 00 43 6f 6c 6f 72 20 4c 43 44 0a 20 20 20 00 7e>

 

you can see the red marked numbers

 

95 = hex 95 (binary 10010101)

 

see my post # 250 there

 

http://www.insanelymac.com/forum/topic/223754-intel-hd-graphics-gma-5700/page__st__240

 

the MacBookAir has the Sandybridge CPU

 

Intel HD Graphics 3000:

 

Chipsatz-Modell: Intel HD Graphics 3000

Typ: GPU

Bus: Integriert

VRAM (gesamt): 384 MB

Hersteller: Intel (0x8086)

Geräte-ID: 0x0116

Versions-ID: 0x0009

Monitore:

Color LCD:

Auflösung: 1440 x 900

Pixeltiefe: 32-Bit Farbe (ARGB8888)

Hauptmonitor: Ja

Synchronisierung: Aus

Eingeschaltet: Ja

Integriert: Ja

Verbindungstyp: DisplayPort

 

 

@verteks we need your help, lets try to patch the "AppleIntelSNBGraphicsFB.kext"

 

maybe it works

 

thanks to every one in this forum, great work !

Link to comment
Share on other sites

For all you eager testers i've patched framebuffer from 10.8.3 based off vertek's work so credit to him, will upload now

 

Intel HD Graphics kext patcher

 

This is a tiny shell script made by me, that can patch the kext in singlelink or duallink.

 

If you want to execute the commands manually, here they are:

SingleLink

sudo perl -pi -e 's|\x00\x00\x0F\x45\xC8\x42\x89\x8C\x33\xF0\x01\x00\x00\x48\x89\xDF|\x00\x00\x90\x90\x90\x42\x89\x8C\x33\xF0\x01\x00\x00\x48\x89\xDF|g' /System/Library/Extensions/AppleIntelHDGraphicsFB.kext/Contents/MacOS/AppleIntelHDGraphicsFB

sudo perl -pi -e 's|\x48\x89\xD3\x49\x89\xFE\xC7\x03\x01\x00\x00\x00\xC7\x43\x20\x00|\x48\x89\xD3\x49\x89\xFE\xC7\x03\x00\x00\x00\x00\xC7\x43\x20\x00|g' /System/Library/Extensions/AppleIntelHDGraphicsFB.kext/Contents/MacOS/AppleIntelHDGraphicsFB

sudo perl -pi -e 's|\x0C\x00\x0F\x00\x49\x8B\x84\x24\x98\x06\x00\x00\x0F\xB6\x40\x18\xC1\xE0\x13\x41\x0B\x46\x6C\x41\x89\x46\x6C\x49\x8B\x8C\x24\x98\x00\x00\x00\x89\x81\x0C\x00\x0F\x00\x49\x8B\x84\x24\x98\x06\x00\x00\x0F\xB6\x40\x18\xC1\xE0\x13\x41\x0B\x46\x68\x41\x83\xFF\x03\x41\x89|\x0C\x00\x0F\x00\x41\x8B\x46\x6C\x25\xFF\xFF\xC7\xFF\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x41\x89\x46\x6C\x49\x8B\x8C\x24\x98\x00\x00\x00\x89\x81\x0C\x00\x0F\x00\x41\x8B\x46\x68\x25\xFF\xFF\xC7\xFF\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x41\x83\xFF\x03\x41\x89|g' /System/Library/Extensions/AppleIntelHDGraphicsFB.kext/Contents/MacOS/AppleIntelHDGraphicsFB

sudo perl -pi -e 's|\xB9\x00\x00\x00\x09\xC7\x85\x60\xFF\xFF\xFF\x00\x00\x00\x00\xC7|\xB9\x00\x00\x00\x08\xC7\x85\x60\xFF\xFF\xFF\x00\x00\x00\x00\xC7|g' /System/Library/Extensions/AppleIntelHDGraphicsFB.kext/Contents/MacOS/AppleIntelHDGraphicsFB

sudo perl -pi -e 's|\xC3\xFC\xC3\x7F\x41\x81\xCE\x3C\x03\x30\x80\x48\x8D\xB5\xE8\xFE|\xC3\xFC\xC3\x7F\x41\x81\xCE\x00\x03\x30\x80\x48\x8D\xB5\xE8\xFE|g' /System/Library/Extensions/AppleIntelHDGraphicsFB.kext/Contents/MacOS/AppleIntelHDGraphicsFB

DualLink

sudo perl -pi -e 's|\x0C\x00\x0F\x00\x49\x8B\x84\x24\x98\x06\x00\x00\x0F\xB6\x40\x18\xC1\xE0\x13\x41\x0B\x46\x6C\x41\x89\x46\x6C\x49\x8B\x8C\x24\x98\x00\x00\x00\x89\x81\x0C\x00\x0F\x00\x49\x8B\x84\x24\x98\x06\x00\x00\x0F\xB6\x40\x18\xC1\xE0\x13\x41\x0B\x46\x68\x41\x83\xFF\x03\x41\x89|\x0C\x00\x0F\x00\x41\x8B\x46\x6C\x25\xFF\xFF\xC7\xFF\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x41\x89\x46\x6C\x49\x8B\x8C\x24\x98\x00\x00\x00\x89\x81\x0C\x00\x0F\x00\x41\x8B\x46\x68\x25\xFF\xFF\xC7\xFF\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x41\x83\xFF\x03\x41\x89|g' /System/Library/Extensions/AppleIntelHDGraphicsFB.kext/Contents/MacOS/AppleIntelHDGraphicsFB

sudo perl -pi -e 's|\x00\x00\x0F\x45\xC8\x42\x89\x8C\x33\xF0\x01\x00\x00\x48\x89\xDF|\x00\x00\x90\x90\x90\x42\x89\x8C\x33\xF0\x01\x00\x00\x48\x89\xDF|g' /System/Library/Extensions/AppleIntelHDGraphicsFB.kext/Contents/MacOS/AppleIntelHDGraphicsFB

 

Try it and give a feedback.

 

Oops! I saw only now the first post was updated.

Intel-HD-Graphics-patcher.zip

  • Like 1
Link to comment
Share on other sites

Good news.... I managed to fix the backlight issue on waking up from sleep :) I am trying to enable the brightness keys now. when that's ready, I think I will post a guide in another thread, as this one is getting quite messy! :construction:

 

Also fixed max brightness to be the actual max brightness (it was slightly too dark)

Hi again!

How about to look into my DSDT for patching brightness control as you promised?

Thanks.

DSDT.aml.zip

Link to comment
Share on other sites

Hi again!

How about to look into my DSDT for patching brightness control as you promised?

Thanks.

 

yes I remember :) i have the brightness keys working now, as well as the wake up fix. didnt want to patch your DSDT before all was ready, but I will look into it now. Expect a new thread tonight with all the fixes!

  • Like 1
Link to comment
Share on other sites

yes I remember :) i have the brightness keys working now, as well as the wake up fix. didnt want to patch your DSDT before all was ready, but I will look into it now. Expect a new thread tonight with all the fixes!

 

OK! I can't wait. :thumbsup_anim:

Link to comment
Share on other sites

Anybody here know how to execute the patch?

 

 

Hi, copy AppleIntelHDGraphicsFB into the same folder with patcher and run in terminal:

 

./hdgraphics_patcher -p LVDS+VGA AppleIntelHDGraphicsFB

(if you want this output)

 

Regards.

Link to comment
Share on other sites

OK! I can't wait. :thumbsup_anim:

 

OK i've posted a new thread in http://www.insanelym...hd-gma-5700mhd/

 

 

Everyone, please go check out this new guide to find out how to enable wake up from sleep and brightness keys!

 

calmesal, I'm finally gonna look at your DSDT now! :D

EDIT: I have compiled the following DSDT for you calmesal, but you will have to confirm that your BAR0 offset is OK before you use it (have a look at the new guide to see how to use RW-everything. Change the magic numbers if your BAR0 is different\)

calmesal.aml.zip

Link to comment
Share on other sites

Hi everyone,

 

I tried to enable QE/CI but with no succes. I can load the framebuffer kext and I am able to change resolution however:

intel_reg_dumper gives me this output:

 

 

FDI_RXA_CTL: 0xb0022050 (enable, train pattern not train, port width X1, 6bpc,link_reverse_strap_overwrite no, dmi_link_reverse no, FDI PLL enable,FS ecc disable, FE ecc disable, FS err report disable, FE err report disable,scrambing enable, enhanced framing enable, PCDClk)

PCH_LVDS: 0x80308302 (enabled, pipe A, 18 bit, 1 channel)

 

So I patched like this:

 

hdgraphics_patcher -p LVDS+VGA AppleIntelHDGraphicsFB

 

Further info:

adding the natit.kext makes no difference

 

Does anyone recognize the problem/know how to solve it?

 

Tomdev

Link to comment
Share on other sites

mnorthern

 

maybe you can have a look at this dsdt for me please.

Every time pnlf device is added, in combination with frame-buffer, get a fancy reboot.

 

Although i suspect where the problem might be, just want a second opinion.

 

Hi what do you suspect? I am not an expert in DSDT, I am not sure at this time what the problem is, but I'm thinking strong>ression.gif

 

Also at which point are you getting restarts, after booting?

Link to comment
Share on other sites

Hi what do you suspect? I am not an expert in DSDT, I am not sure at this time what the problem is, but I'm thinking strong>ression.gif

 

Before frambuffer fix........... dsdt did not play nice with os-info...hence used natit

 

Woudn't be surprised if natit and pnlf are not best of friends, because in my case pnlf device add some extra apple panels.

 

My monitor connection is also single link but utilizing x4 width... using that patch = blackscreen

Link to comment
Share on other sites

Before frambuffer fix........... dsdt did not play nice with os-info...hence used natit

 

Woudn't be surprised if natit and pnlf are not best of friends, because in my case pnlf device add some extra apple panels.

 

My monitor connection is also single link but utilizing x4 width... using that patch = blackscreen

 

I actually use NATIT and i Have pnlf installed.

 

What happens if you add a really basic PNLF like the following

 

Device (PNLF)

{

Name (_HID, EisaId ("APP0002"))

Name (_CID, "backlight")

Name (_UID, 0x0A)

Name (_STA, 0x0B)

}

Link to comment
Share on other sites

Hi, copy AppleIntelHDGraphicsFB into the same folder with patcher and run in terminal:

 

./hdgraphics_patcher -p LVDS+VGA AppleIntelHDGraphicsFB

(if you want this output)

 

Regards.

 

Sorry to be a noob, but I have tried this and each time get the ouput "could not open file AppleIntelHDGraphicsFB"

 

The files are in the same folder, GFX on my desktop 10.8.0

Link to comment
Share on other sites

Hi everyone,

 

I tried to enable QE/CI but with no succes. I can load the framebuffer kext and I am able to change resolution however:

  • When I use the kexts in this guide: http://www.insanelym...d-graphics-qeci, all the kexts get loaded and I have resolution, but no QE/CI
  • When I use the kexts from 10.8.3 (I patched the framebuffer) I'm stuck at booting. Removing the AppleIntelHDGraphics kext (or booting with -x) makes booting possible again, but no QE/CI without that kext.

intel_reg_dumper gives me this output:

 

 

FDI_RXA_CTL: 0xb0022050 (enable, train pattern not train, port width X1, 6bpc,link_reverse_strap_overwrite no, dmi_link_reverse no, FDI PLL enable,FS ecc disable, FE ecc disable, FS err report disable, FE err report disable,scrambing enable, enhanced framing enable, PCDClk)

PCH_LVDS: 0x80308302 (enabled, pipe A, 18 bit, 1 channel)

 

So I patched like this:

 

hdgraphics_patcher -p LVDS+VGA AppleIntelHDGraphicsFB

 

Further info:

adding the natit.kext makes no difference

 

Does anyone recognize the problem/know how to solve it?

 

Tomdev

 

Again, I did not write this either in my guide. Need time, but in the plist inside the AppleIntelHDGraphicsFB, set these values to 0. I suggest delete all Intel HD Graphics, rebuild cache, and install all of them again with the edited framebuffer plist. Maybe this will work for you.

 

<key>FBCControl</key>
  <dict>
   <key>Compression</key>
   <integer>0</integer>
  </dict>
  <key>FeatureControl</key>
  <dict>
   <key>FBC</key>
   <integer>0</integer>
   <key>GPUInterruptHandling</key>
   <integer>0</integer>
   <key>Gamma</key>
   <integer>0</integer>
   <key>MaximumSelfRefreshLevel</key>
   <integer>0</integer>
   <key>PowerStates</key>
   <integer>0</integer>
   <key>RSTimerTest</key>
   <integer>0</integer>
   <key>RenderStandby</key>
   <integer>0</integer>
   <key>Watermarks</key>
   <integer>0</integer>
  </dict>

 

This helped me boot up to OS X with all the Intel HD Graphics loaded. Without this, my computer freezes.

 

Has anybody tried the LVDS+VGA combination? Does connecting a VGA display work? I tried it but it doesn't work. Something that I don't understand is how come HD2000-4000 users can use HDMI? I thought real MacBooks don't have HDMI ports.

 

Sorry to be a noob, but I have tried this and each time get the ouput "could not open file AppleIntelHDGraphicsFB"

 

The files are in the same folder, GFX on my desktop 10.8.0

 

You have to extract the AppleIntelHDGraphicsFB exec file from the MacOS folder and put that in the patch folder. Not the kext itself.

Link to comment
Share on other sites

 Share

×
×
  • Create New...