Jump to content

Patch for using NVMe under macOS Sierra is ready.


1,382 posts in this topic

Recommended Posts

HackrNVMeFamily.kext should be installed to the system volume.

Make sure you don't use config.plist patches for IONVMeFamily at the same time as HackrNVMeFamily*.kext.

But i cannot boot OSX with CLOVER patchs.

 

Yes. I am sure. It seems KP on IOSCSIArchitectureModelFamily.kext with HackrNVMeFamily*.kext. 

Link to comment
Share on other sites

But i cannot boot OSX with CLOVER patchs.

No idea what you're trying to say.

If you need help, post photo of verbose boot and attach the EFI/Clover that causes it (please strip 'themes').

Link to comment
Share on other sites

I followed the guide below and injected the NvmExpressDxe in to my motherboard BIOS & now can boot from Clover (running from USB) to the 960 Pro NVMe

http://www.win-raid.com/t871f16-Guide-How-to-get-full-NVMe-support-for-Intel-Chipset-systems-from-Series-up.html

 

One thing I haven't been able to do since install is to make the system boot clover either directly off a SSD connected to a SATA port, or the NVMe. I ran ##### and installed the drives, copied the kext & config.plist across. Anyone know what it could be ?

 

Here are my 960 EVO observations under 10.11.6 with all three available methods for NVMe.

 

NVMeGeneric allows you to directly boot to the drive, but when you shutdown the computer it restarts. Performance matches the Clover patch method.

 

With the Clover patch method, I too was unable to directly startup from my 960 EVO at first, but I then changed two things at the same time and can now boot directly from it. 

1. I removed my dummy kext injection to have the OS see the NVMe as Internal (that worked fine with my SM951)

2. I disabled the first patch in the config as the 960 EVO already has the proper DeviceID and matches against the plist.

 

Lastly, RehabMan's script does not seem to work with the 960 EVO as is, nor does it give the same results as using the Clover patch method as one might think (because of kext loading timing?). It seems to have a problem with generation under the latest 10.11.6 version, so I had to deviate from his instructions to get it to properly generate an MD5 matching kext. (the script gives a plist not found message even when it is definitely the correct pathway) Then it caused the same KPs that other users have noted (IOArchitecturalFamily & sometimes IOPCIFamily).

 

I was attempting to use it from Clover/Kexts (as the documentation says is supported), then tried SLE, but still the same KPs. I vaguely remember needing to delete IONVMeFamily last time to get this to work on my SM951, but I just stopped trying to get the script working at this point.  

Link to comment
Share on other sites

Here are my 980 EVO observations under 10.11.6 with all three available methods for NVMe.

 

NVMeGeneric allows you to directly boot to the drive, but when you shutdown the computer it restarts. Performance matches the Clover patch method.

 

With the Clover patch method, I too was unable to directly startup from my 960 EVO at first, but I then changed two things at the same time and can now boot directly from it. 

1. I removed my dummy kext injection to have the OS see the NVMe as Internal (that worked fine with my SM951)

2. I disabled the first patch in the config as the 960 EVO already has the proper DeviceID and matches against the plist.

 

Lastly, RehabMan's script does not seem to work with the 960 EVO as is, nor does it give the same results as using the Clover patch method as one might think (because of kext loading timing?). It seems to have a problem with generation under the latest 10.11.6 version, so I had to deviate from his instructions to get it to properly generate an MD5 matching kext. (the script gives a plist not found message even when it is definitely the correct pathway) Then it caused the same KPs that other users have noted (IOArchitecturalFamily & sometimes IOPCIFamily).

 

I was attempting to use it from Clover/Kexts (as the documentation says is supported), then tried SLE, but still the same KPs. I vaguely remember needing to delete IONVMeFamily last time to get this to work on my SM951, but I just stopped trying to get the script working at this point.

What do you mean by "my dummy kext injection"?

What do you mean by "plist not found message"? (sounds like you're doing something wrong).

For 10.12.x, when using HackrNMVeFamily, you must remove IONVMeFamily.kext or use the class-code spoof. It is clearly documented in the README.

  • Like 1
Link to comment
Share on other sites

I followed the guide below and injected the NvmExpressDxe in to my motherboard BIOS & now can boot from Clover (running from USB) to the 960 Pro NVMe

http://www.win-raid.com/t871f16-Guide-How-to-get-full-NVMe-support-for-Intel-Chipset-systems-from-Series-up.html

 

One thing I haven't been able to do since install is to make the system boot clover either directly off a SSD connected to a SATA port, or the NVMe. I ran ##### and installed the drives, copied the kext & config.plist across. Anyone know what it could be ?

I fixed my issue, it was to do with BIOS settings for CSM. Just changed them to use UEFI first, as they were set to legacy. Now I can boot from the NVMe and also my other SSD with Sierra installed

Link to comment
Share on other sites

@ Racer

 

Racer, please listen, I noticed a very strange thing ...

I'll explain:

I have two SSD NVME, I have on a Windows 10 and on the Sierra, when restart or turn off the computer from Windows, is very fast, and when I do this by Sierra it is very slow, due to something you think is the patch for NVME? ( about 15 sec ) 

 

I tried to put the shutdown fix, but not resolved, on the motherboard I only mouse and keyboard, I thought it was some hardware, but does not solve

 

Carmine

Link to comment
Share on other sites

@ Racer

 

Racer, please listen, I noticed a very strange thing ...

I'll explain:

I have two SSD NVME, I have on a Windows 10 and on the Sierra, when restart or turn off the computer from Windows, is very fast, and when I do this by Sierra it is very slow, due to something you think is the patch for NVME? ( about 15 sec ) 

 

I tried to put the shutdown fix, but not resolved, on the motherboard I only mouse and keyboard, I thought it was some hardware, but does not solve

 

Carmine

Your slow shutdown/restart is unlikely to be NVMe related. You can try with a non-NVMe SSD to verify.

You can boot verbose for verbose shutdown.

Link to comment
Share on other sites

Your slow shutdown/restart is unlikely to be NVMe related. You can try with a non-NVMe SSD to verify.

You can boot verbose for verbose shutdown.

Ok, I tried Racer from this SSD AHCI disk (backup Sierra) but it's always the same

 

/dev/disk3 (internal, physical):

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:      GUID_partition_scheme                        *128.0 GB   disk3

   1:                        EFI EFI                     209.7 MB   disk3s1

 

   2:                  Apple_HFS BuckUp                  127.7 GB   disk3s2

 

 

What you mean ?

 

 

You can boot verbose for verbose shutdown.

 

 I always -v in config, but I can not see what processes are still active when i restart or turn off

Link to comment
Share on other sites

Ok, I tried Racer from this SSD AHCI disk (backup Sierra) but it's always the same

Then you know that the problem is not NVMe related, and therefore your posts here regarding it are off-topic.

  • Like 1
Link to comment
Share on other sites

And kext in Clover/kext/other

Adding kexts wont allow the hadware to boot the nvme drive. You need to mod the bios. Go to Win-raid: http://www.win-raid.com/t871f16-Guide-How-to-get-full-NVMe-support-for-Intel-Chipset-systems-from-Series-up-59.html#msg31148 and checkout the first page. Its doable. Ive done it. Its awesome.

Link to comment
Share on other sites

Has anyone had experience with Samsung 960 EVO 250GB and enabling 4K block size which the hardware supports?  I have successfully had mine up and running with the guide at https://github.com/RehabMan/patch-nvme(thanks so much for your work Rehabman / Pike / everyone :) ).  My understanding is that these patches will enable 512 byte block size which is appropriate for the Samsung 950 and other NVMe drives.

 

Maybe I'm missing something and there is no sensible reason to have 4K blocks although I thought I read somewhere that there maybe a performance gain from doing so.

Link to comment
Share on other sites

Has anyone had experience with Samsung 960 EVO 250GB and enabling 4K block size which the hardware supports?  I have successfully had mine up and running with the guide at https://github.com/RehabMan/patch-nvme(thanks so much for your work Rehabman / Pike / everyone :) ).  My understanding is that these patches will enable 512 byte block size which is appropriate for the Samsung 950 and other NVMe drives.

 

Maybe I'm missing something and there is no sensible reason to have 4K blocks although I thought I read somewhere that there maybe a performance gain from doing so.

There is evidence to suggest in this thread (and in your own post above) that the 960 Pro uses 512 byte blocks, not 4k.

  • Like 1
Link to comment
Share on other sites

There is evidence to suggest in this thread (and in your own post above) that the 960 Pro uses 512 byte blocks, not 4k.

 

Looks like you're right RehabMan.  According to Windows 10 with driver version 2.0.0.1607:

C:\Windows\system32>fsutil fsinfo sectorinfo c:
LogicalBytesPerSector :                                 512
PhysicalBytesPerSectorForAtomicity :                    512
PhysicalBytesPerSectorForPerformance :                  512
FileSystemEffectivePhysicalBytesPerSectorForAtomicity : 512
Device Alignment :                                      Aligned (0x000)
Partition alignment on device :                         Aligned (0x000)
No Seek Penalty
Trim Supported
Not DAX capable

I guess this is fairly definitive? 

Link to comment
Share on other sites

Looks like you're right RehabMan.  According to Windows 10 with driver version 2.0.0.1607:

C:\Windows\system32>fsutil fsinfo sectorinfo c:
LogicalBytesPerSector :                                 512
PhysicalBytesPerSectorForAtomicity :                    512
PhysicalBytesPerSectorForPerformance :                  512
FileSystemEffectivePhysicalBytesPerSectorForAtomicity : 512
Device Alignment :                                      Aligned (0x000)
Partition alignment on device :                         Aligned (0x000)
No Seek Penalty
Trim Supported
Not DAX capable
I guess this is fairly definitive?

 

We already verified in this thread that the 960 Pro works with Pike's patches.

Pike's patches patch for 4k -> 512 byte block size.

They would not work if the device was 4k (vanilla IONVMeFamily.kext would work unmodified).

 

So... it has been "definitive" even prior to the evidence you provide here...

Link to comment
Share on other sites

We already verified in this thread that the 960 Pro works with Pike's patches.

Pike's patches patch for 4k -> 512 byte block size.

They would not work if the device was 4k (vanilla IONVMeFamily.kext would work unmodified).

 

So... it has been "definitive" even prior to the evidence you provide here...

Apologies.  I hadn't realised that.

Link to comment
Share on other sites

  • 2 weeks later...

Hi guys,

 

Was wondering if there are any precautions with upgrading from 10.12.2 from 10.12.1 in regards to the nvme patch?

 

Afraid it may break something as its working smooth right now on my intel 750.

 

Thanks and Happy Holidays..

Link to comment
Share on other sites

Hi guys,

 

Was wondering if there are any precautions with upgrading from 10.12.2 from 10.12.1 in regards to the nvme patch?

 

Afraid it may break something as its working smooth right now on my intel 750.

 

Thanks and Happy Holidays..

 

Same patches for 10.12.1 apply to 10.12.2.

Link to comment
Share on other sites

 Share

×
×
  • Create New...