Jump to content


  • Content Count

  • Joined

  • Last visited

Everything posted by shilohhh

  1. shilohhh


    Version 1.3


    This is a simple Applescript app that will back up the AppleGraphicsControl.kex to your desktop in a folder called KextBackUp. It will then patch the /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/Contents/Info.plist and change "Config1" to "none" for the MacPro6,1 board ID. This ensures that your GPU will not be effected by the MacPro6,1's AMD FirePro device policy that causes your GPU not to send a signal to your monitor at boot. This app is only useful if you are using the MacPro6,1 system definition. Credit to PikeRAlpha: https://pikeralpha.wordpress.com/2014/05/01/os-x-mavericks-10-9-3-build-13d55-seeded/
  2. shilohhh


  3. shilohhh


  4. shilohhh


    Version 3


    I wrote this simple AppleScript app a while back. Use it as a work around for USB drives that get force ejected at sleep. SafeSleeper will properly eject all USB drives and put the computer to sleep. It will detect and warn you if a network connection like File Sharing is preventing sleep and when you wake the machine, all your USB drives will remount themselves. SafeSleeper will save you from possibly corrupting data and you'll never see that annoying message again when you wake your system. Disable Auto Sleep in System Preferences. Place SafeSleeper in you Applications folder and add it to your Dock for easy access. Double click to sleep.
  5. Using a DSDT that was extracted on a different build with different devices installed, may not work on your system even if you have an identical motherboard and BIOS. If you still would like to try a DSDT edited and extracted by another, rampagedev is the best place to get it. The DSDT edits in this guide are specifically for the Asus Rampage IV Extreme - Socket 2011 - X79 Motherboard, but some may work on similar systems. This guide will walk you through extracting and editing a DSDT from your specific RIVE build using DSDTSE v2 beta. Before We Start A DSDT is a translation of your system's BIOS so: 1) Make sure you are updated to the BIOS you want to extract the DSDT from and set up your BIOS completely and correctly for your system. 2) Make sure you have all your PCI devices installed in the locations you want them before you continue. 3) Remove DSDT.aml from /Extra, if present, or reboot using the "DSDT=No" boot flag. Getting Started Download and open DSDTSE V2 Beta and my list of patches. files.osx86.net/downloads.php?do=file&id=3099&act=down&actionhash=guest http://www.insanelymac.com/forum/index.php?app=core&module=attach&section=attach&attach_id=121230 On the main pane, click "Extract DSDT". Your DSDT will be extracted from your active BIOS in a "Decompiled" window. Click compile. You will be presented with a "Compile error" window. Click "OK". An "Error" window will open showing you all the current errors, warnings, and remarks. Note there are lots of errors. Close the window. Click "Fixcompile". The DSDT should compile successfully and another "Code" window will open. In the "Code" window, note that the DSDT's errors have all been fixed except for one warning. Close the "Code" window. Patching Open my list of DSDT Patches and lets start patching. 1) Add Method DTGP: Copy "Method DTGP" from the list. Click on the right side of the " { " that follows the "DefinitionBlock". Hit the Right Arrow key. The cursor should be at the very start of the next line. Hit enter to make a space. Use the Up-Arrow key to move the cursor up to that space. Paste in "Method DTGP" there. You can change "Name (TMAC, "R4E 3404")" to read whatever you'd like it to. Example: Name (TMAC, "BIG BOB'S BIG DSDT"). I've only added this so I can see what version I've opened for future editing. Click "Fix Compile". 2) Cleaning up unnecessary stuff: Note: This one is not necessary and adds no functionality. Scroll down to Name (OSVR, Ones). Comment out the OS's. Also see example in my list of DSDT patches. Click "Fix Compile". 3) Fix the SIOS Warning: Copy "SIOS Warning" fix. Type "sios" in the search window and click search. Scroll to the bottom of the method and add a space right before the last " } " . Paste the fix in that space. Click "Fixcompile". Note that the last warning is no longer present in the "Code" widow that opens. 4) Get the LPC controller to load and use native OS X kexts: Copy the Device (SBRG) fix from the list. Search for "sbrg". Move the "Decompiled" window over to the left side of your screen so that the left side of the window is cut off right at the edge of the D in "Device (SBRG)". Scroll down until you find the " } " that lines up the the same spot as the D from "Device (SBRG)". This is where SBRG's sub device chain ends. Move the window back over so you can see all of the left side again. Select from right side of the " } " that you found, all the to the left edge. Paste over it with the Device (SBRG) fix from the list. Click "Fixcompile". 5) Remove dedicated IRQs from devices to later give them to the High Precision Event Timer: Type "IRQNoFlags ()" without the " " into the search box. Click "Next". The first match will be in "Device (PIC)". Select from the right edge of "{2}" below it, all the way up to the far left edge of "IRQNoFlags ()". Hit Delete. Click next again. It should now find "{0}" in "Device (TMR)". Delete it. Click next. You should now find "{8}" in "Device (RTC0). Delete it. Click next. You should find "{13}" in "Device (COPR)". Leave this one alone. Click "Next". Continue the same process and delete all the "{1}"s from "Device (PS2K)". Delete all the "{12}"s from "Device (PS2M)". Note: If you are using a PS2 mouse or keyboard, you may need to find different IRQ values to use instead of {1} and {12}. 6) Give Device (HPET) 4 dedicated IRQ values to use so it doesn't try to steal any from USB: Search "hpet" and paste in fix -as in my example on the list. Click "Fixcompile". 7) Add sub-device "Device (BUS0)" to "Device (SMB)" to load native SMBus kexts: Search "Device (SMB)" and paste in fix over the last " } " before the next device. Also see my example on the list. "Fixcompile". 8) Add Device (HDEF) to the end of Device (PCI0) to enable onboard audio with the "Interim IvyBridge" kext from Toleda: Search "Device (PCI0)". Find the end of the device chain the same way we did in the "Device (SBRG)" fix. It's a LONG ways down. For me, the PCI0 device chain starts at line 1670 and ends at line 6286. Paste the fix over the last " } " in the device chain. "Fixcompile". 9) Add AAPL,clock-id 2 to PEX1-4 to allow sleep (SleepEnabler.kext is necessary) while USB 3.0 storage is plugged in: Search "Device (PEX" and hit next until you find "Device (PEX1)". Paste patch in between "Name" and "OperationRegion". Repeat for "Device (PEX2)", "Device (PEX3)", and "Device (PEX4)". Fixcompile. Note: Any drives plugged into USB 3 ports will be force ejected upon wake. They will then automatically remount. This may be solved in the future with more USB 3.0 support from Apple. Fixcompile. Finishing Up Click on the "Compile" tab to get into the compile section. Check the "Autofix errors" box and the "Fixes report" box. Click the "Compile" button. Click the "Gimme my DSDT" button. A finder window will open containing your edited DSDT. It will be named "DSDT.aml". Drag "DSDT.aml" into your "/Extra" folder. Delete or overwrite the old DSDT.aml if one is present. If you haven't installed a boot loader yet, and don't have an "/Extra" folder, place "DSDT.aml" in /Extra after you've installed a boot loader. Verification On the "Main Pane", in the second box, under "Registry Info", click "Get". This will open IORegistryExplorer and show you all the devices loaded and information about them. 1) In the search box of the newly opened IOReg window, enter "hpet". With HPET selected on the left twirl open the disclosure triangle for "IOInteruptSpecifiers". In the "Values" column, the first pair of numbers (they are displayed as Hexadecimals and you will need to convert them to decimal using something like HexDecBin.app) -are the IRQs that HPET is using. You should have, 0c (12), 08, 02, and 01. 2) Find "SBRG" and note that AppleLPC shows up as a sub-device and that it has the native OS X driver loaded. 3) Find "SMB". Note that the device we added, "BUS0", shows up in the device tree and it is using the native OS X driver. 4) At "EUSB" and "USBE", you should see the"AAPL,clock-id" we added. 5) At "PEX1", "PEX2", "PEX3", and "PEX4", you should see the"AAPL,clock-id" we added. 6) Note that "HDEF" should now be present and loaded. Shilohhs_R4E_DSDT_Patches 2.rtf.zip Interim_898_Lion_AppleHDA.zip
  6. shilohhh


    I've been following that thread. I plan on experimenting with the method and writing a new version of this app that will write the appropriate values into the plist for fakesmc when I can find time.
  7. shilohhh


    Set the proper options in clover's config.
  8. That's a bummer. I was hoping to see how everything was loading in ioreg.
  9. T Thanks, I'll DL and have a look later tonight.
  10. If you don't mind, your entire clover folder from the EFI partition. I've already downloaded all the posted files from this thread to compare with. My thinking thus far is that the structure of the PCI devices in the ACPI tables may be conflicting with OS X.
  11. I've had a look at the X99 ACPI tables and they are huge! I don't own any X99 hardware so I can't really do any testing. It would be awesome if you could post a .ioreg file from ioregistryexplorer v2.1 and a Darwin dump of your system while running el cap (functional).
  12. shilohhh


    Open your RampageDev SSDT or DSDT in MaciASL. Search for GFX0. Replace GFX0 with GFX1. Then you won't even need this app any more.
  13. I understand how you feel and I can't tell you what you should or shouldn't do. I just wanted to share my perspective.
  14. I don't have a horse in this race but I personally don't want to see this guy on eBay reap any profit. It goes against what built this community. If he didn't have clover, he'd be nowhere! And now he doesn't want to freely share the small piece of the puzzle that he has??? If it wasn't for countless people freely sharing the benefits of their hard work, we wouldn't have the tools we have today. I doubt there is any 1 person in the community that could create everything that we have in clover or chameleon on their own. Everything that we rely on to run OS X on our non-Apple hardware was built by colaborative efforts and the knowledge of many. It has been shared free of charge in the spirtit that makes this community worth loving and participating in. If people start making a profit installing OS X on non-Apple hardware, it makes our community a target for Apple. This eBay seller is also in clear violation of Clover's licence agreement by selling a product based on it's functionality. Should members of this community reward such a person? It's really none of my business what y'all do but that's my two cents.
  15. I dont have the hardware to test but If you want to give it a go, try the attached SSDT to avoid 10.11's USB2 nightmare. Put it in EFI/CLOVER/acpi/patched for your USB installer and your boot drive. I'm working on other X99 ACPI stuff too, if you want to test? SSDT-8.aml.zip
  16. Has anyone here tried: <key>FakeCPUID</key> <string>0x0306E4</string> ?
  17. I know that Mac Pros have no IGPUs but you might still be able to use the device if OX S isn't doing something strange to it based on the sys def. But probably not as the cards I had named PXS1 and 2 got disabled. I was just curios if your IGPU worked or would work if you kept the name IGPU. Technically 2 GPUs named GFX1 are still unique because of their device path. IE: GPU #1 _SB.PCI0.NPE3.GFX1 and GPU #2 _SB.PCI0.NPE7.GFX1. However, OS X should do whatever it's supposed to do to GFX1 to both cards because of their name at the end. I have a Titan X and a GTX 980 both named GFX1 that both work as they should. Hot plugging monitors and swapping ports, multiple displays on either or both cards and you can choose which monitor has the doc and menu bar in system prefs. I don't think you should name a IGPU as GFX because they share system memory and discrete don't. I am also curious why you prefer MacPro6,1 instead of iMac13,2 which has more similar hardware to your system (IvyBridge CPU, integrated + discrete graphics)?
  18. Can someone tell me if there is a way to see the result of clover's info.plist patch? I open the info.plist file after applying the patch but the plist appears unmodified. I'm guessing that clover sends the modified information to the kext cache at boot time but is there any way to proof the changes that clover has made?
  19. shilohhh

    Clover kext info.plist patch

    New note: You can change your GPU's name to GFX1 in your ACPI tables to avoid this problem all together. This also works for multiple graphics cards. Name the all to GFX1 at their individual locations in ACPI. I use SSDTs. The attached SSDTs are for Ausus R4BE and R4E X79 motherboards but can be used as examples for other systems. Nvidia Maxwell (5port) HDMI GPU SSDT.zip
  20. The MacPro6,1 kexts must be doing something tricky under the hood. Even though the plist declares "GFX1" "unload", it seems that GFX1 remains the functional device and GFX2 is dead after OS X loads on a hackintosh. Maybe something to do with "Device (GCON)" in the OEM DSDT. I'm no coder so I don't know. The usual school of thought says, give all individual devices unique names IE: GPU # 1 = GFX1 GPU # 2 = GFX2 etc etc, but naming multiple GPUs GFX1 works! If you have multiple discrete GPUs, use GFX1 in ACPI for all GPUs and they will all work. No kext binary patch or plist edit necessary. If you name discrete GPU to GFX1 and leave the IGPU name alone, does the integrated graphics still work? I don't have a system with integrated graphics to test.
  21. Instead of patching the plist you can name your GPU to GFX1 in the ACPI tables. NOTE: if you have multiple GPUs you must name them all GFX1. Any other name and they will lose signal when OS X finishes loading. SSDT EXMPLE: /* * Intel ACPI Component Architecture * AML Disassembler version 20100331 * * Disassembly of iASLr2CDEx.aml, Tue Jan 12 23:12:42 2016 * * * Original Table Header: * Signature "SSDT" * Length 0x00000177 (375) * Revision 0x01 * Checksum 0xDA * OEM ID "shiloh" * OEM Table ID "GPU-1" * OEM Revision 0x00001000 (4096) * Compiler ID "INTL" * Compiler Version 0x20100331 (537920305) */ DefinitionBlock ("iASLr2CDEx.aml", "SSDT", 1, "shiloh", "GPU-1", 0x00001000) { Device (_SB.PCI0.NPE3.GFX1) { Name (_ADR, Zero) Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x10) { "AAPL,slot-name", Buffer (0x0B) { "PCIE_X16_1" }, "@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 }, "hda-gfx", Buffer (0x0A) { "onboard-1" } }) } } Device (_SB.PCI0.NPE3.HDAU) { Name (_ADR, One) Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "hda-gfx", Buffer (0x0A) { "onboard-1" } }) } } }
  22. I tried the bin patch and no matter what I do, 1 of my 2 nvidia maxwell card has no signal after booting. It's not predictable which one will work. When I change config1 to none in the plist everything works flawlessly. I will keep using my AGDPfix app to autopatch the plist after updates. http://www.insanelymac.com/forum/files/file/424-agdpfix/ EDIT: Even though the plist declares "GFX1" "unload", it seems that GFX1 remains the functional device and GFX2 is dead after OS X loads on a hackintosh. The usual school of thought says, give all individual devices unique names IE: GPU # 1 = GFX1 GPU # 2 = GFX2 etc etc, but naming multiple GPUs GFX1 works! If you have multiple discrete GPUs, use GFX1 in ACPI for all GPUs and they will all work. No kext binary patch or plist edit necessary. The attached SSDTs are for Asus Rampage IV Black Edition and Extreme motherboards (maybe other X79 boards too but you'll need to verify your device paths). You could also just use them for examples. Nvidia Maxwell (5port) HDMI GPU SSDT.zip
  23. Anyone better educated than me, please feel free to correct me. Because I use Nvidia, I named my GPUs PXS1/2 instead of GFX1/2 in my SSDTs to avoid OS X calling to the very unique and specific Real MacPro6,1 AMD GPUs (which don't exist on our X79 machines and neither does a integrated GPU like plain IvyBridge). There is no ACPI code for GPUs (that I can find) in Asus OEM X79 ACPI tables because there is no integrated GPU. In the real Mac Pro, GFX1 is unloaded and used for processing power only. Displays are plugged into GFX2. If you really want to match ACPI names you'd change NPE3 to GFXB and name the Nvidia GPU GFX2. Same as the real mac pro ACPI tables. However, I don't think you want OS X treating your Nvidia GPU like the AMD card from the Mac Pro. For installing and recovery boot I've always just used nv_disable=1 or you could probably just change MacPro6,1 to MacPro5,1 in the smbios section of the clover GUI for that one boot operation. EDIT: Even though the plist declares "GFX1" "unload", it seems that GFX1 remains the functional device and GFX2 is dead after OS X loads on a hackintosh. The usual school of thought says, give all individual devices unique names IE: GPU # 1 = GFX1 GPU # 2 = GFX2 etc etc, but naming multiple GPUs GFX1 works! If you have multiple discrete GPUs, use GFX1 in ACPI for all GPUs and they will all work. No kext binary patch or plist edit necessary.