mfc88 Posted April 4, 2017 Share Posted April 4, 2017 Some notes about GPU injection... - If your GPU's "NVDA,Display-{letter}@{address}" (for example, if yours is at NVDA,Display-C@2) is missing a connector value, then you may get weird graphical glitches. I experienced this when I tried to plug in a HDMI cable. My screen would flicker/show graphical artifacts (didn't happen when I used DP without a connector value). So, we inject all "NVDA,Displays" (A@0-F@5) with connector values of 0x0800. Found from another source (higher values support everything below it (or above it in how it's laid out below), therefore 0x800 would support all connector types): 0x04 => 0x04, 0x00, 0x00, 0x00 => DualLink-DVI 0x200 => 0x00, 0x02, 0x00, 0x00 => SingleLink-DVI 0x400 => 0x00, 0x04, 0x00, 0x00 => (mini)DisplayPort 0x800 => 0x00, 0x08, 0x00 0x00 => HDMI - If you're missing a "hda-gfx" value at your GPU's ACPI location (BR3A@GFX1, PEG0@GFX1, POP2@GFX0...and so on), then it appears you won't get "nvAcceleration" and/or GPU recognition - If you're missing a "hda-gfx" value at your GPU audio's ACPI location (BR3A@HDAU, PEG0@HDAU, POP2@HDAU...etc), then it appears you won't get sound via Display Port/HDMI - If you're missing a "device-id" OR "layout-id" value at your GPU audio's ACPI location (BR3A@HDAU, PEG0@HDAU, POP2@HDAU...etc), then it appears you won't get sound via HDMI only (not req'd for Display Port) - Apple OEM SSDTs just inject a _DSM method with "hda-gfx" - "onboard-2" at both the external GPU and external GPU audio ACPI locations. However, it appears some internal GPUs (iGPU) ACPI locations will need "hda-gfx" - "onboard-1" for cross-talk between Integrated Graphics and HD Audio. As far injecting an Evga Titan X via SSDT, this is all I need to inject to get everything working (GPU recognition, GPU acceleration, and GPU sound recognition via DP/HDMI): DefinitionBlock ("", "SSDT", 1, "mfc88", "GFX1", 0x00000000) { Device (_SB.PCI0.BR3A.GFX1) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package () { "hda-gfx", Buffer (0x0A) { "onboard-2" }, "@0,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@1,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@2,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@3,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@4,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@5,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 } }) } } Device (_SB.PCI0.BR3A.HDAU) { Name (_ADR, One) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package () { "hda-gfx", Buffer (0x0A) { "onboard-2" }, "device-id", Buffer (0x04) { 0xB0, 0x0F, 0x00, 0x00 } }) } } Name (_SB.PCI0.BR3A.H000._STA, Zero) // _STA: Status Name (_SB.PCI0.BR3A.H001._STA, Zero) // _STA: Status Name (_SB.PCI0.BR3A.D07C._STA, Zero) // _STA: Status } 2 Link to comment Share on other sites More sharing options...
jacoweb Posted April 4, 2017 Share Posted April 4, 2017 Hmmm, strange. The GPU injection should have worked. I'll have to see your IOReg. In the meantime, I've done some edits. Try the attached GFX1.aml below first, and if that doesn't work, then try attached BR3A.aml below (test each with the DSDT.aml from "patched.zip"). I got your fixes working now, i forgot to use the DSDT from your patched zip. But still not showing the thunderbolt in system pref. Here is attached ioreg and EFI. efi_ioreg.zip Link to comment Share on other sites More sharing options...
mfc88 Posted April 4, 2017 Share Posted April 4, 2017 I got your fixes working now, i forgot to use the DSDT from your patched zip. But still not showing the thunderbolt in system pref. Here is attached ioreg and EFI. Try the SSDT from Chivs or this one Link to comment Share on other sites More sharing options...
jacoweb Posted April 4, 2017 Share Posted April 4, 2017 Try the SSDT from Chivs or this one shows in pci section now but Thunderbolt: No drivers are loaded. oh.. it will maybe not show up there? Link to comment Share on other sites More sharing options...
mfc88 Posted April 4, 2017 Share Posted April 4, 2017 shows in pci section now but Thunderbolt: No drivers are loaded. Unfortunately, out of ideas. I don't have any Thunderbolt ports in my setup, so I can't test. Link to comment Share on other sites More sharing options...
jacoweb Posted April 5, 2017 Share Posted April 5, 2017 Unfortunately, out of ideas. I don't have any Thunderbolt ports in my setup, so I can't test. I see, no problem 1 Link to comment Share on other sites More sharing options...
apfelnico Posted April 6, 2017 Share Posted April 6, 2017 I write "builtin", but it comes out "ethernet". How can I fix this? 1 Link to comment Share on other sites More sharing options...
mfc88 Posted April 7, 2017 Share Posted April 7, 2017 I write "builtin", but it comes out "ethernet". How can I fix this? You mean this... 1 Link to comment Share on other sites More sharing options...
apfelnico Posted April 7, 2017 Share Posted April 7, 2017 Yes exactly. Why is this so fixed - and how can I change that? Link to comment Share on other sites More sharing options...
mfc88 Posted April 7, 2017 Share Posted April 7, 2017 Yes exactly. Why is this so fixed - and how can I change that? 1. Find NVME ACPI Path (SB.PCI0.XXXX.XXXX) ==> for example, (BR1B.H000) 2. Find device tree (SB.PCI0.XXXX) ==> for example, (BR1B) 3. Find any D0xx devices located at bottom of the device tree (BR1B) --- open your DSDT.aml (while at Clover Boot Manager screen, press F4, wait 5 seconds, then boot into OS-- mount primary drive, find the DSDT.aml in: EFI->CLOVER->ACPI->origin, open with MaciASL, and search for device tree (BR1B), stop when you've hit the "Device (XXXX)", click it to update the left side, then on the left, scroll down and look at the bottom of the device tree ==> for example, D075 and D081 4. Set (a scope to) NVME ACPI path and the D0xx paths to a status of 0 (which removes them) 5. Set a scope to the device tree (SB.PCI0.XXXX) (BR1B) 6. Create a new device (NVME) to replace the NVME APCI path (instead of BR1B.H000 it becomes BR1B.NVME) 7. Add a _DSM method with return properties (now you can inject AAPL,slot-name) *Note - I'm using a spoofed class code, you can probably ignore that if you're not using Rehabman's HackrNVMeFamily.kext My ssdtGen script now will do this for you! DefinitionBlock ("", "SSDT", 2, "hack", "NVMe-Pcc", 0x00000000) { External (_SB_.PCI0.BR1B, DeviceObj) // (from opcode) External (_SB_.PCI0.BR1B.H000, DeviceObj) // (from opcode) External (_SB_.PCI0.BR1B.D075, DeviceObj) // (from opcode) External (_SB_.PCI0.BR1B.D081, DeviceObj) // (from opcode) Scope (\_SB.PCI0.BR1B.H000) { Name (_STA, Zero) // _STA: Status } Scope (\_SB.PCI0.BR1B.D075) { Name (_STA, Zero) // _STA: Status } Scope (\_SB.PCI0.BR1B.D081) { Name (_STA, Zero) // _STA: Status } Scope (\_SB.PCI0.BR1B) { Device (NVME) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LNot (Arg2)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x0A) { "AAPL,slot-name", Buffer (0x09) { "Built In" }, "model", Buffer (0x10) { "NVMe Controller" }, "name", Buffer (0x10) { "NVMe Controller" }, "class-code", Buffer (0x04) { 0xFF, 0x08, 0x01, 0x00 }, "built-in", Buffer (One) { 0x00 } }) } } } } 2 Link to comment Share on other sites More sharing options...
Chivs Posted April 7, 2017 Share Posted April 7, 2017 I see, no problem I don't think anyone has managed to get Thunderbolt to show up correctly in System Prefs. I played around with injecting all the device properties from a Macbookpro13,2 and it didn't have any effect. The best I can get is to have Thunderbolt show up under PCI. I'm messing around with a Z270X motherboard which has the same TB chipset as the latest MacBook Pro's (the X99's use an older chipset from 2015) so we'll see if that is any different. Right now I'm just stoked that my USB 3.1 ports (Type-A and Type-C) both work at 10Gb speed and sleep/wake correctly via the ssdt I posted. I did tweak it a little bit more with correct device properties, so it's attached here. SSDT-BR1B.aml.zip 1 Link to comment Share on other sites More sharing options...
jacoweb Posted April 7, 2017 Share Posted April 7, 2017 I don't think anyone has managed to get Thunderbolt to show up correctly in System Prefs. I played around with injecting all the device properties from a Macbookpro13,2 and it didn't have any effect. The best I can get is to have Thunderbolt show up under PCI. I'm messing around with a Z270X motherboard which has the same TB chipset as the latest MacBook Pro's (the X99's use an older chipset from 2015) so we'll see if that is any different. Right now I'm just stoked that my USB 3.1 ports (Type-A and Type-C) both work at 10Gb speed and sleep/wake correctly via the ssdt I posted. I did tweak it a little bit more with correct device properties, so it's attached here. ah i see. Maybe someone will find a workarround soon. I can see my devices in the PCI section, and now it works to power on the soundcard when i got logged in to osx. Before i needed to turn on the card before i boot osx. Link to comment Share on other sites More sharing options...
mfc88 Posted April 8, 2017 Share Posted April 8, 2017 ssdtGen updated to 0.0.9beta ssdtGen changelog 0.0.9b: ✓ Removed SSDT-EVMR (Intel SPSR controller) -- not needed nor supported/updated by Intel ✓ Refactored SSDT-SMBS to include Apple "mikey" driver (thanks to Mald0n's DSDTs) ✓ All devices will now show up in System Report's "PCI" tab (thanks to Fergarth for reporting missing PCI devices) ✓ Adjusted SSDT-GFX1 to only inject necessary properties (removed any superfluous properties) ✓ Found and fixed that SSDT-GFX1 (GPU) injection can fail due to a missing HDAU "PinConfiguration" property @Fergarth -- A missing PinConfiguration property was the likely culprit for your GPU injection failing. If you decide to try again, it should work now. 2 Link to comment Share on other sites More sharing options...
Balamut Posted April 8, 2017 Share Posted April 8, 2017 Hey guys, is there a reason that my IMEI controller under PCI says Drivers Installed: No? 1 Link to comment Share on other sites More sharing options...
mfc88 Posted April 8, 2017 Share Posted April 8, 2017 Hey guys, is there a reason that my IMEI controller under PCI says Drivers Installed: No? Wrong "device-id" and/or wrong "compatible" injected. I've found IOReg shows an incorrect value. Some motherboards use this: "device-id" - 0x3A, 0x1E, 0x00, 0x00 "compatible" - "pci8086,1e3a" Regardless of what IOReg displays: "IOName" - "pci8086,8d3a" 2 Link to comment Share on other sites More sharing options...
mfc88 Posted April 8, 2017 Share Posted April 8, 2017 ssdtGen updated to 0.1.0beta ssdtGen changelog 0.1.0b: ✓ Added initial support for z170 motherboards!!! ✓ Updated help section for X99/z170 SSDT names ✓ Removed the superfluous .dsl header notes 2 Link to comment Share on other sites More sharing options...
mfc88 Posted April 9, 2017 Share Posted April 9, 2017 ssdtGen updated to 0.1.1beta ssdtGen changelog 0.1.1b: ✓ Forced a temporary Terminal window resize for optimal viewing (102x30) ✓ Added initial support for a building a single SSDT for a NVME device† ✓ Updated help section for NVME SSDT building ✓ Refactored the commands to be more user-friendly and declarative † At the moment, it does not support incomplete ACPI tables -- only works in conjunction with a spoofed HackrNVMeFamily-10_xx_x.kext Link to comment Share on other sites More sharing options...
MaLd0n Posted April 9, 2017 Share Posted April 9, 2017 Man, i think u need open topic here http://www.insanelymac.com/forum/forum/157-new-releases-and-updates/ or here http://www.insanelymac.com/forum/forum/73-developers-corner/ 1 Link to comment Share on other sites More sharing options...
mfc88 Posted April 9, 2017 Share Posted April 9, 2017 Man, i think u need open topic here http://www.insanelymac.com/forum/forum/157-new-releases-and-updates/ or here http://www.insanelymac.com/forum/forum/73-developers-corner/ Definitely. As soon as it becomes a "stable" version, I'll release it to a wider audience. Link to comment Share on other sites More sharing options...
MaLd0n Posted April 9, 2017 Share Posted April 9, 2017 There you will have the help needed, many users will test. Think about it Link to comment Share on other sites More sharing options...
chemary85 Posted April 9, 2017 Share Posted April 9, 2017 Good Night, finally i fixed my X99, but have tree little problems: 1. Wifi turn on-off-on auto and finally off after a few seconds, i have an original Broadcom BCM4360CD (0x14E4, 0x111), bluetooth works fine. 2. My Ram speed is 2400Mhz, but only catchs 2133 DDR4, I tested with CloverConfig with XMP Auto, 1 and 2, same result. 3. Why my PCI devices, don't appears in System Report? It shows error only. Thanks un advace. Link to comment Share on other sites More sharing options...
Fljagd Posted April 9, 2017 Share Posted April 9, 2017 Good Night, finally i fixed my X99, but have tree little problems: 1. Wifi turn on-off-on auto and finally off after a few seconds, i have an original Broadcom BCM4360CD (0x14E4, 0x111), bluetooth works fine. 2. My Ram speed is 2400Mhz, but only catchs 2133 DDR4, I tested with CloverConfig with XMP Auto, 1 and 2, same result. 3. Why my PCI devices, don't appears in System Report? It shows error only. Thanks un advace. hi 2-Update your bios 3- To make your DSDT Link to comment Share on other sites More sharing options...
chemary85 Posted April 9, 2017 Share Posted April 9, 2017 hi 2-Update your bios 3- To make your DSDT Hi, my bios is updated to last bios F22K I did my DSDT, but don't know if i fixed PCI devices. I post my ACPI and config.plist if you want to get an eye. Thanks! ACPI:config.zip Link to comment Share on other sites More sharing options...
MaLd0n Posted April 9, 2017 Share Posted April 9, 2017 try DSDT.chemary85.zip without ioreg, but try dont need SSDTs, only SSDT pike for PM, the rest is rest Credits, all patches is there 2008/2012, just update IDs http://www.insanelymac.com/forum/topic/192518-dsdt-fixes-for-gigabyte-boards/ http://www.insanelymac.com/forum/topic/188920-master-chiefs-p5k-pro-acpi-warfare/?do=findComment&comment=1280888 http://www.insanelymac.com/forum/topic/235523-dsdt-auto-patcher/ http://olarila.com/forum/viewtopic.php?f=19&t=385 But just a cosmetic Enjoy! 2 Link to comment Share on other sites More sharing options...
chemary85 Posted April 9, 2017 Share Posted April 9, 2017 try DSDT.chemary85.zip without ioreg, but try dont need SSDTs, only SSDT pike for PM, the rest is rest Credits, all patches is there 2008/2012, just update IDs http://www.insanelymac.com/forum/topic/192518-dsdt-fixes-for-gigabyte-boards/ http://www.insanelymac.com/forum/topic/188920-master-chiefs-p5k-pro-acpi-warfare/?do=findComment&comment=1280888 http://www.insanelymac.com/forum/topic/235523-dsdt-auto-patcher/ http://olarila.com/forum/viewtopic.php?f=19&t=385 But just a cosmetic 01.png Enjoy! LOL, thanks so much!! i Will try it! Awesome! 2 Link to comment Share on other sites More sharing options...
Recommended Posts