Jump to content
130 posts in this topic

Recommended Posts

<dict>
    <key>Name</key>
    <string>AppleIntelFramebufferAzul</string>
    <key>Comment</key>
    <string>Take Three - Patch #1</string>
    <key>Find</key>
    <data>vhgAAADrZD0AAAEA</data>
    <key>Replace</key>
    <data>vhgAAADrBz0AAAEA</data>
</dict>

<dict>
    <key>Name</key>
    <string>AppleIntelFramebufferAzul</string>
    <key>Comment</key>
    <string>Take Three - Patch #2</string>
    <key>Find</key>
    <data>AAAYAAAAHgAAABIAAAAkAAAA8fz2+w==</data>
    <key>Replace</key>
    <data>AAASAAAAHgAAABIAAAAkAAAA8fz2+w==</data>
</dict>

Edit: Included base64 version

These two patches are invalid still ...

 

Hmm, my bad then - apparently hex have to be lowercase to work in Clover? Or should I convert it to base64? ...

No it would not matter the case but hex will work only in Clover Configurator ... the patch format you are given is not for Clover Configurator but instead for editing the config.plist directly which only accept Base64 so yes you have to convert Hex to Base64.

 

But still, the bits are not available in the AppleIntelFramebufferAzul.kext binary and the patch is invalid.

 

 

Edit: Okay you fixed the Hex to Base64 already ...

@eplightning:

 

I am trying to decompile the AppleIntelFranebufferAzul kext but i'm not sure how to properly do it. I've never done this.

 

If you have some time can you show me or point me to a guide perhaps on how to do this?

 

Which debug symbols did you sourced?

 

I'm following up on the Linux i915 driver.

@eplightning:

 

I am trying to decompile the AppleIntelFranebufferAzul kext but i'm not sure how to properly do it. I've never done this.

 

If you have some time can you show me or point me to a guide perhaps on how to do this?

 

Which debug symbols did you sourced?

 

I'm following up on the Linux i915 driver.

 

I'm using IDA Pro, pretty much supports all binary formats.

 

Have you tried the latest patch? Does it still not work with Clover?

..Have you tried the latest patch? Does it still not work with Clover?

 

I have not tried it yet. The hex string (base64->hex) is still not in AppleIntelFramebufferAzul's binary. I've tried finding it on both 10.10.2 & 10.10.3's.

 

But i'll try asap anyway and report.

Hmm could you send me yours AppleIntelFramebufferAzul I might be working on wrong kext then (Yosemite in VM though, so that's weird).

 

Attached AppleIntelFramebufferAzul.kext for 10.10.3.

Yosemite on VM must be frustrating.

AppleIntelFramebufferAzul.kext-10.10.3.zip

Attached AppleIntelFramebufferAzul.kext for 10.10.3.

Yosemite on VM must be frustrating.

 

Well it's slow but I only need to for installation and some testing so doesn't really matter.

 

And kext you sent is certainly different from mine, I'll post updated patch soon.

Alright these two patches should work with 10.10.3 kext:

<dict>
    <key>Name</key>
    <string>AppleIntelFramebufferAzul</string>
    <key>Comment</key>
    <string>Take Three - Patch #1</string>
    <key>Find</key>
    <data>vhgAAADrZj0AAAEA</data>
    <key>Replace</key>
    <data>vhgAAADrBz0AAAEA</data>
</dict>

<dict>
    <key>Name</key>
    <string>AppleIntelFramebufferAzul</string>
    <key>Comment</key>
    <string>Take Three - Patch #2</string>
    <key>Find</key>
    <data>AIAYAAAAHgAAABIAAAAkAAAARFAtSA==</data>
    <key>Replace</key>
    <data>AIASAAAAHgAAABIAAAAkAAAARFAtSA==</data>
</dict>

Alright these two patches should work with 10.10.3 kext:

<dict>
    <key>Name</key>
    <string>AppleIntelFramebufferAzul</string>
    <key>Comment</key>
    <string>Take Three - Patch #1</string>
    <key>Find</key>
    <data>vhgAAADrZj0AAAEA</data>
    <key>Replace</key>
    <data>vhgAAADrBz0AAAEA</data>
</dict>

<dict>
    <key>Name</key>
    <string>AppleIntelFramebufferAzul</string>
    <key>Comment</key>
    <string>Take Three - Patch #2</string>
    <key>Find</key>
    <data>AIASAAAAHgAAABIAAAAkAAAARFAtSA==</data>
    <key>Replace</key>
    <data>AIASAAAAHgAAABIAAAAkAAAARFAtSA==</data>
</dict>

 

It is probably best to publish patches in hex, as it make it easier to enter without editing the file with a text editor (can introduce errors). It is also easier to use the strings for a search in a hex editor (such as hexfiend), or to apply the patches with patcho (so disassembly can be compared).

 

You can do hex patches with <string>. These are equivalent to the above:

 

<dict>
    <key>Name</key>
    <string>AppleIntelFramebufferAzul</string>
    <key>Comment</key>
    <string>Take Three - Patch #1</string>
    <key>Find</key>
    <string>be18000000eb663d00000100</string>
    <key>Replace</key>
    <string>be18000000eb073d00000100</string>
</dict>
<dict>
    <key>Name</key>
    <string>AppleIntelFramebufferAzul</string>
    <key>Comment</key>
    <string>Take Three - Patch #2</string>
    <key>Find</key>
    <string>0080120000001e000000120000002400000044502d48</string>
    <key>Replace</key>
    <string>0080120000001e000000120000002400000044502d48</string>
</dict>
Note: Patch #2 does nothing. The Find and Replace are identical. In addition, the Find pattern in the second patch is not found in the binary.Probably not intentional.

It is probably best to publish patches in hex, as it make it easier to enter without editing the file with a text editor (can introduce errors). It is also easier to use the strings for a search in a hex editor (such as hexfiend), or to apply the patches with patcho (so disassembly can be compared).

 

You can do hex patches with <string>. These are equivalent to the above:

 

Note: Patch #2 does nothing. The Find and Replace are identical. In addition, the Find pattern in the second patch is not found in the binary.Probably not intentional.

 

 

Yes I did that at the beginning, but later on I was a little confused because of posts telling me that Clover can't apply it (turned out I used wrong kext).

 

And yes, it was unintentional, edited post with correct pattern.

... but later on I was a little confused because of posts telling me that Clover can't apply it ...

Clover accepts both <data> and <string> for KextsToPatch Find/Replace specifications.

 

<string>

- hex digits, upper or lower case

- spaces and commas are ignored, other non-hex characters cause error

- string should have even length (multiple of 2, as in 2 nibbles/byte)

 

<data>

- encoded as base64 (plist editors will do this for you)

  • Like 1

Yes I did that at the beginning, but later on I was a little confused because of posts telling me that Clover can't apply it ...

You were right .. apologies !

 

Clover accepts both <data> and <string> for KextsToPatch Find/Replace specifications.

 

<string>

- hex digits, upper or lower case

- spaces and commas are ignored, other non-hex characters cause error

- string should have even length (multiple of 2, as in 2 nibbles/byte)

 

<data>

- encoded as base64 (plist editors will do this for you)

 

This is new information to me, thanks for pointing this out.

@RehabMan:

 

Always a pleasure to hear your suggestions.

 

Clover accepts both <data> and <string> for KextsToPatch Find/Replace specifications.

<string>
- hex digits, upper or lower case
- spaces and commas are ignored, other non-hex characters cause error
- string should have even length (multiple of 2, as in 2 nibbles/byte)

<data>
- encoded as base64 (plist editors will do this for you)

 

I knew that. I don't know why i misinterpreted this info before.

 

The best "documentation" for Clover is in the Clover source code :-)

 

Right. But it gives you a headache sometimes. 


@eplightning:

 

I'll try your patches now.

Another set of patches, doesn't touch bpp now - instead focusing on making sure driver computes few parameters exactly like on Linux.

<dict>
    <key>Name</key>
    <string>AppleIntelFramebufferAzul</string>
    <key>Comment</key>
    <string>Force lane count to 2 and bw to 0x0a in SetupOptimalLaneCount</string>
    <key>Find</key>
    <string>55 48 89 E5 49 89 D0 44 8B 9E 9C 34 00 00 44 8A 8E ED 20 00 00 45 84 C9 74 09 0F B6 8E E1 20 00 00</string>
    <key>Replace</key>
    <string>55 48 89 E5 49 89 D0 B9 02 00 00 00 41 BB 0A 00 00 00 E9 A1 00 00 00 C9 74 09 0F B6 8E E1 20 00 00</string>
</dict>
<dict>
    <key>Name</key>
    <string>AppleIntelFramebufferAzul</string>
    <key>Comment</key>
    <string>Always call SetupOptimalLaneCount in SetupClocks</string>
    <key>Find</key>
    <string>00 00 00 03 75 10 4C 89 E7 48 89</string>
    <key>Replace</key>
    <string>00 00 00 03 90 90 4C 89 E7 48 89</string>
</dict>
<dict>
    <key>Name</key>
    <string>AppleIntelFramebufferAzul</string>
    <key>Comment</key>
    <string>Force PORT_CLK_SEL_A to PORT_CLK_SEL_LCPLL_810</string>
    <key>Find</key>
    <string>48 8B 8B 98 00 00 00 8B 49 1C 49 8B 96 40 05 00 00</string>
    <key>Replace</key>
    <string>B9 00 00 00 40 90 90 90 90 90 49 8B 96 40 05 00 00</string>
</dict>

If it still doesn't work try to add my previous patch for forcing bpp to 6 in addition to this patchset. If still no progress then I'm out of ideas for now :c

  • 1 month later...
×
×
  • Create New...