Contribute
Register

[GUIDE] Intel HD Graphics 5500 on OS X Yosemite 10.10.3

Status
Not open for further replies.
Here's my config. I'll try removing that driver as well.

Devices/FakeID/IntelGFX=0x80861616 is invalid. The vendor-id is LSW, device-id MSW. Unless it was your goal to prevent the drivers from loading, you probably meant IntelGFX=0x16168086. Read the Clover wiki: http://clover-wiki.zetam.org/Home. Also, no need to inject device-id when the native ID is supported by the driver's Info.plist.

Note: It also appears you have a patch masking the assertion. That is a very bad idea. The assertion is trying to tell you something is configured incorrectly. Address the root issue, patching the assertion will only move the problem to somewhere else.
 
Devices/FakeID/IntelGFX=0x80861616 is invalid. The vendor-id is LSW, device-id MSW. Unless it was your goal to prevent the drivers from loading, you probably meant IntelGFX=0x16168086. Read the Clover wiki: http://clover-wiki.zetam.org/Home. Also, no need to inject device-id when the native ID is supported by the driver's Info.plist.

Note: It also appears you have a patch masking the assertion. That is a very bad idea. The assertion is trying to tell you something is configured incorrectly. Address the root issue, patching the assertion will only move the problem to somewhere else.

I'm assuming the root problem is the stupid DVMT not being set to 96MB, but I just cannot set it no matter what I try, I've tried setting it through EFI Shell, I've tried to patch my BIOS to reveal the hidden settings, I've tried to hex edit the efivars through ubuntu, nothing seems to work. Also, the patch for the framebuffer kext doesn't seem to work either, neither does directly hex editing the binary. I'm not sure why none of it is working, I feel like it's probably something simple, as usual.
 
I'm assuming the root problem is the stupid DVMT not being set to 96MB, but I just cannot set it no matter what I try, I've tried setting it through EFI Shell, I've tried to patch my BIOS to reveal the hidden settings, I've tried to hex edit the efivars through ubuntu, nothing seems to work. Also, the patch for the framebuffer kext doesn't seem to work either, neither does directly hex editing the binary. I'm not sure why none of it is working, I feel like it's probably something simple, as usual.

I think you'll need to fix the DMVT issue. Everything I read so far points in that direction.

Or make a solid attempt to patch the framebuffer so that the framebuffer configuration (associated with the ig-platform-id you're using) matches your real BIOS configuration. This is not the same as masking the assertion. It will require real research and understanding of framebuffer configuration.
 
I think you'll need to fix the DMVT issue. Everything I read so far points in that direction.

Or make a solid attempt to patch the framebuffer so that the framebuffer configuration (associated with the ig-platform-id you're using) matches your real BIOS configuration. This is not the same as masking the assertion. It will require real research and understanding of framebuffer configuration.

Is there a solid way to see if I've correctly changed the setting? I stupidly took the easy way and just dedicated my whole SSD to this OS X install, so now I don't have a windows partition to check, but I assume if I get it correctly changed things will start to work.

That's the other thing I was just looking into, I was trying to find what the change from 39CF763C to 39CF773C means, and how it was reached, I know that my DMVT is currently set to 32MB (or at least it was by default, not really sure if I've successfully changed it since then but I know windows always reported 0MB of dedicated memory). I'm really hoping I can just find a way to change the DMVT, because researching the framebuffer seems infinitely more complex...
 
Is there a solid way to see if I've correctly changed the setting? I stupidly took the easy way and just dedicated my whole SSD to this OS X install, so now I don't have a windows partition to check, but I assume if I get it correctly changed things will start to work.

If you've been reading along like I have, you should realize the only way to check that has been mentioned is by checking in Windows in the Intel graphics control panel app. If you wish to check, you should probably re-install Windows.

That's the other thing I was just looking into, I was trying to find what the change from 39CF763C to 39CF773C means, and how it was reached,

That patch is modifying code, not framebuffer data.

Note:
Code:
Speedy-OSX:framebuf RehabMan$ cp /System/Library/Extensions/AppleIntelBDWGraphicsFramebuffer.kext/Contents/MacOS/AppleIntelBDWGraphicsFramebuffer .
Speedy-OSX:framebuf RehabMan$ otool -tVj AppleIntelBDWGraphicsFramebuffer >AppleIntelBDWGraphicsFramebuffer.s
Speedy-OSX:framebuf RehabMan$ cp AppleIntelBDWGraphicsFramebuffer AppleIntelBDWGraphicsFramebuffer_patched
Speedy-OSX:framebuf RehabMan$ patcho 39CF763C 39CF773C AppleIntelBDWGraphicsFramebuffer_patched 
find: '39CF763C'
repl: '39CF773C'
0x0001A02C: 4B
Speedy-OSX:framebuf RehabMan$ diff -C3 AppleIntelBDWGraphicsFramebuffer.s AppleIntelBDWGraphicsFramebuffer_patched.s  
*** AppleIntelBDWGraphicsFramebuffer.s	2015-04-30 13:00:21.000000000 -0700
--- AppleIntelBDWGraphicsFramebuffer_patched.s	2015-04-30 13:01:21.000000000 -0700
***************
*** 1,4 ****
! AppleIntelBDWGraphicsFramebuffer:
  (__TEXT,__text) section
  __ZN22AppleIntelFBController13RunAUXCommandEP21AppleIntelFramebufferP21AppleIntelDisplayPathPjtbhb:
  00000000000010e0	55              	pushq	%rbp
--- 1,4 ----
! AppleIntelBDWGraphicsFramebuffer_patched:
  (__TEXT,__text) section
  __ZN22AppleIntelFBController13RunAUXCommandEP21AppleIntelFramebufferP21AppleIntelDisplayPathPjtbhb:
  00000000000010e0	55              	pushq	%rbp
***************
*** 25312,25318 ****
  000000000001a020	440f44ea        	cmovel	%edx, %r13d
  000000000001a024	438dbc0500001000	leal	0x100000(%r13,%r8), %edi
  000000000001a02c	39cf            	cmpl	%ecx, %edi
[B]! 000000000001a02e	763c            	jbe	0x1a06c[/B]
  000000000001a030	897dd0          	movl	%edi, -0x30(%rbp)
  000000000001a033	488d3d66ba0200  	leaq	0x2ba66(%rip), %rdi     ## literal pool for: "%s"
  000000000001a03a	488d35a6b90200  	leaq	0x2b9a6(%rip), %rsi     ## literal pool for: "/SourceCache/GPUDriversIntel/GPUDriversIntel-10.6.20/Common/IONDRV/Intel/BDW/AppleIntelFramebuffer/AppleIntelController.cpp:19778 Assertion failed: minStolenSize <= fStolenMemorySize \n"
--- 25312,25318 ----
  000000000001a020	440f44ea        	cmovel	%edx, %r13d
  000000000001a024	438dbc0500001000	leal	0x100000(%r13,%r8), %edi
  000000000001a02c	39cf            	cmpl	%ecx, %edi
[B]! 000000000001a02e	773c            	ja	0x1a06c[/B]
  000000000001a030	897dd0          	movl	%edi, -0x30(%rbp)
  000000000001a033	488d3d66ba0200  	leaq	0x2ba66(%rip), %rdi     ## literal pool for: "%s"
  000000000001a03a	488d35a6b90200  	leaq	0x2b9a6(%rip), %rsi     ## literal pool for: "/SourceCache/GPUDriversIntel/GPUDriversIntel-10.6.20/Common/IONDRV/Intel/BDW/AppleIntelFramebuffer/AppleIntelController.cpp:19778 Assertion failed: minStolenSize <= fStolenMemorySize \n"
 
Hi, I was wrong, it's running native 3200x1800 :)

View attachment 134711

However, yesterday I was still experiencing some freezing problems. few minutes after start, osx just froze. I tried few other versions of fakesmc as suggested, but it didn't help. Then I changed the DVMT few times, and after last change to 96mb, my dell was bricked. I always checked 2-3 times if the setup_var command is written correctly, so I don't know what happend, it was just bricked.

Today I got brand new xps13 replacement and I decided to do NOT any BIOS modifications, just disabled secure boot and enabled legacy support. And guess what, after patching the AppleIntelBDWGraphicsFramebuffer (Find 39CF763C and replace it with 39CF773C) it started without any problems! And no freezing issues (got it running a few hours).

Regarding the IOKit patch I used this command
Code:
sudo perl -i.bak -pe 's|\xB8\x01\x00\x00\x00\xF6\xC1\x01\x0F\x85|\x33\xC0\x90\x90\x90\x90\x90\x90\x90\xE9|sg' /System/Library/Frameworks/IOKit.framework/Versions/Current/IOKit
		sudo codesign -f -s - /System/Library/Frameworks/IOKit.framework/Versions/Current/IOKit

View attachment 134712

View attachment 134713

If someone is interested, there's my entire EFI folder as attachment. I've got WIFI working with asus usb n10, sound with latest voodoohda, touchscreen is also working. I'll continue to work on other functionality.

Ugh I don't understand at all how you got the graphics patch working, I have the exact same system as you, minus the screen resolution, and when I do the exact same thing you did (patch the framebuffer through config.plist), absolutely nothing happens. Is that literally all you did? Just what's in your config.plist? And it worked? I've copied your plist and used it for my computer and it doesn't work, and I cannot think of a single reason why it wouldn't.
 
If you've been reading along like I have, you should realize the only way to check that has been mentioned is by checking in Windows in the Intel graphics control panel app. If you wish to check, you should probably re-install Windows.



That patch is modifying code, not framebuffer data.

Note:
Code:
Speedy-OSX:framebuf RehabMan$ cp /System/Library/Extensions/AppleIntelBDWGraphicsFramebuffer.kext/Contents/MacOS/AppleIntelBDWGraphicsFramebuffer .
Speedy-OSX:framebuf RehabMan$ otool -tVj AppleIntelBDWGraphicsFramebuffer >AppleIntelBDWGraphicsFramebuffer.s
Speedy-OSX:framebuf RehabMan$ cp AppleIntelBDWGraphicsFramebuffer AppleIntelBDWGraphicsFramebuffer_patched
Speedy-OSX:framebuf RehabMan$ patcho 39CF763C 39CF773C AppleIntelBDWGraphicsFramebuffer_patched 
find: '39CF763C'
repl: '39CF773C'
0x0001A02C: 4B
Speedy-OSX:framebuf RehabMan$ diff -C3 AppleIntelBDWGraphicsFramebuffer.s AppleIntelBDWGraphicsFramebuffer_patched.s  
*** AppleIntelBDWGraphicsFramebuffer.s	2015-04-30 13:00:21.000000000 -0700
--- AppleIntelBDWGraphicsFramebuffer_patched.s	2015-04-30 13:01:21.000000000 -0700
***************
*** 1,4 ****
! AppleIntelBDWGraphicsFramebuffer:
  (__TEXT,__text) section
  __ZN22AppleIntelFBController13RunAUXCommandEP21AppleIntelFramebufferP21AppleIntelDisplayPathPjtbhb:
  00000000000010e0	55              	pushq	%rbp
--- 1,4 ----
! AppleIntelBDWGraphicsFramebuffer_patched:
  (__TEXT,__text) section
  __ZN22AppleIntelFBController13RunAUXCommandEP21AppleIntelFramebufferP21AppleIntelDisplayPathPjtbhb:
  00000000000010e0	55              	pushq	%rbp
***************
*** 25312,25318 ****
  000000000001a020	440f44ea        	cmovel	%edx, %r13d
  000000000001a024	438dbc0500001000	leal	0x100000(%r13,%r8), %edi
  000000000001a02c	39cf            	cmpl	%ecx, %edi
[B]! 000000000001a02e	763c            	jbe	0x1a06c[/B]
  000000000001a030	897dd0          	movl	%edi, -0x30(%rbp)
  000000000001a033	488d3d66ba0200  	leaq	0x2ba66(%rip), %rdi     ## literal pool for: "%s"
  000000000001a03a	488d35a6b90200  	leaq	0x2b9a6(%rip), %rsi     ## literal pool for: "/SourceCache/GPUDriversIntel/GPUDriversIntel-10.6.20/Common/IONDRV/Intel/BDW/AppleIntelFramebuffer/AppleIntelController.cpp:19778 Assertion failed: minStolenSize <= fStolenMemorySize \n"
--- 25312,25318 ----
  000000000001a020	440f44ea        	cmovel	%edx, %r13d
  000000000001a024	438dbc0500001000	leal	0x100000(%r13,%r8), %edi
  000000000001a02c	39cf            	cmpl	%ecx, %edi
[B]! 000000000001a02e	773c            	ja	0x1a06c[/B]
  000000000001a030	897dd0          	movl	%edi, -0x30(%rbp)
  000000000001a033	488d3d66ba0200  	leaq	0x2ba66(%rip), %rdi     ## literal pool for: "%s"
  000000000001a03a	488d35a6b90200  	leaq	0x2b9a6(%rip), %rsi     ## literal pool for: "/SourceCache/GPUDriversIntel/GPUDriversIntel-10.6.20/Common/IONDRV/Intel/BDW/AppleIntelFramebuffer/AppleIntelController.cpp:19778 Assertion failed: minStolenSize <= fStolenMemorySize \n"

Could you possibly post your patched AppleIntelBDWGraphicsFramebuffer binary?
 
Could you possibly post your patched AppleIntelBDWGraphicsFramebuffer binary?

As I've stated previously, I don't think that patch is a good idea.

And if you wanted to create the patched binary (no reason to do so with Clover because Clover can do it via KextsToPatch), you can simply follow the steps I show in my post.
 
As I've stated previously, I don't think that patch is a good idea.

And if you wanted to create the patched binary (no reason to do so with Clover because Clover can do it via KextsToPatch), you can simply follow the steps I show in my post.

OK, I have no idea why it's not working for me then. I've copied it exactly the way it is in other's configs, and it still isn't working, so I guess I'll just hope that someone who has my same computer can reply here.
 
Status
Not open for further replies.
Back
Top