Austere.J Posted March 21, 2016 Share Posted March 21, 2016 A new version of Skylake integrated graphics driver was included in the latest OS X El Capitan 10.11.4 update. Some "restrictions" (checking pci ids of Broadwell's IGPUs) have been removed from the AppleIntelFramebufferController::start() method. So basically your Skylake's IGPUs could be working now. - Some Remarks Should you have kernel panic like minStolenSize <= fStolenMemorySize, you could avoid it by: Either (1) Applying the patch Name: AppleIntelSKLGraphicsFramebuffer Find 4139C476 Replace 4139C477 (Note that you should NOT use this patch if your DVMT pre-allocated memory in your BIOS settings is already >= 64MB) Or (2) Applying the patch (Thanks to Rehabman) Name: AppleIntelSKLGraphicsFramebuffer Find: 4139c4762a Replace: 4139c4eb2a or (3) you could modify the DVMT pre-allocated memory in your BIOS settings to 64MB or 96MB. (SUGGESTED) (Note that this method is suggested especially when you have a laptop with high resolution screen) Assertion failed: minStolenSize <= fStolenMemorySize I will keep updating this post. Looking forward to some successful cases. Cheers, FireWolf 9 Link to comment Share on other sites More sharing options...
devilhunter Posted March 21, 2016 Share Posted March 21, 2016 That's just awesome if this works. This could fix pretty much all remaining hard issues on the 150 & 170 boards. When did they put in the new iGPU drivers? I kept monitoring the betas for this and didn't find anything. Got a install for el cap planned this weekend on my Fatal1ty Z170 1 Link to comment Share on other sites More sharing options...
Austere.J Posted March 21, 2016 Author Share Posted March 21, 2016 That's just awesome if this works. This could fix pretty much all remaining hard issues on the 150 & 170 boards. When did they put in the new iGPU drivers? I kept monitoring the betas for this and didn't find anything. Got a install for el cap planned this weekend on my Fatal1ty Z170 Apple only put the new IGPU drivers in the final release of 10.11.4. Nothing new in betas. Link to comment Share on other sites More sharing options...
Majonéz Posted March 21, 2016 Share Posted March 21, 2016 Good news. My HD7000 seems to be working with the new driver. (I only tested the HDMI out yet) Animations, rotation, and no more confusion around the mouse pointer. 2 Link to comment Share on other sites More sharing options...
RehabMan Posted March 22, 2016 Share Posted March 22, 2016 Should you have kernel panic like minStolenSize <= fStolenMemorySize, you could apply this patch to avoid this assertion: Name: AppleIntelSKLGraphicsFramebuffer Find 4139C476 Replace 4139C477, or you could modify the DVMT pre-allocated memory in your BIOS settings to 64MB or 96MB. I would suggest using an unconditional 'jmps' (jump short) instruction instead of reversing the logic of the assertion (jbe->ja reverses the logic, such that panic results when DVMT-prealloc is large enough). Find: 4139c4762a Replace: 4139c4eb2a That way, if DVMT-prealloc is set as required, the patch does not *cause* a panic. Note: The above find/replace also includes the opcodes for the full two instructions involved here (cmpl+jbe). 3 Link to comment Share on other sites More sharing options...
Austere.J Posted March 22, 2016 Author Share Posted March 22, 2016 I would suggest using an unconditional 'jmps' (jump short) instruction instead of reversing the logic of the assertion (jbe->ja reverses the logic, such that panic results when DVMT-prealloc is large enough). Find: 4139c4762a Replace: 4139c4eb2a That way, if DVMT-prealloc is set as required, the patch does not *cause* a panic. Note: The above find/replace also includes the opcodes for the full two instructions involved here (cmpl+jbe). Agreed. That's more secure. I choose to use the ja opcode since the direct jmp is a big instruction, and I am afraid of messing up the kernel panic part. Anyway, thanks a lot. I will update the post. Good news. My HD7000 seems to be working with the new driver. (I only tested the HDMI out yet) Animations, rotation, and no more confusion around the mouse pointer. Congrats! I assume that you are talking about the Intel HD Graphics 540, the successor of the Intel HD Graphics 6000. Link to comment Share on other sites More sharing options...
RehabMan Posted March 22, 2016 Share Posted March 22, 2016 I choose to use the ja opcode since the direct jmp is a big instruction, and I am afraid of messing up the kernel panic part. There are two kinds of unconditional jmp instructions (long ones and short ones). 'eb' is jmps (jump short). It is the same length as the conditional jump that is being replaced. 1 Link to comment Share on other sites More sharing options...
Austere.J Posted March 22, 2016 Author Share Posted March 22, 2016 There are two kinds of unconditional jmp instructions (long ones and short ones). 'eb' is jmps (jump short). It is the same length as the conditional jump that is being replaced. Got it. Really thanks for your sharing. Link to comment Share on other sites More sharing options...
graphine Posted March 22, 2016 Share Posted March 22, 2016 Intel HD 530 (Intel HD Graphics SKL CRB 1536 MB) works good except dual monitors. If I connect 2 monitors (DVI and HDMI) only one of them gets signal and there are only artifacts on the screen. 22/03/16 11:08:06,000 kernel[0]: [IGPU] Failed to initialize graphics firmware. Falling back to host-side scheduling 22/03/16 11:08:06,000 kernel[0]: [IGPU] Scheduler interface revision = 1: Default EL Scheduler 22/03/16 11:08:06,000 kernel[0]: [IGPU] ***************************************************************************** 22/03/16 11:08:06,000 kernel[0]: [IGPU] Graphics accelerator is using scheduler interface revision 1: Default EL Scheduler 22/03/16 11:08:06,000 kernel[0]: [IGPU] Scheduler: Multiple channel indexes per command streamer 22/03/16 11:08:06,000 kernel[0]: [IGPU] Scheduler: Process CSB using HWS. 22/03/16 11:08:06,000 kernel[0]: [IGPU] Scheduler: PM notify enabled 22/03/16 11:08:06,000 kernel[0]: [IGPU] Graphics Address: PPGTT, Separate Address Space 22/03/16 11:08:06,000 kernel[0]: [IGPU] MultiForceWake Enabled: Using 3D Driver 22/03/16 11:08:06,000 kernel[0]: [IGPU] CoarsePowerGating Disabled 22/03/16 11:08:06,000 kernel[0]: [IGPU] Scheduler Throttle Cap = 100ms. 22/03/16 11:08:06,000 kernel[0]: [IGPU] startGraphicsEngine: hwCaps compromised fNumSubSlices: 3 fExecUnitCount: 0. Link to comment Share on other sites More sharing options...
Ludwig Bartholomew Posted March 24, 2016 Share Posted March 24, 2016 Can anyone confirm if the HD 520 is now supported? Link to comment Share on other sites More sharing options...
Jake Lo Posted March 24, 2016 Share Posted March 24, 2016 Yes it is 1 Link to comment Share on other sites More sharing options...
Ludwig Bartholomew Posted March 27, 2016 Share Posted March 27, 2016 What ig-platfrom-id did you use for the HD 520? Link to comment Share on other sites More sharing options...
Ludwig Bartholomew Posted March 27, 2016 Share Posted March 27, 2016 I keep getting this error on the HD 520. Any advice on how to solve this? Link to comment Share on other sites More sharing options...
Jake Lo Posted March 27, 2016 Share Posted March 27, 2016 I'm using ig-platform-id = 0x19160000Your graphics is not loading. You'll need to modify the DVMT pre-allocated memory in your BIOS settings to 96MB. You could try FB patch mentioned above by Rehabman, but even that still have some artifacts. Find: 4139c4762a Replace: 4139c4eb2a Link to comment Share on other sites More sharing options...
Ludwig Bartholomew Posted March 27, 2016 Share Posted March 27, 2016 Yeah, I have had the DVMT set to 64mb in the bios. What's odd is that I can load the USB installer perfectly fine, but whilst using the same clover config, DSDT, etc, the OS partition keeps hanging when it loads the graphics kernel extensions. I assume that the installer only loads the VESA drivers, which is why I am experiencing this.. Link to comment Share on other sites More sharing options...
Jake Lo Posted March 27, 2016 Share Posted March 27, 2016 You might want to experiment by setting DVMT preallocated memory higher like 96MB or 128MB to see if it makes a difference. 1 Link to comment Share on other sites More sharing options...
magnifico Posted March 27, 2016 Share Posted March 27, 2016 good news thz Link to comment Share on other sites More sharing options...
Ludwig Bartholomew Posted March 27, 2016 Share Posted March 27, 2016 Whenever I set it past 64mb, there is an instant kernel panic. I've tried patching the fb and still I am ending up with the same exact error. Link to comment Share on other sites More sharing options...
chris1111 Posted March 27, 2016 Share Posted March 27, 2016 Whenever I set it past 64mb, there is an instant kernel panic. I've tried patching the fb and still I am ending up with the same exact error. Please post your config.plist Link to comment Share on other sites More sharing options...
dreamcat4 Posted March 27, 2016 Share Posted March 27, 2016 You can only select 64mb or 96mb without extra patches / fixing. No higher than that. Link to comment Share on other sites More sharing options...
Ludwig Bartholomew Posted March 28, 2016 Share Posted March 28, 2016 That makes sense.. I will post it tomorrow. I should probably mention the specs of the computer that I am using. Specs: Asus K501UX, Core i7 6500u, GTX 950 discrete (Disabled via clover nv_disable=1) Intel HD 520 integrated (stuff in config: Inject intel=true, ig-platform-id = 0x19160000; I've tried with and without these settings to no avail btw) 8GB Ram, 1080p display. Is there any chance that the nvidia optimus could be interfering with the integrated graphics. I have tried disabling it through the dsdt, but not entirely sure if it is actually disabled entirely. I was able to boot into the installer and everything without the graphics injection info, but with the same config the OS partition halts.. Link to comment Share on other sites More sharing options...
DoiX Posted April 14, 2016 Share Posted April 14, 2016 That makes sense.. I will post it tomorrow. I should probably mention the specs of the computer that I am using. Specs: Asus K501UX, Core i7 6500u, GTX 950 discrete (Disabled via clover nv_disable=1) Intel HD 520 integrated (stuff in config: Inject intel=true, ig-platform-id = 0x19160000; I've tried with and without these settings to no avail btw) 8GB Ram, 1080p display. Is there any chance that the nvidia optimus could be interfering with the integrated graphics. I have tried disabling it through the dsdt, but not entirely sure if it is actually disabled entirely. I was able to boot into the installer and everything without the graphics injection info, but with the same config the OS partition halts.. If your initial screenshot is still valid, you might want to check if you have FakeSMC.kext present on whatever you use to boot. Because according to the screenshot, it's not being loaded. Once you fix that, you should be able to reach the desktop. However, if for some reason you get stuck at a black screen with a blinking cursor or the loading bar (which appears even when booting in verbose) you might have a WindowServer crash. To confirm this, at Clover boot, go to Graphics Menu and set InjectIntel = True and FakeID = 0x12345678, this way you'll disable kext loading for the iGPU. If you can reach the desktop, then WindowServer crash is confirmed. For people with HD 530 Mobile and anyone else that encounters a black screen with blinking cursor, you need to use FakePCIID.kext and a custom injector (see below) to get around some checks in the SKLGLDriver.bundle. FakePCIID_Intel_SKL_Graphics.kext.zip You need to have FakePCIID.kext AND the above injector! @JakeLo and anyone else with working SKL graphics on their laptops: Please install and run GfxBench Metal benchmark and see if you can run it: https://itunes.apple.com/us/app/gfxbench-metal/id1044629456?mt=12Go to select test and leave only one test check, you don't need to go through all of them if it works. If it crashes on your machine, congratulations, METAL isn't working on your system, 10.12 is supposed to use Metal instead of OpenGL for animations (this remains to be seen though). If it works, congratulations again, could you provide a IOReg/IOJones dump of your system? Open IORegExplorer / IOJones, run the bench again (say the first test) then save the ioreg dump and post it here or PM it to me. Thank you. Link to comment Share on other sites More sharing options...
marco.pisellonio80 Posted April 14, 2016 Share Posted April 14, 2016 Alec stone GTX 950 discrete (Disabled via clover nv_disable=1) Is there any chance that the nvidia optimus could be interfering with the integrated graphics. You could disable it in BIOS and try. Link to comment Share on other sites More sharing options...
RehabMan Posted April 14, 2016 Share Posted April 14, 2016 For people with HD 530 Mobile and anyone else that encounters a black screen with blinking cursor, you need to use FakePCIID.kext and a custom injector (see below) to get around some checks in the SKLGLDriver.bundle. You need to have FakePCIID.kext AND the above injector! I'm assuming my suggestion to use FakePCIID was helpful? If so, perhaps this should be integrated into FakePCIID_Intel_HD_Graphics.kext. I guess we'll see as time goes on... Link to comment Share on other sites More sharing options...
DoiX Posted April 14, 2016 Share Posted April 14, 2016 I'm assuming my suggestion to use FakePCIID was helpful? If so, perhaps this should be integrated into FakePCIID_Intel_HD_Graphics.kext. I guess we'll see as time goes on... Pretty much, people have been reporting success in the HP Envy thread as well. Link to comment Share on other sites More sharing options...
Recommended Posts