top of page
hyppapivilena

Nvidia Driver For Mac El Capitan: Best Practices and Recommendations



Original story: OS X El Capitan includes a new graphics API called Metal, the same API the company included in iOS 8 last year. Metal is roughly analogous to technologies like DirectX 12 and the not-quite-finalized Vulkan, designed to improve performance by reducing driver overhead.




Nvidia Driver For Mac El Capitan




In iOS 8 and iOS 9, comparing the Metal version of GFXBench to the OpenGL ES version shows off near-universal improvements in the high-level tests with more mixed results in the low-level tests. This was generally the case in OS X, but the wider variety of hardware meant a wider variety of test results. Many tests showed OpenGL holding even, or even beating Metal, though tests that were limited specifically by driver overhead showed some nice gains.


Updated 04/03/19: When I wrote this guide, NVidia drivers were still being released for the current version of macOS, 10.12-10.13. Sadly, Apple and NVidia relations have seemed to have come to a head. NVidia states that it is actively being blocked from releasing drivers for its GeForce cards for 10.14.x+. I highly recommend AMD video cards over NVidia as this seems unlikely to change. My GPU section of the Definitive Mac Pro Upgrade Guide contains more info on this spat, as well as current information. For posterity, I've left the upgrade guide below largely intact with a few minor edits to help reflect more current information.


It's no secret that there's always been a gaming performance gap, macOS sadly scores quite poorly compared to its Windows counterpart, so it's only fair to compare Mac to Mac or Windows to Windows and not Mac to Windows when considering the gains. Rather than benchmarking Windows, which isn't my daily driver, I'm more interested in how the GPU affects macOS. Below are my Uniengine v4 benchmarks vs. when I ran them against my 2008 Mac Pro. Despite the low marks when compared to running Uniengine in Windows, The Mac Pro 2010 is twice as fast by the benchmarks as my previous setup of a 2008 Mac Pro running a GeForce 760. One of the more fascinating things I learned when trying my hand at a Hackintosh was that the 3rd generation 3770k i7 wasn't quite enough to completely best the over-engineered Mac Pro despite having a faster bus / CPU, but merely matched it. If/when I have more time, I may swap the GPUs to see if the scores are as GPU dependent as they seem.


It's a good idea for the first boot to keep around an EFI card, as you may have to enable the web drivers. Also, I encountered the error of Mac NVidia Web Drivers fail to update or cannot remove Kext files" when updating my OS recently; you'll want to follow the instructions I posted to deinstall the drivers if this happens to you.


Ever since NVidia has shipped it's web drivers, gone are the sketchy days of flashing a 6970 and using a rom creator. Installing off-the-shelf GPUs has gone from tribal knowledge to common knowledge for the Mac Pro user since I wrote my "how to" guide for the 760. Ironically, it wasn't until Apple killed upgradability that the dream of off-the-shelf GPUs could be bought without the infamous Apple-tax. I debated even not calling this article a "how to". The downside is despite the EFI compatible ROMs preloaded on the 700+ GeForce cards; they're not EFI boot screen compatible on OSX sadly. The only game in town is macvidcards.com which according to all accounts on MacRumors is a legit source, but I find the idea of hoarding an EFI hack a little irksome. It's hard to complain too much as NVidia has quietly kept the Mac Pro and Hackintosh community happy, self-included. There's no specialized knowledge needed to upgrade your GPU or abnormal risks of a bad firmware flash. The only caveat is you'll want to keep an EFI card around for major OS updates.


Based on the driver software developers have found so far, it looks like support is there for graphics cards from Nvidia, Intel, and AMD. Here's the unofficial requirements based on netkas.org research:


If from this you discover that your full PCI-ID is [14e4:432b], then the following advice applies to you: Do not waste time on the b43 driver. I have been fiddling with it for weeks, and switching to broadcom-wl made all the problems go away. broadcom-wl might make your device names funky, but that's easily fixed with the udev rule documented on Broadcom Wireless.


As of kernel version 3.17.1-2, Broadcom Wireless driver most likely will not work (ERROR @wl_cfg80211_scan :WLC_SCAN error (-22)). The only option seems to be loading the b43 driver in PIO mode. To enable PIO mode, install driver by following the guide at wireless.wiki.kernel.org, then load the b43 kernel module with pio=1 and qos=0 parameters. To make this happen at boot, create b43-firmware.conf file in /etc/modprobe.d/ and add the following lines:


Although using PIO should be much slower than using DMA, I have not noticed any performance drop. Further testing showed repetitive occurrences of noticable performance drops. Mostly expressed as rapid decrease of transfer speed, sometimes even dropped connections. It also seems that b43 driver has issues operating at 5Ghz.


Consult Nouveau for general info on the driver. Works out of the box, performance however is not that great and your system will get quite hot when running nouveau.Will cause issues in electron based applications! Fix by adding --disable-gpu to the .shortcut!


Running the drivers in efi-mode requires setting some PCI registers before the kernel modules get loaded, preferably using a udev hook or GRUB script. You can also use a efi shell script in REFind as stated here. Otherwise, the screen just remains black when X starts. Follow these instructions in order to find the appropriate PCI device IDs for which to set the registers. This approach has been confirmed to work and is still being actively discussed inside the above mentioned thread. Updated EFI Shell boot method here. The latest NVIDIA drivers are no longer supported for this MacBook's GPU you will instead need to use these ones nvidia-340xx-dkmsAUR! Once installed create a config by running the command:


The NVIDIA binary driver does not support either simple display configuration switching or automatic monitor/display configuration on hotplug events, but this can be achieved by using autorandr and autorandr_launcher. Install autorandr first, and manually save each configuration as a profile. autorandr_launcher can then be compiled and configured as a systemctl service.autorandrautorandr_launcher


Older versions of XFCE power manager will break backlight key handling if you select "handle display brightness keys" after installing nvidia driver (even after re-adding "RegistryDwords" "EnableBrightnessControl=1" to /usr/share/X11/xorg.conf.d/10-nvidia-brightness.conf)


Thank you so much for this solution!!!! My late 2015 model froze on reboot from installing Epson Printer drivers. Endless loop and wouldnt start, this fixed it.I have actually done a similar thing before when my older MacBooks GPU kicked it, thankfully they had dual graphics chips so in a similar fashion in Verbose mode i had to create a new folder manually and move GPU drivers to disable the faulty GPU on startup. Just like this script move the bad kexts. Fantastic, thank you so much! I thought i was going to have to bake my motherboard in the oven again.. lol ( actually a legit way to reflow dead GPUs ) but thankfully this wasnt hardware related.


Hi, I have a question or a problem with my 2015 Macbook pro, ive had it since present but once i updated my mac too el capitan the computer quit on me and stopped working, once i reinstalled el capitan it booted perfectly the laptop, but then if i try too login it takes super long with a circle processing logo on the cursor and it takes forever without no login boot. hope you can help me on this one havnt got too use my laptop for 1month


I have exhausted several searches online but nothing works. My MacBook was operating fine prior; I have el capitan installed been using for months now. I launched a new app, that I recently installed , and I got a blue screen, with no other option but to power off.


Hi Justin I have got a Problem with 10.11.5 el capitan ,mac boots in safe mode when i use shift key then restarts in normal mode ,but after i shut down it wont boot again,its hard to get in safe boot cos not always it works ,is there an easy way to fix that kext files in normal mode? or using program script ? i can only put into sleep mode my mac ? please help ?


Trawling around the web looking for possibly suspect .kext files I stumbled across thes following .kext files reported by other people:VirtualboxEvernoteEltimaSyncJMicronATALivescribeSmartpenSSuddrivVideoglideAirparrotdriverLogitechHIDDdDevicesLogimgrdriverLogitechunifyingEPSONUSBPrintclass


System uptime in nanoseconds: 10816262484410last loaded kext at 3366414504411: com.apple.filesystems.smbfs3.0.0 (addr 0xffffff7fa63c0000, size 409600)last unloaded kext at 3111261874093: com.apple.driver.AppleUSBTCKeyEventDriver245.4 (addr 0xffffff7fa63c0000, size 8192)loaded kexts:org.virtualbox.kext.VBoxNetAdp5.0.6org.virtualbox.kext.VBoxNetFlt5.0.6org.virtualbox.kext.VBoxUSB5.0.6org.virtualbox.kext.VBoxDrv5.0.6com.apple.filesystems.smbfs3.0.0com.apple.driver.AudioAUUC1.70com.apple.filesystems.ntfs3.13com.apple.driver.AGPM110.20.19com.apple.driver.X86PlatformShim1.0.0com.apple.filesystems.autofs3.0com.apple.driver.AppleOSXWatchdog1com.apple.driver.AppleMikeyHIDDriver124com.apple.driver.AppleHDA272.50com.apple.driver.AppleMikeyDriver272.50com.apple.driver.AppleUpstreamUserClient3.6.1com.apple.driver.pmtelemetry1com.apple.iokit.IOUserEthernet1.0.1com.apple.iokit.IOBluetoothSerialManager4.4.0f4com.apple.Dont_Steal_Mac_OS_X7.0.0com.apple.driver.AppleThunderboltIP3.0.8com.apple.driver.AppleHV1com.apple.driver.AppleSMCPDRC1.0.0com.apple.driver.AppleIntelHD4000Graphics10.0.8com.apple.driver.AppleSMCLMU208com.apple.driver.AppleLPC3.1com.apple.driver.AppleIntelSlowAdaptiveClocking4.0.0com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport4.4.0f4com.apple.driver.AppleBacklight170.8.1com.apple.driver.AppleMCCSControl1.2.13com.apple.driver.AppleIntelFramebufferCapri10.0.8com.apple.driver.SMCMotionSensor3.0.4d1com.apple.driver.AppleUSBTCButtons245.4com.apple.driver.AppleUSBTCKeyboard245.4com.apple.driver.AppleIRController327.5com.apple.iokit.SCSITaskUserClient3.7.7com.apple.AppleFSCompression.AppleFSCompressionTypeDataless1.0.0d1com.apple.AppleFSCompression.AppleFSCompressionTypeZlib1.0.0com.apple.BootCache37com.apple.iokit.IOAHCIBlockStorage2.8.0com.apple.driver.AppleSDXC1.7.0com.apple.iokit.AppleBCM5701Ethernet10.1.11com.apple.driver.AppleFWOHCI5.5.2com.apple.driver.usb.AppleUSBEHCIPCI1.0.1com.apple.driver.AirPort.Brcm43601000.13.1a3com.apple.driver.AppleAHCIPort3.1.5com.apple.driver.AppleSmartBatteryManager161.0.0com.apple.driver.AppleRTC2.0com.apple.driver.AppleACPIButtons4.0com.apple.driver.AppleHPET1.8com.apple.driver.AppleSMBIOS2.1com.apple.driver.AppleACPIEC4.0com.apple.driver.AppleAPIC1.7com.apple.driver.AppleIntelCPUPowerManagementClient218.0.0com.apple.nke.applicationfirewall163com.apple.security.quarantine3com.apple.security.TMSafetyNet8com.apple.driver.AppleIntelCPUPowerManagement218.0.0com.apple.iokit.IOUSBUserClient900.4.1com.apple.kext.triggers1.0com.apple.driver.DspFuncLib272.50com.apple.kext.OSvKernDSPLib525com.apple.iokit.IOSerialFamily11com.apple.driver.CoreCaptureResponder1com.apple.iokit.IOFireWireIP2.2.6com.apple.iokit.IOSurface108.0.1com.apple.driver.AppleHDAController272.50com.apple.iokit.IOHDAFamily272.50com.apple.iokit.IOAudioFamily203.8com.apple.vecLib.kext1.2.0com.apple.driver.AppleSMBusPCI1.0.14d1com.apple.driver.X86PlatformPlugin1.0.0com.apple.driver.IOPlatformPluginFamily6.0.0d7com.apple.iokit.IOSlowAdaptiveClockingFamily1.0.0com.apple.iokit.IOBluetoothHostControllerUSBTransport4.4.0f4com.apple.iokit.IOBluetoothFamily4.4.0f4com.apple.driver.AppleBacklightExpert1.1.0com.apple.iokit.IONDRVSupport2.4.1com.apple.driver.AppleSMBusController1.0.14d1com.apple.iokit.IOAcceleratorFamily2203.7.1com.apple.AppleGraphicsDeviceControl3.11.31com.apple.iokit.IOGraphicsFamily2.4.1com.apple.driver.AppleSMC3.1.9com.apple.driver.AppleUSBMultitouch250.4com.apple.iokit.IOUSBHIDDriver900.4.1com.apple.driver.usb.AppleUSBHostCompositeDevice1.0.1com.apple.driver.usb.AppleUSBHub1.0.1com.apple.iokit.IOSCSIMultimediaCommandsDevice3.7.7com.apple.iokit.IOBDStorageFamily1.8com.apple.iokit.IODVDStorageFamily1.8com.apple.iokit.IOCDStorageFamily1.8com.apple.iokit.IOAHCISerialATAPI2.6.2com.apple.iokit.IOSCSIArchitectureModelFamily3.7.7com.apple.driver.AppleThunderboltDPInAdapter4.1.2com.apple.driver.AppleThunderboltDPAdapterFamily4.1.2com.apple.driver.AppleThunderboltPCIDownAdapter2.0.2com.apple.driver.AppleThunderboltNHI4.0.1com.apple.iokit.IOThunderboltFamily5.0.6com.apple.iokit.IOEthernetAVBController1.0.3b3com.apple.iokit.IOFireWireFamily4.5.8com.apple.driver.usb.AppleUSBEHCI1.0.1com.apple.iokit.IO80211Family1100.23com.apple.driver.mDNSOffloadUserClient1.0.1b8com.apple.iokit.IONetworkingFamily3.2com.apple.driver.corecapture1.0.4com.apple.iokit.IOAHCIFamily2.8.0com.apple.driver.usb.AppleUSBXHCIPCI1.0.1com.apple.driver.usb.AppleUSBXHCI1.0.1com.apple.iokit.IOUSBFamily900.4.1com.apple.iokit.IOUSBHostFamily1.0.1com.apple.driver.AppleUSBHostMergeProperties1.0.1com.apple.driver.AppleEFINVRAM2.0com.apple.driver.AppleEFIRuntime2.0com.apple.iokit.IOHIDFamily2.0.0com.apple.iokit.IOSMBusFamily1.1com.apple.security.sandbox300.0com.apple.kext.AppleMatch1.0.0d1com.apple.driver.AppleKeyStore2com.apple.driver.AppleMobileFileIntegrity1.0.5com.apple.driver.AppleCredentialManager1.0com.apple.driver.DiskImages414com.apple.iokit.IOStorageFamily2.1com.apple.iokit.IOReportFamily31com.apple.driver.AppleFDEKeyStore28.30com.apple.driver.AppleACPIPlatform4.0com.apple.iokit.IOPCIFamily2.9com.apple.iokit.IOACPIFamily1.4com.apple.kec.Libm1com.apple.kec.pthread1com.apple.kec.corecrypto1.0Model: MacBookPro9,2, BootROM MBP91.00D3.B0B, 2 processors, Intel Core i7, 2,9 GHz, 8 GB, SMC 2.2f41Graphics: Intel HD Graphics 4000, Intel HD Graphics 4000, Built-InMemory Module: BANK 0/DIMM0, 4 GB, DDR3, 1600 MHz, 0x80AD, 0x484D54333531533643465238432D50422020Memory Module: BANK 1/DIMM0, 4 GB, DDR3, 1600 MHz, 0x80AD, 0x484D54333531533643465238432D50422020AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0xF5), Broadcom BCM43xx 1.0 (7.21.94.25.1a3)Bluetooth: Version 4.4.0f4 16320, 3 services, 27 devices, 1 incoming serial portsNetwork Service: Wi-Fi, AirPort, en1Serial ATA Device: APPLE HDD HTS541075A9E682, 750,16 GBSerial ATA Device: MATSHITADVD-R UJ-8A8USB Device: USB 2.0 BusUSB Device: HubUSB Device: FaceTime HD Camera (Built-in)USB Device: USB 2.0 BusUSB Device: HubUSB Device: HubUSB Device: Apple Internal Keyboard / TrackpadUSB Device: IR ReceiverUSB Device: BRCM20702 HubUSB Device: Bluetooth USB Host ControllerUSB Device: USB 3.0 BusThunderbolt Bus: MacBook Pro, Apple Inc., 25.1 2ff7e9595c


0 views0 comments

Recent Posts

See All

Comments


bottom of page