Jump to content
vit9696

Lilu — kext and process patcher

377 posts in this topic

Recommended Posts

Advertisement

Hi vit9696.

 

First of all. Thanks for your work!

I just want to know how to patch framework/custom kexts via Lilu, like previously AppleALC did through UserPatches.plist, although this may be not reliable in some cases...

 

Thanks in advance

 

Edit: I found something at Shiki.

But I'm curious that what some args mean like 'Skip' 'Section' etc...  :)

Edited by PMheart

Share this post


Link to post
Share on other sites

Thanks for give this perfect way to patch framework on macOS.

 

I hope this can patch the 4k displays in coredisplay.framework but i don't how to write the plugin,

Share this post


Link to post
Share on other sites

Hi vit9696.

 

First of all. Thanks for your work!

I just want to know how to patch framework/custom kexts via Lilu, like previously AppleALC did through UserPatches.plist, although this may be not reliable in some cases...

 

Thanks in advance

 

Edit: I found something at Shiki.

But I'm curious that what some args mean like 'Skip' 'Section' etc...  :)

Hi, as for kexts best examples are lvs's kexts (IntelGraphicsFixup and friends), they are reasonably simple and offer a good brief example of what one needs.

As for frameworks currently it is only safe to patch frameworks within a certain process, and yes, Shiki is generally a good example for it.

This line is basically all you need: https://github.com/vit9696/Shiki/blob/master/Shiki/kern_start.cpp#L39

Share this post


Link to post
Share on other sites

Hi, as for kexts best examples are lvs's kexts (IntelGraphicsFixup and friends), they are reasonably simple and offer a good brief example of what one needs.

As for frameworks currently it is only safe to patch frameworks within a certain process, and yes, Shiki is generally a good example for it.

This line is basically all you need: https://github.com/vit9696/Shiki/blob/master/Shiki/kern_start.cpp#L39

That's amazing ! But now it's a little late... Time for some sleep. Will check later.

 

 

Sent from my iPhone 7 using Tapatalk

Share this post


Link to post
Share on other sites

That's amazing ! But now it's a little late... Time for some sleep. Will check later.

 

 

Sent from my iPhone 7 using Tapatalk

Alright, I am usually busy and rarely visit insanely, so feel free to pm if you have concrete issues to investigate :).

Share this post


Link to post
Share on other sites

Plug-ins by @lvs1974

Don't set Lilu and these plug-ins in SLE or LE, it won't work. Use kexts injection from Clover.

 

IntelGraphicsFixup Superseded by WhateverGreen

Fixes boot logo on all known Intel Graphics.

Fixes PAVP freezes on Intel Azul, Skl, Kbl Graphics.
Fixes display initialization issues for Azul, Skl, Kbl Graphics.
 
NvidiaGraphicsFixup Superseded by WhateverGreen
Fixes an issue in AppleGraphicsDevicePolicy.kext so that we could use any ProductName, without the usual hang with a black screen.

Modifies macOS to recognize NVIDIA's web drivers as platform binaries. This resolves the issue with transparent windows without content, which appear for applications that use Metal and have Library Validation enabled. Common affected applications are iBooks and Little Snitch Network Monitor, though this patch is universal and fixes them all.

Injects IOVARendererID into GPU properties (required for Shiki-based solution for non-freezing Intel and/or any discrete GPU)

NVidiaAudio device to add connector-type, layout-id and other properties for HDMI audio (allows audio for HDMI, DP, Digital DVI ports)

 

Enable 3 & 25 mode hibernation on certain hardware.
Patching of IOPCIFamily to avoid hang & black screen after resume. (Option)
(Use the last FakeSMC.kext from @slice)
 
Supports AirPort_Brcm4360, AirPort_BrcmNIC and AirPort_BrcmNIC_MFG
Implements patch for passing chip id checking, in <=10.12 it's required for successful driver starting
Implements patch for "Third Party Device" (returns vendor name "Apple")
Implements patch for removing of white-list check
 
Edited by Andrey1970

Share this post


Link to post
Share on other sites

@vit9696

 

first of all, thank you for great work.

i want to report one. i can't use applelife site and russian lang very well

 

lvs1974's HibernationFixup is good working. i checked all. but i found one bug, after wakeup hibernation mode, i can't control brightness key. in setting, I can change it directly with the mouse.

 

i tried both dsdt patch and ssdt injection methods. but failed. I wonder if this is normal or not.

 

sorry.

 

thanks in advance

Share this post


Link to post
Share on other sites

@vit9696

 

first of all, thank you for great work.

i want to report one. i can't use applelife site and russian lang very well

 

lvs1974's HibernationFixup is good working. i checked all. but i found one bug, after wakeup hibernation mode, i can't control brightness key. in setting, I can change it directly with the mouse.

 

i tried both dsdt patch and ssdt injection methods. but failed. I wonder if this is normal or not.

 

sorry.

 

thanks in advance

@Sherlocks

Could you try to perform the following steps:

 

- Remove HibernationFixup.kext

- Set hibernatemode to 29 (you will have to set it manually in /Library/Preferences/com.apple.PowerManagement.[your UUID].plist).

- Put you PC into hibernation

- Turn on your PC and resume from hibernation

- Check whether you can control a brightness using keyboard

Share this post


Link to post
Share on other sites

@Sherlocks

Could you try to perform the following steps:

 

- Remove HibernationFixup.kext

- Set hibernatemode to 29 (you will have to set it manually in /Library/Preferences/com.apple.PowerManagement.[your UUID].plist).

- Put you PC into hibernation

- Turn on your PC and resume from hibernation

- Check whether you can control a brightness using keyboard

 

hello lvs1974. i'm glad to meet you in here.

 

i tested hibernation 29. brightness control is no problem.

 

3/25 can't control brightness with hiberantion mode.

EmuVariableUefi-64.efi + lilu.kext + your hiberantion kext(1.1.4) + rc script + -hbfx-dump-nvram.

Share this post


Link to post
Share on other sites

hello lvs1974. i'm glad to meet you in here.

 

i tested hibernation 29. brightness control is no problem.

 

3/25 can't control brightness with hiberantion mode.

EmuVariableUefi-64.efi + lilu.kext + your hiberantion kext(1.1.4) + rc script + -hbfx-dump-nvram.

Hello Sherlocks, thanks for greetings!

 

So, you don't have a hardware NVRAM...

 

There is only one difference when we use HibernationFixup: nvram.plist is saved.

This means that clover will restore all saved nvram variables.

 

Could you do this:

- repeat one hibernation/resume (EmuVariableUefi-64.efi + lilu.kext + your hiberantion kext(1.1.4) + rc script + -hbfx-dump-nvram)

- after resume copy nvram.plist from your boot disc to EFI partition and remove clover rc.shutdown script (or just clear executable attribute for it using chmod -x)

- shutdown your PC

- turn on again

- check whether you can control a brightness using keyboard

 

I just want to be sure that something stored in nvram.plist causes this issue.

Share this post


Link to post
Share on other sites

Hello Sherlocks, thanks for greetings!

 

So, you don't have a hardware NVRAM...

 

There is only one difference when we use HibernationFixup: nvram.plist is saved.

This means that clover will restore all saved nvram variables.

 

Could you do this:

- repeat one hibernation/resume (EmuVariableUefi-64.efi + lilu.kext + your hiberantion kext(1.1.4) + rc script + -hbfx-dump-nvram)

- after resume copy nvram.plist from your boot disc to EFI partition and remove clover rc.shutdown script (or just clear executable attribute for it using chmod -x)

- shutdown your PC

- turn on again

- check whether you can control a brightness using keyboard

 

I just want to be sure that something stored in nvram.plist causes this issue.

I dont understand all steps.

I have only nvram file in ESP.

1.implement combination(nvram+lilu+~).

2.remove both nvram file(copy to desktop) and rc script

3.reboot

4.boot osx, go hibernation.

5.enter hibernationed disk

6.test

 

Sorry my english

Right?

 

 

Add. Above steps, no need hibernation mode

Also i cant see debug log with bootarg for debug in kernel log. Is it normal?

 

Okay i understand you want.

First. restore nvram with hibernation mode(cant control brightness)

Two. Remove rcscript(avoid to save new nvram file) and bootarg.

Tree. Reboot.

Four. After login, test brightness with nvram(cant brightness)

 

 

나의 LG-F410S 의 Tapatalk에서 보냄

Share this post


Link to post
Share on other sites

Okay i understand you want.

First. restore nvram with hibernation mode(cant control brightness)

Two. Remove rcscript(avoid to save new nvram file) and bootarg.

Tree. Reboot.

Four. After login, test brightness with nvram(cant brightness)

 

 

나의 LG-F410S 의 Tapatalk에서 보냄

Correct!

 

Do you have nvram.plist which causes this issue (step Four)?

Could you attach and post it here?

Can you reproduce this issue after every new restart?

Share this post


Link to post
Share on other sites

Correct!

 

Do you have nvram.plist which causes this issue (step Four)?

Could you attach and post it here?

Can you reproduce this issue after every new restart?

 

 

no more reproduce this issue after reboot(step4)

 

i have only nvram.plist in ESP(nvram file gernerated from rc script. you already know).

 

but i see your hibernationfix makes nvram in Root. i noticed after rcscript remove. because rc script automately remove nvram file in root to avoid dummy or filevault2

 

so i take a nvram from Root. 

 

Since there are two nvram files, something seems to be causing a problem(not sure).
 
In hibernation 29, nvram files are always present on ESP partitions.
 
thanks in advance

nvram.zip

Share this post


Link to post
Share on other sites

 

no more reproduce this issue after reboot(step4)

 

i have only nvram.plist in ESP(nvram file gernerated from rc script. you already know).

 

but i see your hibernationfix makes nvram in Root. i noticed after rcscript remove. because rc script automately remove nvram file in root to avoid dummy or filevault2

 

so i take a nvram from Root. 

 

Since there are two nvram files, something seems to be causing a problem(not sure).
 
In hibernation 29, nvram files are always present on ESP partitions.
 
thanks in advance

 

Yes, HibernationFixup creates nvram.plist in the root folder of boot disk.

There's no any problem with two nvram.plist, because Clover chooses the newest one (checks modification time).

So, you need to get nvram.plist from the root folder and post it here.

Share this post


Link to post
Share on other sites

Yes, HibernationFixup creates nvram.plist in the root folder of boot disk.

There's no any problem with two nvram.plist, because Clover chooses the newest one (checks modification time).

So, you need to get nvram.plist from the root folder and post it here.

 

okay

i attached file on reply above.

both nvram file in ESP and Root

Share this post


Link to post
Share on other sites

okay

i attached file on reply above.

both nvram file in ESP and Root

I don't see a big difference...

 

Could you try to remove SMCHelper.efi and repeat the same actions?

 

And after that could you try attached FakeSMC & CPUSensors instead of installed on your system? 

HWSensors.5.2.678.pkg.zip

Share this post


Link to post
Share on other sites

I don't see a big difference...

 

Could you try to remove SMCHelper.efi and repeat the same actions?

 

And after that could you try attached FakeSMC & CPUSensors instead of installed on your system? 

 

strange issue resolved now.

 

hmm..

 

both SMCHelper.efi and FakeSMC & CPUSensors cases, no luck. still can't control brightness except volume up & down.

 

 

1:999  0:000  Use origin smbios table type 1 guid.

1:999  0:000  PrepareHibernation:
1:999  0:000      read prefs \Library\Preferences\com.apple.PowerManagement.plist status=Success
1:999  0:000      using default sleep image name = \private\var\vm\sleepimage
1:999  0:000      returning previously calculated offset: 2A76255000
1:999  0:000   SleepImageOffset: 2A76255000
2:000  0:000  02 01 0C 00 D0 41 03 0A 00 00 00 00 01 01 06 00 | .....A..........
2:000  0:000  00 17 03 12 0A 00 01 00 00 00 00 00 04 04 1A 00 | ................
2:000  0:000  32 00 41 00 37 00 36 00 32 00 35 00 35 00 30 00 | 2.A.7.6.2.5.5.0.
2:000  0:000  30 00 30 00 00 00 7F FF 04 00                   | 0.0.......
2:000  0:000  boot-image before: PciRoot(0x0)\Pci(0x17,0x0)\Sata(0x1,0x0,0x0)\2A76255000
2:000  0:000  DeleteBootOption: Boot0082
2:000  0:000   Boot0082 deleted
2:000  0:000  DeleteFromBootOrder: 0082
2:000  0:000  BootOrder: 7: Boot0007, Boot000C, Boot0006, Boot0005, Boot0008, Boot0009, Boot000B
2:000  0:000  Not found
2:000  0:000  Options 0082 was not deleted: Not Found
2:000  0:000   IOHibernateRTCVariables found - will be used as boot-switch-vars
2:002  0:002  Custom boot is disabled
2:002  0:000  Closing events for wake

Share this post


Link to post
Share on other sites

strange issue resolved now.

 

hmm..

 

both SMCHelper.efi and FakeSMC & CPUSensors cases, no luck. still can't control brightness except volume up & down.

Don't quite understand: what is the issue has been resolved?

What do you mean?

Share this post


Link to post
Share on other sites

Don't quite understand: what is the issue has been resolved?

What do you mean?

Q.what do you mean?

A.i can't suddenly use hibernation mode 3 and 25. Only hold black screen. I dont know exactly why happen. I just return my vanilla setting. And try your hibernation setting(kext, bootarg, rcscript) again. Then i got hibernation mode.

 

 

Brigtness control is still no luck on any setting(remove SMCHelper. Use your FakeSMC)

 

Between 29 and 3, can i check something? Example. Debug log or others.

 

나의 LG-F410S 의 Tapatalk에서 보냄

Share this post


Link to post
Share on other sites

Q.what do you mean?

A.i can't suddenly use hibernation mode 3 and 25. Only hold black screen. I dont know exactly why happen. I just return my vanilla setting. And try your hibernation setting(kext, bootarg, rcscript) again. Then i got hibernation mode.

 

 

Brigtness control is still no luck on any setting(remove SMCHelper. Use your FakeSMC)

 

Between 29 and 3, can i check something? Example. Debug log or others.

 

나의 LG-F410S 의 Tapatalk에서 보냄

You can also try hibernate mode 59.

Debug logs are useless here.

Also you can try to set standby and autopoweroff to 0 in pmset.

 

No more ideas.

Probably you have some dedicated ACPI method in DSDT to control a brightness.

Probably it has something common with embedded controller.

Share this post


Link to post
Share on other sites

You can also try hibernate mode 59.

Debug logs are useless here.

Also you can try to set standby and autopoweroff to 0 in pmset.

 

No more ideas.

Probably you have some dedicated ACPI method in DSDT to control a brightness.

Probably it has something common with embedded controller.

Thanks.

I dont know exactly why happen this problem. So just found and report it you.

Because i like debug and report.

 

Thank you for your help

Have a great day.

 

 

나의 LG-F410S 의 Tapatalk에서 보냄

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By miliuco
      macOS Catalina on: Gigabyte Z390 Aorus Elite motherboard + i3 9100 Coffee Lake processor + AMD Radeon RX 580 graphics card + fenvi FV-T919 WIFI and Bluetooth card + Clover r5121 + AppleALC, Lilu, VirtualSMC, XHCI-unsupported, IntelMausiEthernet, USBPorts and WhateverGreen.

      Hardware
       
      Gigabyte Z390 Aorus Elite motherboard: support for Intel 8 and 9 generation processors, Realtek ALC1220 audio, Intel I219V Ethernet, 4 PCI-E slots, 2, 3 and 3.1 USB ports, Intel Graphics 630 integrated graphics card 9th generation Intel i3 9100 processor Nox Hummer H-212 120mm CPU Fan Corsair Vengeance LPX 3200 MHz 16 GB RAM (2 x 8) AMD Radeon RX 580 8GB graphics card Wifi and Bluetooth Card Fenvi FV-T919 Mars Gaming MPII850 Power Supply (850W) Samsung EVO 860 SSD disk.
        What works well?

      Pretty much everything I've tried:
      Radeon RX 580: 3 DP ports and 1 HDMI port, output to 2 displays simultaneously Shutdown, reboot and sleep Integrated sound and HDMI sound output USB ports (2, 3 and 3.1) Enable TRIM for SSD drive AirDrop, Sidecar, etc.
        What is not working well?

      Integrated Intel UHD Graphics 630 card: see below.

      BIOS settings (version F9)

      I only write down the significant options, there are many other options that do not influence macOS and that you can configure to your liking (for example the LEDs on the board, etc.).
      XMP Profile: Auto / Profile 1 / Enabled (eXtreme Memory Profile, I use 3200 MHz memory and without this profile it works at 2600) Platform Power Management: Disabled VT-d: Disabled XHCI Hand-Off: Enabled Legacy USB Support: Enabled Network Stack: Disabled CSM: Disabled Secure Boot: Disabled Fast Boot: Disabled OS Type: Other OS Wake on LAN: Disabled Integrated Graphics: Auto Initial Display Output: PCIe 1 Slot DVMT Pre-Allocated: 256M or higher.
        EFI folder for Clover (installation USB stick / SSD disk with Catalina)

      SSDT

      Some SSDT.aml files in EFI/CLOVER/ACPI/patched.

      SSDT-DTPG.aml (helper module for SSDT)
      SSDT-EC.aml (USB power charge)
      SSDT-UIAC.aml (USB port mapping)
      SSDT-USBX.aml (USB port mapping)
      SSDT-PMC.aml got from OpenCore to have native NVRAM on Z390 mother boards
      SSDT-Z390-RP21-SLOT4-TB3HP.aml (Thunderbolt devices hot plug) it can be skipped.

      Drivers in EFI/CLOVER/drivers/UEFI

      ApfsDriverLoader.efi
      AudioDxe.efi
      DataHubDxe.efi
      FSInject.efi
      VBoxHfs.efi
      SMCHelper.efi
      OcQuirks.efi *
      OpenRuntime.efi *
      OcQuirks.plist *.

      * see OC Quirks below.

      Extensions in EFI / CLOVER / kexts / Other

      AppleALC.kext
      IntelMausi.kext
      Lilu.kext
      USBPorts.kext
      VirtualSMC.kext
      WhateverGreen.kext
      XHCI-unsupported.kext.

      NOTE 1: The USBPorts.kext extension along with 3 aml files included in patched folder (SSDT-EC.aml, SSDT-UIAC.aml y SSDT-USBX.aml) were generated by joanserramiret with the configuration of USB ports for this motherboard so that the limit defined by macOS of 15 ports is not exceeded. Leaves the system configured in this way:
      Enabled all USB2 ports that are not part of a USB3 port (1 internal for BT + 4 rear that are together + 2 on the front) Enabled the USB2 ports that are part of the 2 rear red USB3.1 ports Disabled the USB2 ports that are part of the 4 rear blue USB3 ports Enabled all USB3 ports except the internal one for USB type C connection. Summary: Rear blue ports do not recognize USB2 devices.

      NOTE 2: XHCI-unsupported.kext is required for XHC chipsets whose Device ID is not included in macOS. Depending on the USB driver of your board, it may be necessary to install some additional extension:
      8086: 8CB1 on macOS 10.11.1 or lower: XHCI-9-series.kext 8086: 8D31, 8086: A2AF, 8086: A36D, 8086: 9DED: XHCI-unsupported.kext 8086: 1E31, 8086: 8C31, 8086: 8CB1, 8086: 8D31, 8086: 9C31, 8086: 9CB1: FakePCIID.kext + FakePCIID_XHCIMux.kext. This board (generally Z390 chipset boards) carries the USB 3.1 controller with device ID A36D so the XHCI-unsupported kext is required. You can check your device ID at
      /System/Library/Extensions/IOUSBHostFamily.kext/Contents/Plugins/AppleUSBXHCIPCI.kext/Contents/Info.plist Config.plist file

      The differential options are:

      Acpi> DSDT: change HECI to IMEI / change SAT0 to SATA
      Acpi> Fixes: FixShutdown
      Acpi> Drop OEM_DSM
      Acpi> Drop Tables> DMAR / MATS
      Acpi> SSDT> PluginType selected (Plugin Type number blank)
      Acpi> Halt Enabler / FixHeaders

      Boot> Boot Arguments> slide = 0 / darkwake = 8

      Devices> USB> Inject / FixOwnership / HighCurrent
      Devices> Audio> Inject 11

      Kernel and Kext Patches> Apple RTC and KernelXCPM selected
      Kernel and Kext Patches> KextsToPatch> Name: com.apple.driver.AppleAHCIPort / Find: 40600200 / Replace: 00000000 / Comment: SATA hot plug
      Kernel and Kext Patches> KextsToPatch> Name: com.apple.driver.AppleAHCIPort / Find: 45787465 726E616C / Replace: 496E7465 726E616C / SATA orange icons

      SMBIOS> iMac19.1

      System Parameters> Inject Kexts: Yes / Inject System ID: selected.

      Quirks > select AvoidRuntimeDefrag – DevirtualiseMmio – EnableSafeModeSlide – ForceExitBootServices – ProtectUefiServices – ProvideConsoleGopEnable – ProvideCustomSlide – SetupVirtualMap – SyncRuntimePermissions and set ProvideMaxSlide = 0. *

      Set true DevirtualiseMmio and ProtectUefiServices in OcQuirks.plist file (recommended on Z390 mother boards).

      * see OC Quirks below.

      macOS Catalina install

      There are many publications with instructions so I will only comment on a few specific details.
      The installation USB memory must have a GUID partition scheme so that the board's UEFI can boot from it. I have prepared the USB with the createinstallmedia method + the application "Install macOS Catalina" in the Applications folder The device is USB 3 and, connected to the front USB 3 port, it performs the task quite quickly I have used Clover r5121 which is currently the latest version. The EFI folder of the installation USB can be the same as that of the hard disk with 2 differences: Acpi> SSDT> PluginType deselected and Acpi> Boot leave Default Boot Volume blank and Timeout -1 (so that no volume will boot automatically from the Clover menu). To mount the EFI partition (of the disk or the USB device) I have used Clover Configurator which makes this task very simple or the command line (diskutil), first finding out what disk and partition number is the EFI (diskutil list) and showing it later (mountdisk):
      sudo diskutil list
      sudo diskutil mountdisk / dev / disk2s3  
      RX 580

      Although my RX 580 card is a model from the XFX brand, known for using custom VBios and giving problems in macOS, in my case it seems to work well with Lilu and WhatEverGreen. Booting the operating system it does not show artifacts, the 3 DP ports and the only HDMI port work, you can send the image simultaneously to 2 screens (I have not tried more) with the usual duplication options, yo can send sound in addition to image to one TV by HDMI, during the installation of the operating system it works correctly provided that Lilu and WhatEverGreen are in the USB device, etc. GeekBench 5 Scores: Metal 50100 / OpenCL 44100. As a comparison, the integrated card does not reach 4800 in Metal.
      Regarding the hardware decoding of H264 and HEVC videos, the Hackintool tool and the VideoProc application report that it is not supported although the playback of files of both types with rates of up to 20 mbps is correct so I suspect that it actually encodes well. In order for hardware decoding to appear as supported in the commented applications, the integrated Intel Graphics 630 card must be enabled even if it is disconnected in headless mode (using the RX 580 card as primary sending image to the screen).
       


      Sound

      This board incorporates the Realtek ALC1220 chip that needs the AppleALC extension to work. AppleALC is a Lilu plugin so both must be properly installed.
      Note: Clover > Devices > Audio > Inject 11 or 13 or 15. I’ve tried several layouts and this are the only valid at least in my case.
      Some users have commented that the system does not load AppleALC and they have no sound despite having the extensions in EFI / CLOVER / kexts / Other. In these cases it can be successful to install AppleALC and Lilu in / Library / Extensions and rebuild the extensions cache with Hackintool (a very convenient way to do it) or with this Terminal command:
      sudo spctl --master-disable; sudo mount -uw /; killall Finder; sudo chown -v -R root: wheel / System / Library / Extensions; sudo touch / System / Library / Extensions; sudo chmod -v -R 755 / Library / Extensions; sudo chown -v -R root: wheel / Library / Extensions; sudo touch / Library / Extensions; sudo kextcache -i /  
      What this command does is disable Gatekeeper, mount the system disk in read / write mode, repair permissions on the extensions folders and rebuild the cache. But all of that is done by Hackintool with less work on our part.

      Ethernet

      This board carries the Intel I219V chip that works well with the IntelMausiEthernet extension.

      Wifi & Bluetooth

      I use a Fenvi FV T-919 mini PCI-E card that carries both wifi and bluetooth chips. This card works perfectly in macOS without needing anything other than placing it on the board because it is recognized as Airport Extreme and Bluetooth Apple. Has its own article on perez987.

      Disks

      Samsung EVO 860 SSD. It is a solid state disk with references to work well in Mac. In my case it works well, with a read speed of 430 and a write speed of 250. I have tried faster SSDs but they have given problems to install Catalina, instead with the EVO 860 everything has worked perfectly.

      Integrated graphics

      Integrated Intel Graphics 630 card: we can to make it work correctly by adding some properties in Clover's Devices tab. For it to work you have to:

      - enable it on the board as primary graphics: Initial Display Output IGFX instead of PCIe 1 Slot (actually this is the final step after modifying config.plist)
      - add in config.plist: Boot> Boot Arguments> igfxonln = 1
      - apply a patch (video and audio) in config.plist: Devices> Properties. It is easier to do it from the config.plist file in text mode than from Clover Configurator. With the file open as text find the lines
      <key>Audio</key> <dict> <key>ResetHDA</key> <false/> <key>Inject</key> <integer>11</integer> </dict>  
      Immediately above of them paste this text:
      <key>Properties</key> <dict> <key>PciRoot(0x0)/Pci(0x1F,0x3)</key> <dict> <key>layout-id</key> <data>CwAAAA==</data> <key>model</key> <string>Cannon Lake HDMI</string> <key>hda-gfx</key> <string>onboard-2</string> <key>AAPL,slot-name</key> <string>Internal@0,31,3</string> <key>device_type</key> <string>Audio device</string> </dict> <key>PciRoot(0x0)/Pci(0x2,0x0)</key> <dict> <key>framebuffer-con0-busid</key> <data>AAAAAA==</data> <key>framebuffer-con0-type</key> <data>AAgAAA==</data> <key>framebuffer-con2-flags</key> <data>xwMAAA==</data> <key>model</key> <string>Intel UHD Graphics 630</string> <key>framebuffer-con1-busid</key> <data>AAAAAA==</data> <key>device-id</key> <data>kT4AAA==</data> <key>framebuffer-con2-type</key> <data>AAgAAA==</data> <key>framebuffer-con2-busid</key> <data>BAAAAA==</data> <key>device_type</key> <string>Display controller</string> <key>hda-gfx</key> <string>onboard-1</string> <key>framebuffer-patch-enable</key> <data>AQAAAA==</data> <key>framebuffer-con1-type</key> <data>AAgAAA==</data> <key>AAPL,slot-name</key> <string>Internal@0,2,0</string> <key>AAPL,ig-platform-id</key> <data>BwCbPg==</data> <key>framebuffer-con2-enable</key> <data>AQAAAA==</data> <key>framebuffer-con1-enable</key> <data>AQAAAA==</data> <key>framebuffer-con0-enable</key> <data>AQAAAA==</data> </dict> </dict> But the system crashes when comes out of sleep mode (the PC restarts after a few seconds of leaving sleep mode). This behavior occurs if the cable that comes out from the HDMI port on the motherboard (the only existing connector on this Mobo) plugs in a DisplayPort port on the monitor; if it plugs directly into another HDMI port (monitor or TV) the bug does not occurs and the PC goes in and out of sleep normally.

      Currently the only way to have the graphics card connected to a port other than HDMI without this crash is by replacing the "hda-gfx" property with "no-hda-gfx" in the above code of config.plist. The 2 lines
      <key>hda-gfx</key> <string>onboard-2</string> must be replaced by
      <key>No-hda-gfx</key> <data>AAAAAAAAAAA=</data> After adding this property, you will no longer have sound over HDMI / DP but sleep works very well.

      In summary:
      - Intel HDMI to DisplayPort monitor> has HDMI audio output but has kernel panic when coming from sleep
      - Intel HDMI to HDMI TV> has HDMI audio output and sleep works fine
      - Intel HDMI to DisplayPort monitor with "no-hda-gfx"> sleep works fine but HDMI audio output is lost.

      (based on the post "[GUIDE] General Framebuffer Patching Guide (HDMI Black Screen Problem)" by CaseySJ; thanks also to deeveedee for his help).

      This card can be left activated without connection to the monitor (headless mode) and apparently does not show any interference with the rest of the system.

      With the integrated card as the main card, the system shows enabled both graphics cards and allows to have a screen connected to the Intel 630 via HDMI and a different screen connected to the RX 580 via DP or HDMI, in this case the primary screen is that from the Intel and the other only works when the graphics driver is loaded but, once the system is up and running, the screens allow duplication options as if they depend on a single card.
       
       
       
       
       
      Evolution to Oc Quirks

      OC Quirks is an EFI driver for Clover that replaces AptioMemoryFix and all OsxAptioFix variants. It supports the OpenCore quirks model. AptioMemoryFix has evolved little in the most recent stage and is in a way becoming obsolete. Next versions of Clover will probably stop installing AptioMemoryFix and switch to OC Quirks which is evolving and receiving frequent improvements. You can read about this on the working group website: ReddestDream.

      Migrating our installation from AptioMemoryFix to OC Quirks is relatively simple:
      download the latest version of OC Quirks (search Releases, current version is 23) have a USB device that boots up properly to use in case of failure mount the disk's EFI partition delete AptioMemoryFix and any other OsxAptioFix variant add OcQuirks.efi, OpenRuntime.efi and OcQuirks.plist to Clover's drivers/UEFI folder change to true DevirtualiseMmio and ProtectUefiServices in the file OcQuirks.plist (recommended on boards with Z390 chipset) in Clover> Quirks config.plist file, check the boxes AvoidRuntimeDefrag - DevirtualiseMmio - EnableSafeModeSlide - ForceExitBootServices - ProtectUefiServices - ProvideConsoleGopEnable - ProvideCustomSlide - SetupVirtualMap - SyncRuntimePermissions and assign the value 0 to ProvideMaxSlide Restart the PC.  
      Kernel Panic with BIOS F10c if integrated graphics is enabled

      The Z390 Aorus Elite board comes with BIOS F9 with which the text of this post has been written.

      A few days ago I updated to the current version which is F10c and, since then, I have suffered a kernel panic with the forbidden symbol when going from the Clover menu to the macOS boot screen if the integrated card was enabled in BIOS. This happened regardless of whether the Intel UHD Graphics 630 card was set to Clover (fully for monitor output or headless mode for encoding) or not.

      Returning to BIOS F9 the system has returned to working as before and the kernel panic has disappeared. I can have the card enabled or disabled again in BIOS without problems.
       
      efi-quirks.zip
    • By Bikash
      I have installed catalina and bootloader is opencore.

      But the AppleAlc is not working for alc282 codec. I have tried evey layout id provided in documentation for alc282 but not working.
      But the voodohda is working.

      I have attached ioreg file, codec dump, applealc debug log and Efi folder.

      Please help me to make this work.
      Thank you
      applealc.zip
    • By juanjullian
      So i managed to install latest Catalina with opencore 0.59 and latest acidanthera's work on my HP 840-g4. But i have just one annoying problem: IMEI.
       
      The issue is exactly the same as described here:
       
       
      and in other thread at the commercial hack site with big eyes.
       
      Most of the applications not responding after wake from sleep. crashed quicklookup, quicktime player, youtube, hackintool, etc, etc. (spinning color wheel).
       
      So surfing deeply on the forums, i noticed that the problem is related of lack of IMEI injection. So i tried manual HECI to IMEI patch, knowing that WhateverGreen do that work. No results.
       
      The only way that i can get IMEI on ioReg is changing the address from 16 to 0, through a ACPI patch:
       
      dict> <key>Comment</key> <string>HECI ADDRESS</string> <key>Count</key> <integer>0</integer> <key>Enabled</key> <true/> <key>Find</key> <data>SEVDSQhfQURSDAAAFgA=</data> <key>Limit</key> <integer>0</integer> <key>Mask</key> <data></data> <key>OemTableId</key> <data></data> <key>Replace</key> <data>SEVDSQhfQURSDAAAAAA=</data> <key>ReplaceMask</key> <data></data> <key>Skip</key> <integer>0</integer> <key>TableLength</key> <integer>0</integer> <key>TableSignature</key> <data></data> </dict>  
      So with this i can get IMEI on IoReg
       

       

       
       
      But i think that is a problem! Because the KBL FrameBuffer can't initialize the MEI Service, even with the IMEI at ioreg, this is from boot syslog:
       
      2020-06-24 16:38:29.075004-0400 localhost kernel[0]: (AppleIntelKBLGraphicsFramebuffer) <AppleIntelKBLGraphicsFramebuffer`AppleIntelFramebufferController::createMEIDriver()> [IGFB][ERROR ] Failed to start MEI service! 2020-06-24 16:38:29.075014-0400 localhost kernel[0]: (AppleIntelKBLGraphicsFramebuffer) <AppleIntelKBLGraphicsFramebuffer`AppleIntelFramebufferController::createMEIDriver()> [IGFB][ERROR ] Failed to create MEI service  
       
      Soooo, the question is:
       
      How can i solve this?!!
       
      I also tried:
       
      1. SSDT-IGPU from Rehabman
      2. SSDT-IMEI
      3. Rename HECI to IMEI ACPI patch
      All these with no luck.
       
      PD: I have to say that not SDcard mount after wake from sleep and this are the only two thing left to solve in order to get full working hackintosh laptop.!
       
       
      Thanks in advance
       
      EFI.zip
      ioreg_imei0.ioreg.zip
      syslog.txt
    • By miliuco
      Install macOS 10.15 Catalina on Gigabyte P55-USB3 with Radeon RX 580 graphics card using a USB device created with the createinstallmedia command and Clover as bootloader. Instructions to install macOS 10.14 Mojave on this computer are almost identical, replacing Catalina app with Mojave, so this article is suitable for both versions of macOS. The Gigabyte P55-USB3 motherboard (and some others from the same brand with the P55 / H55 chipset) have made it easy to build a hackintosh and install macOS since 10 years ago. Although it is an old motherboard, the behavior with Mojave or Catalina is very good after changing the classic hard drive (HDD) for a solid state drive (SSD).

      Components of the hackintosh
      Gigabyte GA-P55-USB3 motherboard: P55 chipset, 1156 socket, ALC892 audio, Gigabit RTL8111D network, DDR3 RAM Intel Core i5-750 processor for socket 1156: 4 cores, 8MB cache, clock rate 2.66 GHz Fenvi FV-T919 wireless + Bluetooth card: PCI-Express, wifi is ac type, detected by macOS as Airport and Apple Bluetooth Radeon RX 580 8 GB graphics card: works OOB but with a few details to be considered, it has its own article.  
      Previous requirements
      Install macOS Catalina app in /Applications folder USB flash drive with at least 16GB prepared from Disk Utility with MBR partition scheme and formatted as Mac Os Plus (on older Gigabyte boards like mine, USB sticks partitioned with GUID scheme instead of MBR usually hang the system when booting) Recent version of Clover (I have used r5117) Recent versions of Lilu (at least 1.4.4) and WhateverGreen (at least 1.3.9) to fine-tune the behavior of the graphics card Recent version of RealtekRTL8111 (I have used 2.2.2) FaceSMC version 6.26-322 (newer versions disable automatic mounting of USB devices on my system).  
      Create install USB
      Run this command from Terminal (assuming the target device is called USB):
      Bash: sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/USB /Applications/Install\ macOS\ Catalina.app
      Clover must be installed on the USB memory, I choose the following options:
      Bootloader > Install boot0af on the MBR CloverEFi > CloverEFI 64-bit SATA BIOS Drivers, 64 bit > Recommended drivers > FSInject + SMCHelper + XhciDxe BIOS Drivers, 64 bit > File System drivers > ApfsDriverLoader Install RC scripts on selected volume Optional RC scripts > Disable sleep proxy client.  
      You have to copy 4 kexts to the EFI/CLOVER/kexts/Other folder of the USB device: FaceSMC 6.26-322, Lilu 1.4.4, WhateverGreen 1.3.9 and RealtekRTL8111 2.2.2. Regarding the config.plist file, the most significant is:
      Boot > kext-dev-mode = 1 in Boot arguments GUI > Theme embedded, EmbeddedThemeType Dark, Screen Resolution 1920x1080, Preboot in Hide Volume Graphics > blank, nothing is checked except if foxbox solution is used to have more than 2 connectors enabled RT Variables > 0x28 in BooterConfig and 0x67 in CsrActiveConfig SMBios > iMac14,2 Sytem Parameters> Yes in Inject Kexts and check Inject System ID.  
      Install macOS Catalina

      Boot from the USB device and choose Install macOS from Install macOS Catalina. The installation program runs until the PC restarts. Here choose Install macOS from HDD (the name of the volume you are installing macOS on). With RX 580 graphics card, the screen goes black in this second phase of the installation, it is a phase in which the user has nothing to do until the PC is restarted so you can let it work until the Clover menu again. You have to choose Boot macOS from HDDto boot the installed system from the hard disk, the screen is recovered and you can configure the account and the initial options. From this moment the screen works fine.

      In summary:
      Boot from USB > Clover menu > Install macOS from Install macOS Catalina > screen works fine Boot from USB > Clover menu > Install macOS from HDD > black screen Boot from USB > Clover menu > Boot macOS from HDD > screen works fine.  
      Install Clover and kexts on the hard drive

      Clover needs to be installed on the disk where we just installed macOS. Options are the same as when installing it on the USB memory. You also have to copy the 4 kexts (FaceSMC 6.26-322, Lilu 1.4.4, WhateverGreen 1.3.9 and RealtekRTL8111 2.2.2) into the EFI/CLOVER/kexts/Other folder on the EFI partition of the disk. And review the config.plist file remembering the comments for the USB.

      If everything goes well, the computer starts from the hard disk with a running copy of macOS Catalina.
       
       

×