Jump to content


  • Content Count

  • Joined

  • Last visited

Everything posted by Austere.J

  1. Hi all! I made a new Lilu plugin which unlocks the Night Shift function for all Macs. Those who use an unsupported SMBIOS no longer need to modify and re-codesign the CoreBrightness binary manually. Requirement: macOS Sierra 10.12.4+ and Lilu 1.2.0+ Currently Supported OS: macOS Sierra, macOS High Sierra Source & Downloads: Github Screenshot: Enjoy!
  2. Austere.J

    [pre-release] macOS Mojave

    I have a Broadwell notebook with HD5500, but I haven't tried to install 10.14 yet. The new patch should be working. Could you please attach a screen shot of the kernel panic?
  3. Austere.J

    [pre-release] macOS Mojave

    You need to remove the old patch. Try to inject a fake ig-platform-id with the new DVMT patch to boot the installer.
  4. Austere.J

    [pre-release] macOS Mojave

    Really? AppleALC works for my ALC233 on macOS 10.14. Have you tried to boot with `-lilubeta` and `-alcbeta`?
  5. Austere.J

    [pre-release] macOS Mojave

    Yes, the previous patches no longer work. Here are the new patches for macOS 10.14 Beta 1 AppleIntelBDWGraphicsFramebuffer Find: 76 40 48 FF 05 A2 2A 06 Repl: EB 40 48 FF 05 A2 2A 06 AppleIntelSKLGraphicsFramebuffer Find: 76 40 48 FF 05 11 E5 07 Repl: EB 40 48 FF 05 11 E5 07 AppleIntelKBLGraphicsFramebuffer Find: 76 46 48 FF 05 BA 48 08 Repl: EB 46 48 FF 05 BA 48 08 config_BDW_SKL_KBL_DVMT_Patches.plist <key>KextsToPatch</key> <array> <dict> <key>Comment</key> <string>Disable minStolenSize check for 10.14 Beta 1 (by FireWoilf/Austere.J)</string> <key>Find</key> <data> dkBI/wWiKgY= </data> <key>MatchOS</key> <string>10.14.x</string> <key>Name</key> <string>com.apple.driver.AppleIntelBDWGraphicsFramebuffer</string> <key>Replace</key> <data> 60BI/wWiKgY= </data> </dict> <dict> <key>Comment</key> <string>Disable minStolenSize check for 10.14 Beta 1 (by FireWoilf/Austere.J)</string> <key>Find</key> <data> dkBI/wUR5Qc= </data> <key>MatchOS</key> <string>10.14.x</string> <key>Name</key> <string>com.apple.driver.AppleIntelSKLGraphicsFramebuffer</string> <key>Replace</key> <data> 60BI/wUR5Qc= </data> </dict> <dict> <key>Comment</key> <string>Disable minStolenSize check for 10.14 Beta 1 (by FireWoilf/Austere.J)</string> <key>Find</key> <data> dkZI/wW6SAg= </data> <key>MatchOS</key> <string>10.14.x</string> <key>Name</key> <string>com.apple.driver.AppleIntelKBLGraphicsFramebuffer</string> <key>Replace</key> <data> 60ZI/wW6SAg= </data> </dict> </array>
  6. A new version of Skylake integrated graphics driver was included in the latest OS X El Capitan 10.11.4 update. Some "restrictions" (checking pci ids of Broadwell's IGPUs) have been removed from the AppleIntelFramebufferController::start() method. So basically your Skylake's IGPUs could be working now. - Some Remarks Should you have kernel panic like minStolenSize <= fStolenMemorySize, you could avoid it by: Either (1) Applying the patch Name: AppleIntelSKLGraphicsFramebuffer Find 4139C476 Replace 4139C477 (Note that you should NOT use this patch if your DVMT pre-allocated memory in your BIOS settings is already >= 64MB) Or (2) Applying the patch (Thanks to Rehabman) Name: AppleIntelSKLGraphicsFramebuffer Find: 4139c4762a Replace: 4139c4eb2a or (3) you could modify the DVMT pre-allocated memory in your BIOS settings to 64MB or 96MB. (SUGGESTED) (Note that this method is suggested especially when you have a laptop with high resolution screen) Assertion failed: minStolenSize <= fStolenMemorySize I will keep updating this post. Looking forward to some successful cases. Cheers, FireWolf
  7. After several weeks' work with @lisai9093, now it's time to post a guide. GUIDE: Intel HD Graphics 5500 on OS X Yosemite 10.10.3 Before we get started: The basic idea to make Broadwell's integrated graphics card work does not change. If you have Intel HD Graphics 5300 or other IGPU models supported by AppleIntelBDWGraphicsFramebuffer.kext, you can try it by yourself. Brief Introduction: The basic idea to let Intel HD Graphics 5500 work is still injecting AAPL, ig-platform-id. However, Apple raised the minimum stolen memory in the AppleIntelBDWGraphicsFramebuffer binary of OS X Yosemite 10.10.3. Kernel panic will happen if the DVMT pre-allocated memory in BIOS settings is lower than 66MB. This is not a big deal for Desktop PCs users, because one can easily change the DVMT pre-allocated memory in BIOS. But this is catastrophic for laptop users, because (1) the default value of DVMT pre-allocated memory in most laptops BIOS is 32MB. (2) OEM will not unlock these advanced settings/menus for us. (3) We can try to modify BIOS but cannot pass the security check during flashing modified BIOS. Detailed Step-by-step guide: STEP 1: Check the current DVMT pre-allocated memory size. Open the Screen Resolution window, click the Advanced settings and check Dedicated Video Memory. After I played with changing DVMT pre-allocated memory in BIOS, the following pattern can be found. If Dedicated Video Memory = 0MB, then DVMT pre-allocated memory in BIOS settings is 32MB. If Dedicated Video Memory = 32MB, then DVMT pre-allocated memory in BIOS settings is 64MB. If Dedicated Video Memory = 64MB, then DVMT pre-allocated memory in BIOS settings is 96MB. If Dedicated Video Memory = 128MB, then DVMT pre-allocated memory in BIOS settings is 128MB. TABLES: Relationship between Dedicated Video Memory detected by OS and DVMT pre-allocated memory in BIOS settings. In general, if DVMT pre-allocated memory in BIOS settings is less or equal to 96MB, the StolenMemory that could be detected by OS is (DVMT - 32) MB. If DVMT pre-allocated memory in BIOS settings is larger or equal to 128MB, the StolenMemory that could be detected by OS is (DVMT) MB. (equal to the value of DVMT pre-allocated memory) Now let's come back to our main topic, Dedicated Video Memory >=64MB (i.e. DVMT pre-allocated memory >= 96MB) will pass the assertion/kernel panic. Note that OS X can not boot on some laptops if DVMT pre-allocated memory is >= 128MB. Therefore, if your current DVMT pre-allocated memory size <= 64MB (i.e. Dedicated Video Memory <= 32MB), you can either choose using our patch in STEP 2.1 or changing DVMT pre-allocated setting in STEP 2.2 STEP 2.1: Apply the patch to pass the Stolen Memory assertion. We need to patch AppleIntelBDWGraphicsFramebuffer binary file. Find 39CF763C and replace it with 39CF773C. After using this patch, in theory you don't have to change your BIOS settings. You can try to inject ig-platform-id and see what happens. If you encounter some problems, try to modify Framebuffer data in AppleIntelBDWGraphicsFramebuffer binary. Detailed information on Broadwell's framebuffer can be found on this page. STEP 2.2: Using EFI Shell to change DVMT settings in BIOS. (1) Prepare a bootable USB drive with EFI Shell Prepare a USB stick and format it with FAT32 filesystem. Download this EFI shell and you can find a folder named BOOT after extracting. Copy this BOOT folder to your USB stick. (2) Dump/Fetch a completed BIOS file. You can use specific BIOS utility to save a copy of your BIOS on Desktop. e.g. For AMI Aptio UEFI BIOS, you can use AMI BIOS Utility. (3) Extract BIOS Settings from a BIOS file. Download UEFITools from https://github.com/LongSoft/UEFITool/releases Open your BIOS file with UEFITools. Find the module labeled with Setup and extract the PE32 image section in this module as a binary file. Now, you will have a binary file on your Desktop. In my case, I name it Setup.bin. Next, download the Universal IFR Extractor (Windows version only) from http://donovan6000.blogspot.ca/2014/02/universal-ifr-extractor.html or from here: Universal IFR Extractor.exe. Open the Universal IFR Extractor in Windows, open the binary you just extracted from UEFITools and click Extract to save the BIOS settings in plain text format. Now open the extracted setup IFR.txt and find the keyword "DVMT". And you can find the variable representing DVMT pre-allocated memory and its values. In this case, DVMT pre-allocated memory's variable is 0x1C3. The value of 96MB is 0x3. Record these two values. Next, restart your computer and boot from the USB drive with EFI Shell. Here, we use setup_var command to change our BIOS settings. syntax: setup_var address value OK, now type the command in EFI shell. In this case, the command is setup_var 0x1C3 0x3. (Change the value of 0x1C3 to 0x3, which means changing the DVMT to 96MB.) After changing the DVMT pre-allocated memory, go back to Windows and double check whether your current Dedicated Video Memory is 64MB. (96 - 32 = 64MB) STEP 3: Injecting AAPL, ig-platform-id You can use either Clover or DSDT/SSDTs to inject AAPL, ig-platform-id. If you want to use Clover, let InjectIntel = True and ig-platform-id=0x16160002. If you want to use DSDT/SSDT to inject AAPL, ig-platform-id, 0x16160002 is working fine. Then open your DSDT, find Device (GFX0) or Device (IGPU) or Name (_ADR, 0x00020000) and add the Device-Specific Method. Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x08) { "device-id", Buffer (0x04) { 0x16, 0x16, 0x00, 0x00 }, "AAPL,ig-platform-id", Buffer (0x04) { 0x02, 0x00, 0x16, 0x16 }, "model", Buffer (0x17) { "Intel HD Graphics 5500" }, "hda-gfx", Buffer (0x0A) { "onboard-1" } }) } Place your DSDT in /EFI/Clover/ACPI/Patched/ Restart your computer and you will find Intel HD Graphics 5500 is working now. Some Issues you may encounter: (1) Garbled Screen Issue Enable Legacy Support in your BIOS settings. (2) Screen Freeze Issue (GPU hang and restart) Using FakeSMC 5.3.820 or other 5.x.xxx version will decrease the opportunity to freeze. (Note that please delete CPUSensors.kext from FakeSMC.kext if you get kernel panic related to CPUSensors.kext) Reference and Special Thanks: Thanks to Rehabman for his advice on garbled screen issue. Thanks to nguyenmac for his clues on freeze issue. Thanks to sontrg for his direction to BIOS modification. Thanks to Google for providing information. Thanks to the-darkvoid for his QHD+ Guide on HD4600.
  8. Austere.J

    AppleHDA for El Capitan discussion

    I tried to install OS X El Capitan on my PC and laptop, and so far everything seems to work fine. However, AppleHDA sound driver may become problematic on desktop. Brief hardware configurations: PC: i3-530/MSI H55M-P32/GTX460/RTL8111D/ALC888 Laptop: i3-380M/ASUS H55/AMD6370M/BCM4322/CX20585 I made a new patched driver based on native AppleHDA driver on 10.11 DB1, and my CX20585 works fine. However, when I tried to patch ALC888, I found that some codec ids such as 0x10EC0855 0x11D41984 are missing.(My bad) So it seems that AppleHDA binary has changed a lot. I reinstalled an old version (OS X 10.10.3) of AppleHDA.kext and ALC888 worked again. So is there anyone who make their desktop audio work properly by using 10.11 DB1's AppleHDA? Any suggestions? Thanks in advance. Update 1 @ 2015.06.10 OK, I solved my ALC888 audio issue. Apple added a new codec id 0x11D41983 in AppleHDA binary. If you are replacing 0x11D41984 with your codec id, please make sure that you disable 0x11D41983 codec. (Thanks to @lisai9093) You can either modify the binary by Hex Editor or use Clover's KextsToPatch. Name AppleHDA Find 8319D411 Replace 00000000 I modified toleda's audioALC script to support OS X 10.11 and I can confirm it works for ALC888 on OS X El Capitan. Update 2 @ 2015.06.15 new patch-hda script with OS X 10.11 supported: 41F by pokenguyen. new audio_RealtekALC script with OS X 10.11 supported: 42F by me. Note that Intel HD Graphics 4600 HDMI Audio in 10.11 is not supported by this script. I don't have HD4600 now so I cannot test whether the previous patch is still working. If you have HD4600, you can try it and post a feedback. Thanks in advance.
  9. Austere.J

    OS X El Capitan 10.11.4 is out!

    Verified. FireWolfs-MBP:~ FireWolf$ openssl sha /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/SharedSupport/InstallESD.dmg SHA(/Applications/Install OS X El Capitan.app/Contents/SharedSupport/InstallESD.dmg)= 613da28830600bcb40fdd012879869119b7899a9
  10. Got it. Really thanks for your sharing.
  11. Agreed. That's more secure. I choose to use the ja opcode since the direct jmp is a big instruction, and I am afraid of messing up the kernel panic part. Anyway, thanks a lot. I will update the post. Congrats! I assume that you are talking about the Intel HD Graphics 540, the successor of the Intel HD Graphics 6000.
  12. Apple only put the new IGPU drivers in the final release of 10.11.4. Nothing new in betas.
  13. Hmm, that's interesting. Thanks for your detailed feedback. Using Chameleon bootloader may be the issue, and I will check this. BTW, could you please tell me which tool you are using to check the current SIP settings?
  14. KCPM Utility Pro V5 ★ Install Kexts ★ Repair Permissions ★ Rebuild Caches ★ Configure SIP/BooterConfig and more Introduction: KCPM Utility Pro is a 6-in-1 system maintenance tool written in Swift that supports installing kexts, repairing permissions, rebuilding caches, configuring system integrity protection (SIP), setting up BooterConfig and more. And yes, it fully supports Apple’s latest OS X El Capitan. Supported Languages: English, Chinese Simplified, Chinese Traditional, Japanese (More languages are coming, please have a look at the Localization section below.) Supported OS X Version: OS X El Capitan (10.11.x) OS X Yosemite (10.10.x) (Unfortunately, OS X Mavericks is not supported by KCPM Utility Pro due to that some Swift methods are not available under OS X 10.9.x) Key Features: Install Kexts to /Library/Extensions. (*1) Install Kexts to /System/Library/Extensions. Install Kexts to /Extra/Extensions. Show Kexts version, path and more. Backup Kexts that will be replaced. (*2) Rebuild System and Kernel Caches. Repair Permissions of the whole system partition. (even under OS X El Capitan!!) Configure SIP (*5) and BooterConfig via either NVRAM (*3) or your bootloader configuration. (Clover & Chameleon supported) (*4) Install Command Line Tools that allow you easily maintain your OS X in Terminal/Single-user mode/OS X Recovery and more. Support Auto-Update. Support Real Macs, Hackintosh Builds (Clover, Chameleon, Ozmosis) Support Drag-N-Drop Function (Starting from V3.3) EZMode (*6) - Express Kexts Installation Mode that helps you install kexts, repair permissions and rebuild caches without your attendance. (Starting from V5.0) Support custom kexts backup folder. (Starting from V5.0) *1. It is recommended to install kernel extensions to /Library/Extensions under OS X El Capitan. *2. Default backup folder is ~/Desktop/FireWolf_Kexts_Backups/$time/. *3. It is required that NVRAM is supported on your builds. *4. The default icon will be changed to indicate which bootloader configuration you have selected. (See screenshots below) *5. Special Notes: Apple has blocked modifying restricted areas in NVRAM. You may no longer set new SIP value directly via NVRAM, BooterConfig is stilled supported though. *6. EZMode is disabled by default. You may enable it in the new preference panel of KCPM Utility Pro. When the EZMode is enabled, the normal “Select” and “Execute” buttons will be disabled automatically. Localization Support: This part will be updated soon. (I will upload the new localization strings.) Known Issues in V5.1: The status indicator may be reset if user switch to other tabs when a certain task is being executed. (e.g. Rebuilding Caches, Repairing Permissions.) However, the task would be still executed at the background and user will finally receive a task finished alert. Workaround: Do not switch to other tabs when an operation is being executed. Bugs Report: You are welcome to leave comments related to BUGS on my blog. Also feel free to ask questions if you are confused or encounter with problems. Sceenshots: Update Logs V5.1 @ 2016.02.20 PDT Add an option in the preference panel that allows you to silence the SIP->B1 warning at the startup of the program. (Note that even though you can silence this warning, if your SIP->B1 is still disabled, the “Install Kexts to /System/Library/Extensions” will remain greyed out, because that’s the security policy created by Apple in OS X El Capitan.) Fix some localization related issues. V5.0 @ 2016.02.19 PDT New EZMode function in the Kexts Installation interface. With EZMode enabled, now you only need to drag the kernel extensions and KCPM Utility Pro will help you install them, repair permissions, and rebuild caches without your involvement. Add a preference panel where you can select custom kexts backup folder and enable the new EZMode. Significantly improve user experience. KCPM Utility Pro will no longer be unresponsive. Significantly improve the efficiency of repairing permissions and rebuilding caches. Sparkle auto-updater framework updated to address security vulnerabilities. Significantly improve the error handling mechanism. Fix an issue that history folder is not saved after the program terminates. Significantly improve the security level of the entire program. Resolve an issue that some labels are not displayed correctly. Address an issue that kexts cannot be installed into non-root volumes properly. Installing kexts into /S/L/E will be automatically disabled when SIP->Allow unrestricted file system access is disabled. V3.3 @ 2015.11.01 23:00 PDT Fix an issue that application is not responding when user closes the window. Resolve an issue that duplicated kernel extensions are allowed in the list. Resolve an issue that “Select” button allows selecting any files. Resolve an issue that internal data failed to update when user deletes kernel extensions from the list. Fix an issue that backup folder is created even though no kernel extension needs backup. Rewrite the kexts backup method to improve efficiency. Add Drag-and-Drop function in the Kexts Installation interface. Now you can directly drag kernel extensions into KCPM Utility Pro V3.3. V3.2 @ 2015.10.17 18:00 PDT Resolve an issue that rebuilding caches may not function properly. Minor bugs fixed. Update the integrated RebuildCaches CLT to V1.4. Update the integrated RepairPermissions CLT to V2.1. V3.1 @ 2015.10.12 22:00 PDT Improve error handling when reading NVRAM. V3.0 @ 2015.10.12 18:00 PDT Initial Pro version release. Downloads All downloads are host on my blog. New updates can be downloaded via the built-in Auto-Update function. If you are unable to download the update, you could also find the latest version on the release page. Please redirect to KCPM Pro V5 Release Page >> Hope you enjoy it.
  15. Austere.J

    Intel HD Graphics 5500 - Need some help

    I worked with @lisai9093 on this new Broadwell-based laptop. Hardware Configurations: i5-5200U with Intel HD Graphics 5500. / ALC3234 / BCM94352NGFF / 1920x1080 According to the kernel panic log, I figured out that the panic reason is "assertion failed minStolenSize <= fStolenMemorySize". So basically if we can pass this assertion, kernel panic will not happen and in theory framebuffer drivers will be loaded and our graphics cards will be happy. And actually it do work in this way. I tried to read the disassemble code and patch the AppleIntelBDWGraphicsFramebuffer binary on this Wednesday to pass the assertion and I succeeded, but IN A WRONG WAY, which led to that nothing shows up on the screen but a pointer. (It seems that I accidentally change the StolenFBMem to 0. (not sure)) (I should let this assertion always return true) According to the latest IOReg and verbose boot logs, Intel framebuffer drivers are loaded, the graphics card was recognized properly, the internal screen was detected correctly, the screen resolution seems right. (We used FakeID, hence the model in ioreg above shows Intel Iris Graphics 6100) So currently we get stuck here. I am not familiar with disassemble code and reverse engineering. (this is way beyond my current knowledge.) It will be great if someone can figure out which part of code is corresponding to the FBMemory assertion and patch it. Here is a quicklook of partial disassemble code of AppleIntelBDWGraphicsFramebuffer binary. And I guess offset 0x01a02c 0x01a02e OR 0x01a081 0x01a087 may be related to the FBMemory assertion. For the framebuffer data, you can check those in my blog. Framebuffer data extracted from AppleIntelBDWGraphicsFramebuffer binary Updated quick notes on this Broadwell-based laptop: Installation Notes: Hackintosh on a new laptop with Intel Broadwell processor Latest IOReg from this laptop: withBDWGraphicsPeter’s MacBook Pro(1).ioreg.zip Any suggestion will be great. Thanks in advance
  16. Thanks for you feedback. And yes, I already implemented the drag-and-drop function in the next V3.3 version. The new version will be released soon.
  17. Sorry for the inconvenience. This is a bug in 3.1. Now I have released a new version and fixed this bug. Thanks for your feedback.
  18. Thanks for your feedback. So those who have AMD CPUs should use the AMD version in #11.
  19. I will send you the localization strings later. I am a little busy now. Sorry.
  20. That's weird. The report shows that failed to verify the code signature of Sparkle.framework. I don't have a AMD CPU to test against. I will send you a copy without code signature later.
  21. Austere.J


    Version 2.0.1


    Since the repairPermissions verb was discarded in the new DiskManagement.framework of OS X El Capitan, I wrote a new version of RepairPermissions command line tool. Introduction: RepairPermissions is an easy command line tool to repair the permissions of an OS X system volume. It also supports repairing permissions on OS X El Capitan's whole disk. Supported OS: OS X El Capitan (10.11.x) OS X Yosemite (10.10.x) OS X Mavericks (10.9.x) Usage: RepairPermissions targetVolume where targetVolume is a valid mount point of an OS X system partition such as /Volumes/Mac Bugs Report: You are welcome to report bugs or give any suggestions on my blogs. http://www.firewolf.science/2015/07/repairpermissions-v2-0-cli/ Notes: 0. RepairPermissions should be placed at /usr/local/bin (especially under OS X El Capitan) if you want to use RepairPermissions directly from OS X' Terminal. 1. You can ONLY repair the permissions on the current root volume if RepairPermissions is used in single-user mode. 2. Feel free to rename it to a shorter name like rp. 3. TABLES: ALLOWED OPERATIONS (In general: You can ONLY repair the permissions on OS X El Capitan under OS X El Capitan.)
  22. Yes, because the NVDARequiredOS property in NVDAStartupWeb.kext is "15A".
  23. Austere.J

    AppleHDA for El Capitan discussion

    I updated toleda's audioRealtekALC script with OS X El Capitan supported. UNOFFICIAL_audio_realtekALC-100_v1.0.5.command.zip Make sure that you boot OS X 10.11 with rootless=0 and kext-dev-mode=1 0x11d41983 will be disabled by default (in OS X 10.11) Note that Intel HD Graphics 4600 HDMI Audio in 10.11 is not supported by this script. I don't have HD4600 now so I cannot test whether the previous patch is still working.