Jump to content

OS X El Capitan 10.11.4: Skylake Intel HD Graphics General Discussion


Austere.J
 Share

67 posts in this topic

Recommended Posts

Pretty much, people have been reporting success in the HP Envy thread as well.

Added and bumped build version 1.3.0.

 

I suspect this might be temporary (or significantly changed) as Apple finishes the drivers...

Link to comment
Share on other sites

Added and bumped build version 1.3.0.

 

I suspect this might be temporary (or significantly changed) as Apple finishes the drivers...

 

I hope so... the drivers are a mess, same as the ones from BDW. No clue what apple has been doing with them.

Link to comment
Share on other sites

DoiX,

 

I notice this extra 6 in 0x191680866 on your FakePCIID_Intel_SKL_Graphics, not sure if that's meant to be there?

 

0x19068086 0x19138086 0x191e8086 0x191680866 0x191b8086

Definitely a typo.

Link to comment
Share on other sites

  • 3 weeks later...

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. 

 

 

 

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.

 

Is this only for HD530 mobile meaning laptops? My HD530 (desktop) works fully but system does not wake from sleep. Will this help?

Thank you.

Link to comment
Share on other sites

[IGPU] *****************************************************************************
[IGPU] Failed to initialize graphics firmware.  Falling back to host-side scheduling
[IGPU] Scheduler interface revision = 1: Default EL Scheduler
[IGPU] *****************************************************************************
[IGPU] Graphics accelerator is using scheduler interface revision 1: Default EL Scheduler
[IGPU] Scheduler: Multiple channel indexes per command streamer
[IGPU] Scheduler: Process CSB using HWS.
[IGPU] Scheduler: PM notify enabled
[IGPU] Graphics Address: PPGTT, Separate Address Space
[IGPU] MultiForceWake Enabled: Using 3D Driver
[IGPU] CoarsePowerGating Disabled
[IGPU] Scheduler Throttle Cap = 100ms.
[IGPU] startGraphicsEngine: hwCaps compromised fNumSubSlices: 3 fExecUnitCount: 0.

Is this correct behaviour on HD530 in Z170 with 6700K running 10.11.4. Anyone please confirm. Sleep/Wake successful?

Link to comment
Share on other sites

[IGPU] *****************************************************************************
[IGPU] Failed to initialize graphics firmware.  Falling back to host-side scheduling
[IGPU] Scheduler interface revision = 1: Default EL Scheduler
[IGPU] *****************************************************************************
[IGPU] Graphics accelerator is using scheduler interface revision 1: Default EL Scheduler
[IGPU] Scheduler: Multiple channel indexes per command streamer
[IGPU] Scheduler: Process CSB using HWS.
[IGPU] Scheduler: PM notify enabled
[IGPU] Graphics Address: PPGTT, Separate Address Space
[IGPU] MultiForceWake Enabled: Using 3D Driver
[IGPU] CoarsePowerGating Disabled
[IGPU] Scheduler Throttle Cap = 100ms.
[IGPU] startGraphicsEngine: hwCaps compromised fNumSubSlices: 3 fExecUnitCount: 0.

Is this correct behaviour on HD530 in Z170 with 6700K running 10.11.4. Anyone please confirm. Sleep/Wake successful?

 

 

Bump, would like to know this as well.

Link to comment
Share on other sites

That verbose output seems to be normal.

 

Sleep/Wake is likely related to USB not graphics. Either way, you will need a properly patched DSDT for sleep/wake to work properly.

Link to comment
Share on other sites

Hi friend, I find it hard to swallow that something with the word "failed" seems normal.

The alternative to host side scheduling is what is preventing sleep because firmware is not initialised.

Moreover if USB were the culprit then why would sleep work when IGFX is swapped in favour of NVIDA and USB is left untouched? Besides I read somewhere that someone had it working in 10.11.3

This thing needs someone like Pike or Apple.

  • Like 1
Link to comment
Share on other sites

I started fiddling with "AppleIntelSKLGraphics.kext", at some point in the "info.plist" file, you can see the following entry:

<key>SchedulerFallbackOnFirmwareFail</key>
<integer>1</integer>

I switched that to "0" to see what happens. Where usually we get the the error message about IGPU, now it reported "IGPU will not fallback to host-side scheduling", then it kept repeating one line that lead it to a failure (couldn't capture the output, it was fast) and then a Kernel Panic occurred which led to a system reboot. I know it might not mean anything, but I really wish we could try more and correct this error.

 

EDIT, this entry seems very relevant too:

<key>GraphicsFirmwareSelect</key>
<integer>2</integer>
<key>IOKitPersonalities</key>
	<dict>
		<key>Gen7</key>
		<dict>
			<key>CFBundleIdentifier</key>
			<string>com.apple.driver.AppleIntelSKLGraphics</string>
			<key>Development</key>
			<dict>
				<key>AddressMode</key>
				<integer>64</integer>
				<key>AddressSpaceEnableMask</key>
				<integer>3</integer>
				<key>AllowRenderCompression</key>
				<integer>0</integer>
				<key>CsbProcModeSelect</key>
				<integer>0</integer>
				<key>EUThrottle</key>
				<integer>0</integer>
				<key>EnableBlitLib</key>
				<integer>1</integer>
				<key>ForceDisableEDRAM</key>
				<integer>0</integer>
				<key>GraphicsFirmwareSelect</key>
				<integer>2</integer>
				<key>MetalCoalesce</key>
				<integer>0</integer>
				<key>MultiForceWakeSelect</key>
				<integer>1</integer>
				<key>NewUtilizationAlgorithmEnable</key>
				<integer>1</integer>
				<key>PPGTT</key>
				<integer>1</integer>
				<key>PageTableMode</key>
				<integer>64</integer>
				<key>PanicOnGPUHang</key>
				<integer>0</integer>
				<key>PixelBackendThrottle</key>
				<integer>0</integer>
				<key>SamplerDataFetchThrottle</key>
				<integer>0</integer>
				<key>SamplerPipeThrottle</key>
				<integer>0</integer>
				<key>SchedPmNotifyEnable</key>
				<integer>1</integer>
				<key>SchedThrottleCapMS</key>
				<integer>100</integer>
				<key>SchedulerFallbackOnFirmwareFail</key>
				<integer>1</integer>
				<key>SeparateAddressSpace</key>
				<integer>1</integer>
				<key>SingleChannelIndex</key>
				<integer>2</integer>
			</dict>
			<key>IOCFPlugInTypes</key>
			<dict>
				<key>ACCF0000-0000-0000-0000-000a2789904e</key>
				<string>IOAccelerator2D.plugin</string>
			</dict>
			<key>IOClass</key>
			<string>IntelAccelerator</string>
			<key>IODVDBundleName</key>
			<string>AppleIntelSKLGraphicsVADriver</string>
			<key>IOGLBundleName</key>
			<string>AppleIntelSKLGraphicsGLDriver</string>
			<key>IOGVABGRAEnc</key>
			<string>Gen9</string>
			<key>IOGVACodec</key>
			<string>Gen9</string>
			<key>IOGVAScaler</key>
			<string>Gen9</string>
			<key>IOMatchCategory</key>
			<string>IOAccelerator</string>
			<key>IOPCIClassMatch</key>
			<string>0x03000000&0xff000000</string>
			<key>IOPCIPrimaryMatch</key>
			<string>0x09018086 0x09028086 0x09038086 0x09048086 0x19328086 0x19128086 0x19178086 0x19028086 0x19168086 0x19218086 0x191E8086 0x19068086 0x190E8086 0x19138086 0x19158086 0x19268086 0x190B8086 0x191B8086 0x192B8086 0x193B8086</string>
			<key>IOProbeScore</key>
			<integer>1000</integer>
			<key>IOProviderClass</key>
			<string>IOPCIDevice</string>
			<key>IOSourceVersion</key>
			<string>0.0.0.0.0</string>
			<key>IOVARendererID</key>
			<integer>17301520</integer>
			<key>MetalPluginName</key>
			<string>AppleIntelSKLGraphicsMTLDriver</string>
		</dict>
	</dict> 

Here's all the relevant entries in the "info.plist".

Link to comment
Share on other sites

OK, so what is "ME"?

If those two lines are closely related we might solve this issue:

 

1) IG: ME PCI ACPI device not found - PAVP services will be disabled - add IMEI to EFI / ACPI device list

2) [iGPU] Hash data from ME never returned, status = 1, doing retry #1

 

EDIT, Clover has an AddIMEI option, is this what it's needed?


EDIT 2, Piker on his blog mentions that we should rename HECI to IMEI on DSDT in order to resolve this error:

https://pikeralpha.wordpress.com/2016/03/24/os-x-10-11-4-wants-imei-not-heci/

 

Will test with the new "config.plist" in a bit...

  • Like 1
Link to comment
Share on other sites

Was just about to tell you this. I have that patch in my plist since the past week. Did not really resolve the issue. I suspect even Apple has a lot of work to do here. Probably on the Graphics Power management part.

Still, great job.

 

Thanks William :)

 

So after the HECI to IMEI patch I finally got my boot-time down to 8 seconds from Clover to Login Screen, that's a nice reward for trying to fix the GPU.

 

Furthermore there are two cases now on the IGPU end:

1) [iGPU] Graphics accelerator is using scheduler interface revision 1: Default EL Scheduler (which boots fine)

2) [iGPU] Graphics accelerator is using scheduler interface revision 3: Apple Firmware (which Kernel Panics)

 

I really hope someone else will join our quest :)

Link to comment
Share on other sites

So you are not using sir3 Apple firmware because it panics? Meaning you have left the SKLGraphics kext untouched while using the IMEI patch?

 

I'm using sir1, but sir3 is also a possibility (with modified AppleSKLGraphics.kext). But then again I really don't know how to investigate this any further.

Link to comment
Share on other sites

Hi friend, I find it hard to swallow that something with the word "failed" seems normal.

The alternative to host side scheduling is what is preventing sleep because firmware is not initialised.

Moreover if USB were the culprit then why would sleep work when IGFX is swapped in favour of NVIDA and USB is left untouched? Besides I read somewhere that someone had it working in 10.11.3

This thing needs someone like Pike or Apple.

 

The SKL drivers are still in development / debug mode, the verbose screen was never meant to be seen by normal users, especially on a macintosh. Failed doesn't mean something is broken, failed means one function didn't found the required parameters in order to run and thus the next one will be tried. Even Pike said in some comment on his blog that it's "fine".

 

I didn't see your signature, was under the impression you have a laptop. There are some people reporting wake problems with your specific board.

 

The debug process is simple, check console app for the log during the time interval you tried to wake the PC up. Go from there. Alternatively, remove the GLDriver.bundle from extensions to disable QE/CI and see if wake works then, if not then try removing SKLGraphics.kext. Alternatively, check if the sound gets initiated (set volume feedback in settings and change the volume) even if the screen remains black, or install some VNC app and try to connect with another device to it, if you succeed in reaching the desktop via VNC even if the screen is black then it's an HDMI issue that might require FB kext patching.

 

@denicio I see iMac17, are you also a desktop user? Changing those settings won't affect much, messed with them on my laptop a while back, only 1 or 2 of them actually triggered a KP at boot, the rest had no noticeable effect in terms of functionality or benchmarking scores, but it may be different for desktop users.  

 

P.S Scheduler interface revision default value is 1 on macbooks starting with BDW driver implementation on 10.11.X

  • Like 1
Link to comment
Share on other sites

Thanks DoiX for all the info. Still, I would like to know if real Skylake iMacs initiate with "Scheduler interface revision 3".

[IGPU] Graphics accelerator is using scheduler interface revision 3: Apple Firmware
Link to comment
Share on other sites

  • 1 month later...

i just obtained a Lenovo ThinkPad T460 with  I5-6300U with Intel HD 520 gfx. got it booted - but seems like an issue with DVMT pre-allocated memory as it cannot load the IntelAccelerator kexts in AppleIntelSKLGraphics.kext. will update with progress on full QE/CI. 

 

was wondering if anyone has been able to run laptop  (id 0x1916000)? windows reports Dedicated graphics to be 128MB which would indicate pre-allocated DVMT to be 128 MB?

 

it does NOT KP - it gets stuck at apple logo and progress bar -  the IntelAccellerator just gets totaled wedged? any ideas on kext patches?

Link to comment
Share on other sites

  • 3 weeks later...
 Share

×
×
  • Create New...