Jump to content
Factionrider

NVMe native support in 10.13 :)

72 posts in this topic

Recommended Posts

Advertisement

Is there any mention of this in the release notes? Anyone want to hazard a guess as to why this has changed?

 

I'm happy if it will stay, as it obviously makes it a lot less troublesome to use any NVMe SSD. I've been wanting to get one but preferred native support rather than using patches, and the only reasonable option with 4Kn support is the OCZ RD400 which isn't sold in my country.

 

But if this is a permanent change, I'm gonna grab a Samsung 960 Pro :drool:

Share this post


Link to post
Share on other sites

Just checked the release notes. No mention of SSDs or NVMe. This was the biggest reason I installed, I rely on pikes kext and wanted to see if it still worked.

 

 

 

Is there any mention of this in the release notes? Anyone want to hazard a guess as to why this has changed?

 

I'm happy if it will stay, as it obviously makes it a lot less troublesome to use any NVMe SSD. I've been wanting to get one but preferred native support rather than using patches, and the only reasonable option with 4Kn support is the OCZ RD400 which isn't sold in my country.

 

But if this is a permanent change, I'm gonna grab a Samsung 960 Pro :drool:

Share this post


Link to post
Share on other sites

I can confirm this: NVMe is running here natively without any of Pike's patches. Just tested: 950, 960 EVO and 941 SAMSUNG PCIe SSDs all detected and working "out-of-the-box".

ohhh!

good news!

Share this post


Link to post
Share on other sites

Great news. I considered getting one at some stage but hacked-in support put me off.

 

I don't really need the extra speed, it'd just be for geek cred. And tidier cabling too I guess.

Share this post


Link to post
Share on other sites

Thanks for testing! Let's hope this feature will stil be there in the final release.

 

Does booting from a NVMe device work (on a MacPro with High Sierra Beta) or is that dependent on the EFI?

Share this post


Link to post
Share on other sites

hi

I want to install NVMe card into PCI-E x16 slot on motherboard

what disk can you recommend to buy?

m/b Asus h110i-plus

bios 2002

on new bois do not work nvram

Share this post


Link to post
Share on other sites

Hello everyone.

 

Thank you Factionrider, I waited for this information for so long. I read there and there about a "NVMe support of incoming MacBooks", but did not wether it was because of the hardware or the new OSX version.

 

I plan to buy a PCIe M.2 adapter for MBA like this one : http://eshop.sintech.cn/ngff-m2-pcie-ssd-card-as-2013-2014-2015-macbook-ssd-p-1139.html. Could you confirms it would works now, despite of the "compatibility" notice ? I do not know if there is hardware limitations on this adapter, or if it is only because Apple only supported AHCI for now. Otherwhise, would you know an other adapter for Macbook Air that works with an NVMe drive ?

 

Thanks.

Share this post


Link to post
Share on other sites

So many people to reply to quoting doesn't make sense on mobile.

 

Ncoden:

 

No idea about MBA. The newest Mac laptop I have is from 2012 and has no mpcie or m2 slot at all. Though, I would be willing to bet that like the Mac Pro it would require an efi update to the logic board.

 

Kris:

 

I have not tested, but I would be shocked if it booted without an EFI patch to the motherboard. The boot loader runs entirely in the systems EFI and that would require a patch as far as I know. I would test but all my current projects are on that disk. Maybe when I do a fresh instal of the public release of High Sierra I'll try that drive.

Share this post


Link to post
Share on other sites

This is probably a long shot, but what happens if you take the IONVMeFamily.kext from High Sierra and put it in a Sierra install? Does it enable other drives there, or is the kext incompatible?

 

I'd check myself but I don't have an NVMe drive yet. Just wondering if it could work, as I'd like to remain on Sierra until High Sierra final release is made public (though I have installed DP1 just to see if everything is still working).

Share this post


Link to post
Share on other sites

This is probably a long shot, but what happens if you take the IONVMeFamily.kext from High Sierra and put it in a Sierra install? Does it enable other drives there, or is the kext incompatible?

 

I'd check myself but I don't have an NVMe drive yet. Just wondering if it could work, as I'd like to remain on Sierra until High Sierra final release is made public (though I have installed DP1 just to see if everything is still working).

Send me the zipped kext!

By the way, what about Plextor M8Pe? My Sierra install committed harakiri, so I might try High Sierra now.

Share this post


Link to post
Share on other sites

This is probably a long shot, but what happens if you take the IONVMeFamily.kext from High Sierra and put it in a Sierra install? Does it enable other drives there, or is the kext incompatible?

 

I'd check myself but I don't have an NVMe drive yet. Just wondering if it could work, as I'd like to remain on Sierra until High Sierra final release is made public (though I have installed DP1 just to see if everything is still working).

Even I am curious about that as well.

BTW, both the m.2 connected NVMe drives 950 PRO and 960 PRO were detected and working flawlessly along with TRIM support on my ASUS Maximus IX Hero motherboard. I just need Nvidia beta drivers for my GTX 1070.

Share this post


Link to post
Share on other sites

Do we still need to put the IONVMeFamily.kext in clover? I assume not, as High Sierra must be NVMe-bootable.

I do not have my NVMe drive yet, so cannot test.

Share this post


Link to post
Share on other sites

Interested in this possibility also. 

 

Currently I boot off efi on Samsung 960 pro with 10.12.6 beta thanks to pikeralpha, rehabman, and other's hackrnvmefamily driver.

 

Works well, but...  in HighSierra, not available. (UPDATE) Correction, HighSierra support IS native with my Samsung SSD 960 PRO 512GB .  forgot to boot without the SSDT that was made for Sierra inside Clover. :rolleyes: attempted this version in Sierra but, just like others the files aren't compatible.  IONVMeFamily.kext included. ^_^

IONVMeFamily.kext.zip

Share this post


Link to post
Share on other sites

I've attempted to install the IONVMeFamily.kext from High Sierra to Sierra (from my own install). Upon rebuilding the kernel cache in Sierra, I get the following errors:

sudo kextcache -system-prelinked-kernel
kxld[com.apple.iokit.IONVMeFamily]: The super class vtable 'vtable for IOTimerEventSource' for vtable 'vtable for AppleNVMeRequestTimer' is out of date. Make sure your kext has been built against the correct headers.
kxld[com.apple.iokit.IONVMeFamily]: The super class vtable 'vtable for IOTimerEventSource' for vtable 'vtable for AppleNVMeRequestTimer' is out of date. Make sure your kext has been built against the correct headers.
kxld[com.apple.iokit.IONVMeFamily]: The super class vtable 'vtable for IOTimerEventSource' for vtable 'vtable for AppleNVMeRequestTimer' is out of date. Make sure your kext has been built against the correct headers.
Link failed (error code 5).
Prelink failed for com.apple.iokit.IONVMeFamily; omitting from prelinked kernel.

I don't know what this really means, but I'm going to venture that it means it's not going to work, so I've restored the original for now.

Share this post


Link to post
Share on other sites

I've been having trouble with installing a Samsung 960 Pro into Slot 3 of a Mac Pro 5 1 that’s running High Sierra. I have gotten the Mac to see the drive in disk utility in both safe mode and recovery mode, and I’ve formatted the 960 to Mac OS Extended (Journaled). Now, on startup, the computer just reboots continuously until I power it off and remove the NVMe drive, and it even does this in safe mode. I can still see the drive in recovery mode. What can be done to fix this?

Share this post


Link to post
Share on other sites

Not sure if my Corsair MP500 is simply not supported or if the fact that I have to use a PCIe M.2 adapter is what's breaking it (my Asus P9X79-E WS doesn't have M.2 slots), but it works with `HackrVMmeFamily.kext` in 10.12 but I not natively in 10.13... :(

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Jonas
      Hi,
       
      I have High Sierra 10.13.6 installed on a Gigabyte h360m d3h, an i3 8100 processor and a GeForce GTX 760.
       
      I'm having some issues with sleep, shutdown and reboot not working correctly, this is what happens:
      Sleep: the machine restarts
      Shutdown: the OS appears to not be running but the machine is left on
      Restart: the same as shutdown
       
      Everything else (audio, video, usb) appears to be working correctly.
       
      Do you know how can I fix this?
       
      I'm attaching my config.plist and clover bootlog
       
      config.plist
      bootlog.txt
    • By fusion71au
      Clover r4799 ISO compiled with GCC and minimal config.plist compatible for use in VMWare Workstation.
       
      Tested with unlocked Workstation 15 running OSX 10.9 -->10.14 guest in Windows X64 host.
       
      Installation
      1. Download and unzip "EFI_Clover_r4799 for VMware.zip". Mount Clover-v2.4k-4799-X64 by double clicking on it.
      2. Mount your VM's EFI System Partition eg in terminal
      sudo diskutil mount disk0s1   3. Copy EFI folder from step 1 into the EFI partition
      4. Shutdown the VM, add bios.bootDelay = "3000" to your VM's vmx file
      5. Reboot your VM, press <F2> to access the VMware Boot Manager and add CLOVERX64.efi to the boot menu.
       
      Substitute your own unique and valid MLB and ROM variables in the /EFI/CLOVER/config.plist (Rt Variables section) to activate iMessage/Facetime on your VM.
    • By Gymnae
      Since I'm an NVIDIA user, I won't update until the farce with NVIDIA's web drivers for Mojave is solved - but this guide works already for 10.14
       

      Introduction
      The H370 chipset powers 8th generation Intel Core-i CPUs. Even though the name H370 rings comparable to Z370, the H370 is based on newer silicon. This it also requires some new approaches compared to the Z370. An example would be on-die USB 3.1 and WiFi support.
       
      Since this guide is not a "hold-your-hand-every-step" guide, I assume you know:
      Clover installation and configuration How to create an install medium for MacOS Access and configure the BIOS Have heard of ACPI patching (I'm a newb at this myself)  
      What works
      Sleep (via DSDT edits and emulated NVRAM) On-board Audio (via AppleALC and native AppleHDA) Native power management (without any kext or patch) All USB ports (and only those present are active) iGPU for both acceleration and display dGPU (I'm running an Nvidia GTX 1080)  
      Untested
      NIC --> I'm using WiFi only  
      What doesn't work
      Native NVRAM via AptioMemoryFix.efi DMVT Pre-alloc higher than 64MB (but not necessary)  
      Community additions
      User @Panzerschiffe added a helpful post, altering this guide for user with AMD cards and not needing on-board sound.
      He also runs Mojave, which I don't run yet.
       
       
      Changes to the guide:
      22.5.18: Added SSDT hot-patching to enable sleep, replacing DSDT static patching as an alternative.
      23.5.18: Add iMac18,1 as alternative SMBIOS config for those relying on the iGPU for output
      25.6.18: Added update info
      28.8.18: Small changes for clarity, changed info for afps loading & updated USB patch for 13.6
      04.10.18: Update to Mojave will come once Mojave is more mature
      02.12.18: Removed unnecessary patches, fakepciid and audio patch method & linked to AMD post & added whatevergreen.kext as replacement for previois GPU kexts
       
      1. Installation
      This guide heavy inspired by the work of /u/corpnewt of /r/hackintosh and his (sorta) Vanilla guide
       
      1.1 Create the install media for MacOS
      Follow this, if you are using a Mac to start off with. If you are totally new to MacOS, then please check the basic guide Creation of an installer media in windows or linux
       
      1.2 Install Clover on the install media
      Using the Clover installer, ensure you are installing to the USB medium you are using for the installer.
      Chose the following options, leaving the others on default: 
       
      UEFI driver: AptioMemoryFix UEFI driver: ApfsDriverLoader UEFI booting only Install to ESP  
      You have to get your hands on an apfs.efi. A google search can help, or extracting it from the Installer package. Make sure you procure a version matching the MacOS version you are about to install. Place the apfs.efi in drivers64UEFI.
       
      1.2 Adjust the config.plist for the installer
      You can use the config.plist attached as a guideline, but take a look at it before and at least adjust the SMBIOS - otherwise it won't boot.
      Attention: The attached plist contains audio patches introduced by a post-install step. If you run into problems, you might remove those. It also contains a manual slide value, which should normally not be needed, but works fine for me. It is also tuned for usage with an Nvidia Pascal dGPU as main GPU.
       
      The config you create now should serve you nicely for install and running the system.
       
      Take care of adding the following basics:
      SMBIOS: iMac18,3 - You can generate a serial number via Clover Configurator. The creation of a proper SMBIOS is covered in many guides to good extend Note: If you aim at using the iGPU for output, a user reported that iMac18,1 works better - since iMac18,3 produces sever flicker. Look at the graphics section and adjust the injection for Intel to your situation  
      Fixes

      Patches

      Devices

      Graphics
      Important:
      Change 0x59120003 to 0x59120000 if you don't use a dGPU as your main display Driver and instead use the iGPU for output.
      Also note. SMBIOS iMac18,1 has been reported to work better in this configuration. But 18,3 works fine for me.

      Kernel and Kext patches
       
      1.3 kexts and friends
      Add the supplied SSDT-UAIC.aml to "patched" - it limits the injected USB Ports to the actual number and ports valid for this board.
       
      Required kexts on "Other":
      FakeSMC.kext Whatevergreen.kext Lilu.kext AppleALC.kext IntelMausiEthernet.kext in case you're running Ethernet USBInjectAll.kext with the HCI-300-series-injector.kext --> These two should be installed to /L/E after install  
      We are leaving sound out at the moment, this is something for post-install.
       
      1.4 Check BIOS and install
      You should be ready for install. But before you reboot, please take a look at your BIOS and set it up accordingly (copied from the aforementioned guide and adapted):
      Load Optimized Defaults Disable VT-d setting If your system has Secure Boot Mode, disable it Set OS Type to Windows 8/10 or OtherOS - I have not seen a difference Turn off internal Serial and Parallel port Turn off Network stack for boot Turn off wake-on-lan (for now) Set XHCI Handoff to enabled Don't enable decode over 4G Depending on your GPU, set priority for boot Set internal GPU (iGPU) to enable - not auto or disabled Set DMVT pre-alloc min to 64MB and max to 128MB. For this selection to appear you might need to reboot after setting iGPU to enable Set USB legacy to enabled Activate XMP profile 1 f your Ram has it (mine doesn't and I added the timings manually) Set ERP to enable, disable platform power management (I need to do more research if this could be enabled)  
      I've attached my current BIOS config "hack2". You can place that on a fat32 drive (the EFI partition of your install USB drive might be an idea) and see if it loads. It's made for and with the F2 BIOS.
       
      The install itself should be like other MacOS Hackintosh installs with it several reboots and ensuring to select the correct boot device in Clover.
       
      2. Post-install
       
      2.1 Install clover on target
      This is a no-brainer, but install a fresh copy of Clover on your target medium.
       
      During install select again AptioMemoryFix but also additionally
      EmuVariableUefi-64.efi Install RC scripts on target volume because otherwise NVRAM doesn't seem to work
       
      After the install, copy
      config.plist contents of "Other" content of "patched" to your new clover install.
       
      2.2 Edit ACPI for slumber
      Choose one option, not both. The hot-patch is experimental, but for the moment it is stable.
       
      2.2.1 Edit DSDT
      This is necessary only once on initial install and every time, you edit or upgrade the BIOS. The DSDT.aml attached to this post might work for your system or give you a file to compare to. Don't expect it to work for you, though.
      I won't go into the details of DSDT extraction and patching. There are better guides (the linked guide is a rip-off of rehabman's guide from a different forum). Please follow such a guide to extract your ACPI data.
       
      Locate and disassemble the DSDT with the newest iasl binary you can put your hands on, then open it with MacIASL in its newest version you can find (Hint: Here is a good source) You can check if the version is new enough if MacIASL doesn't throw error upon compiling a freshly extracted DSDT.aml or DSDT.dst
       
      Add rehabmans repo (as per linked guide) and apply the following patches:
      Rename _DSM to _XDSM Fix _WAK Arg0 v2 USB3 _PRW 0x6D Skylake (instant wake) Find the CNVW device and remove the _PWR function there.
       
      Compile the DSDT and place it in "patched".
       
      2.2.2 Use SSDT hot-patching
      Instead of having to re-extract and re-patch the DSDT on every BIOS change or update, Hardware change one can also use ACPI hot-patching.
      It's a combination of config.plist patches and an SSDT, which is hot-patched into the ACPI (if I understand the process correctly)
       
      You need to add this SSDT-GPRW.aml to your Clover folder in the designated position at Clover/ACPI/patched You need to add this patch to your config.plist. It goes into the DSDT patch section  
      Note: This works for me, but the patch removes the _PRW method from all devices in the DSDT. This could have side-effects. So far, I have seen none. At the moment I'm also not applying any other patch, compared with the additional edits I made to the DSDT method before.
       
      2.3 Install kexts to system
      As mentioned in the install section, it's better to follow rehabman's instruction and install USBinjectAll.kext to /L/E:
      sudo cp -R Release/USBInjectAll.kext /Library/Extensions sudo touch /System/Library/Extensions && sudo kextcache -u / 2.4 Enable onboard Audio - Install AppleALC kext
      Make sure your EFI partition is mounted and that you have a vanilla AppleHDA kext available. See below for a guide how to get a vanilla AppleHDA if needed
      Note: Our Audio codec is ALC887 and it's running with layout ID 1.
      Download the newest AppleALC kext from here and install it together with lilu.kext from here into your usual /clover/kexts/others location. Done. No scripts or config.plist patches necessary.
      Add layout ID 1 to config.plist, if it's not there yet:
      <key>Audio</key> <dict> <key>Inject</key> <integer>1</integer> <key>ResetHDA</key> <true/> </dict> If you previously  installed any  audio patches, please follow this guide to "vanilla-ize" your install.
       
      2.4 Optional steps for Graphics
      If you have a dGPU, now it's the time to install its drivers and adjust the config.plist for it. The detaisl are specific to your GPU and thus of scope of this guide. Yet, my supplied config.plist is ready to be used with Nvidia Pascal cards and using the Nvidia web driver.
      Whatevergreen.kext helps with Intel iGPU and NVIDIA dGPU fixes.
       
      At the moment I'm also testing out a special bootflag: 'shikigva=12' to enable faster rendering in Final Cut Pro X. Without whatevergreen.kext and a shikigva bootflag, rendering in final cut seem very slow.
       
      2.4.1 Framebuffers
      If you're facing problems with output from your internal GPU, you can try the framebuffer patches listed by @BackwardMac:
       
       
      3. Updating
      Updating inside 10.3.x/ 10.4.x point updates doesn't require much attention:
      Download the update from the AppStore as any Mac would do Allow the system to reboot Before booting MacOS with Clover, make sure to disable extra drivers for dGPUs which require non-native support. If using an Nvidia dGPU: Remove "nvda_drv=1"  from your boot arguments and disable Nvidia injection If using a non natively supported AMD card, do the same for AMD (I'm not using AMD, thus I cannot be specific) Boot into the newly created Install MacOS partition Repeat this process until the Install partition is gone Boot MacOS again, still following 3., and potentially install updated drivers Your Audio might require re-patching  
      4. ToDo
      Move away from static DSDT patching to SSDT hotpatching --> requires my work Native NVRAM --> requires developer work Audio without AppleHDA patching --> requires developer work  
      5. Thanks to
      @MaLd0nfor helping finding the right way with the DSDT
      @RehabMan, for being a legend and helping me out patching
      @toleda, for audio patches for the 300 series
      /u/corpnewt, for his superb vanilla guide
      @wmchris for his super XPS 9550 guide and introducing me to hot-patching
      @Panzerschiffe for his addition to this guide
      all the developers of clover and it's awesomeness
       
      SSDT-UIAC.aml
       
      DSDT.aml
      hack2
    • By yehia2amer
      Dell Precision T7610 Workstation
      Hackintosh GUIDE (Work in Progress)
       
                        
      Introduction: 
      Hi Everyone,
      This Workstation used to be a Beast with Dual CPUs and tons of RAM, I Know it is now normal to get that much cores in a Desktop but it is still a very decent machine for me (As a Programmer), and I thought it would be a good idea to Install MacOS as the Daily Driver Rather than Linux and It turns out to be a very Great Experience (with Some Challenges ).
       
      Specs:
      CPU: 2x Xeon E5-2680 v2 2.8GHz Ten Core Processors RAM: 128 GB 1333 MHz DDR3 ECC Memory GPU: ATI Radeon HD 4870 Chipset: Intel C602 Audio: Realtek ALC3220 (ALC280) High Definition Audio SAS Drive Controllers (RAID): LSI 2308 SATA/SAS 6Gb/s controller with host based RAID 0, 1, 10 (4  Network Controller 1: Intel 82579 Gigabit Ethernet controller with Remote Wake UP, PXE and Jumbo frames support
      Network Controller 2: Intel Ethernet Controller I210
      NEC USB3.0 xHCI Controller: Renesas Electronics uPD720201 & uPD720202
       
      Working:
      Both "Xeon E5-2680 v2" and all cores with Power Management and P-States (using VoodooTSCSync & ssdtPRGen.sh) ATI Radeon HD 4870 (Vanilla) Realtek ALC3220 (ALC280)  (using VoodooHDA till Now - it is partially working with AppleALC using layout-id 13) LSI 2308 SAS (using AstekFusion2) Intel 82579 Network Controller (Vanilla) Intel I210 Network Controller (IntelMausiEthernet) USB 2.0  
      Not Working:
      NEC USB3.0 xHCI Controller (Renesas Electronics uPD720201 & uPD720202) Sleep  
      https://github.com/yehia2amer/Dell-Precision-T7610-Workstation-Hackintosh-Guide
×