Contribute
Register

OS X Driver for NVMe M.2 Solid State Drives Released

Status
Not open for further replies.
Joined
Mar 11, 2017
Messages
87
Motherboard
HUANANZHI X79-8D
CPU
2 x Xeon E5-2643 v2
Graphics
Sapphire RX 580 Nitro+
Mac
  1. MacBook Air
  2. Mac Pro
Mobile Phone
  1. iOS
I would assume it's throttling. In windows, I'm using a Samsung 960 EVO. After some initial testing, (mounted it in a PCIe adapter, no native m2 slot), attached a heatsink along w/a fan blowing across, writes went from 300 to 1600 (temps dropped from 32c to 23c). I'm still trying to get the drive noticed under Yosemite (x79 board w/NVMe support BIOS mod)...
 
Joined
Nov 10, 2011
Messages
351
Motherboard
Gigabyte X79-UD5
CPU
i7-3930K
Graphics
GTX 960 and RX 580
Mac
  1. MacBook Air
  2. MacBook Pro
  3. Mac mini
  4. Mac Pro
Mobile Phone
  1. Android
  2. iOS
Hey RehbMan.
First, thank you for everything you do for this community!

Question:

I've followed the instructions and got my 960 EVO to be bootable and be used as my main drive after using this guide http://www.win-raid.com/t871f16-Gui...rt-for-all-Systems-with-an-AMI-UEFI-BIOS.html as my Mobo doesn't support NVMe natively.

As you can see in the screenshots, I don't know which app to believe. What is my real speed? :)
View attachment 239426 View attachment 239427 View attachment 239428

I'm using this adapter card:
https://www.amazon.com/dp/B01M7MPU9J/?tag=tonymacx86com-20

Thanks :)


@ Dr. Drum - Update to Black Magic Speed test to version 3.1 they now support faster speeds:


Also are these speeds consistent with other Samsung 960 Pro 500GB NVME drives??

Thanks!

-GS


Screen Shot 2017-06-08 at 6.26.57 PM.png
 
Last edited:
Joined
Mar 11, 2017
Messages
87
Motherboard
HUANANZHI X79-8D
CPU
2 x Xeon E5-2643 v2
Graphics
Sapphire RX 580 Nitro+
Mac
  1. MacBook Air
  2. Mac Pro
Mobile Phone
  1. iOS
got sierra booting on 960 evo/rampage IV gene. guitarguy77, thanks for the info!
 
Joined
Mar 11, 2017
Messages
87
Motherboard
HUANANZHI X79-8D
CPU
2 x Xeon E5-2643 v2
Graphics
Sapphire RX 580 Nitro+
Mac
  1. MacBook Air
  2. Mac Pro
Mobile Phone
  1. iOS
looks like it. you might try a pci-e adapter if needing higher sequentials. i've been a bit hard on mine lately, though it shows close to a clean drive. in a 3.0 x 16 slot via an adapter:

tired drive.jpeg
 
Last edited:
Joined
Nov 22, 2013
Messages
19
Motherboard
msi x370
CPU
ryzen 5
Graphics
rx480
Mac
  1. iMac
Classic Mac
  1. eMac
  2. iBook
  3. iMac
  4. Power Mac
  5. PowerBook
Mobile Phone
  1. Android
All I had to do for my desktop was add an ACPI identity that matches the location of the PCI device. Nothing else was needed.

As can be seen from ioreg (and DSDT), your SSD is connected at _SB.PCI0.PEG1:
- the PEG1@1,1 (in IOService) corresponds to Device (PEG1) and _ADR=0x00010001
- all PCI devices are usually under PCI0 (as confirmed in DSDT)
- PCI0 is usually in scope _SB (as confirmed in DSDT, and IOACPIPlane of ioreg)

This should be all you need:
Code:
//SSDT-NVMe.dsl
// add an ACPI identity for built-in NVMe SSD at _SB.PCI0.PEG1.SSD0
DefinitionBlock("", "SSDT", 2, "hack", "nvme", 0)
{
    External(_SB.PCI0.PEG1, DeviceObj)
    Scope(_SB.PCI0.PEG1)
    {
        Device(SSD0)
        {
            Name(_ADR, Zero)
        }
    }
}
//EOF

Copy it to a new document in MaciASL, then save as SSDT-NVMe.aml (format ACPI Machine Language Binary).
Then copy to EFI/CloverACPI/patched (on your EFI partition).
If you're using config.plist/ACPI/SortedOrder, make sure it refers to this file (otherwise it won't load).
All I had to do for my desktop was add an ACPI identity that matches the location of the PCI device. Nothing else was needed.

As can be seen from ioreg (and DSDT), your SSD is connected at _SB.PCI0.PEG1:
- the PEG1@1,1 (in IOService) corresponds to Device (PEG1) and _ADR=0x00010001
- all PCI devices are usually under PCI0 (as confirmed in DSDT)
- PCI0 is usually in scope _SB (as confirmed in DSDT, and IOACPIPlane of ioreg)

This should be all you need:
Code:
//SSDT-NVMe.dsl
// add an ACPI identity for built-in NVMe SSD at _SB.PCI0.PEG1.SSD0
DefinitionBlock("", "SSDT", 2, "hack", "nvme", 0)
{
    External(_SB.PCI0.PEG1, DeviceObj)
    Scope(_SB.PCI0.PEG1)
    {
        Device(SSD0)
        {
            Name(_ADR, Zero)
        }
    }
}
//EOF

Copy it to a new document in MaciASL, then save as SSDT-NVMe.aml (format ACPI Machine Language Binary).
Then copy to EFI/CloverACPI/patched (on your EFI partition).
If you're using config.plist/ACPI/SortedOrder, make sure it refers to this file (otherwise it won't load).






Thanks for posting this, I've been searching all over for a code that works. How do you get this code to work for 2 nvme's?
 
Joined
Sep 9, 2016
Messages
96
Motherboard
GA-H270-Gaming 3
CPU
i7-7700
Graphics
RX 570
Is there a tutorial anywhere for how to boot from NVME on High Sierra using the new drivers it comes with? thanks

edit couple weeks later: I found out that NVME works out of the box on Sierra using SSDs that support 4096 bytes block size (not Samsung those are fixed 512 bytes) so got a THNSN5512GPU7 a great MLC drive and used OZC SSD utility to format it to 4096 and all good on Sierra don't need to use High Sierra after all :)
 
Last edited:
Joined
Sep 28, 2012
Messages
31
Motherboard
Asrock H110-STX
CPU
Intel Core i5 6600T
Graphics
HD530
Mac
  1. MacBook Pro
Mobile Phone
  1. Other
I tried to install a 960 Evo today, used the NVME script, put the NVMeHackr kext into S/L/E and got a Kernel Panic while booting. Interestingly Clover boots El Capitan just fine without the M.2 SSD installed. I'm on 10.11.6.
 
Status
Not open for further replies.
Top