Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


RehabMan last won the day on December 16 2017

RehabMan had the most liked content!


About RehabMan

  • Rank

Profile Information

  • Gender
  • Location
    Bellingham, WA
  • Interests
    skiing, software, classic cars

Recent Profile Visitors

35,163 profile views
  1. Support is in the 'beta' branch of my github project.
  2. I'm using an ad blocker, so haven't noticed the ads (people wouldn't resort to ad blockers if websites used ads responsibly). Ad blockers also tend to speed things up... can't imagine how slow this site would be without an ad blocker.
  3. Sorry to say, but we should rename 'insanelymac' to 'insanelyslow'. Ever since this latest upgrade, this site has become unbearably slow, to the point that I really don't want to use it at all.
  4. RehabMan

    Clover Problems and Solutions

    Injecting AAPL,GfxYTile causes a hang on boot in 10.14 beta with my NUC KabyLake-R UHD620. I tested by using my own SSDT-IGPU.aml (which works fine as is), and adding AAPL,GfxYTile... confirming that it causes the hang. Then I removed the code as I mention earlier from Clover and verified I was able to boot successfully without AAPL,GfxYTile using Clover injection instead of my SSDT-IGPU.aml. The AAPL,GfxYTile inject should be removed.
  5. RehabMan

    Clover Problems and Solutions

    I'm finding that injecting AAPL,GfxYTile causes problems on 10.14 beta with KabyLake-R UHD 620 graphics (my hardware is a NUC7 Dawson Canyon). Since AAPL,GfxYTile is really a work around for much older versions of OS X, and can be easily applied if needed with config.plist/Devices/AddProperties, better to remove this code from Clover. My diffs: NUC6i7KYK:Clover rehabman$ git diff rEFIt_UEFI/Platform/gma.c diff --git a/rEFIt_UEFI/Platform/gma.c b/rEFIt_UEFI/Platform/gma.c index 962c2079..ff0794a7 100644 --- a/rEFIt_UEFI/Platform/gma.c +++ b/rEFIt_UEFI/Platform/gma.c @@ -2436,7 +2436,8 @@ BOOLEAN setup_gma_devprop(pci_dt_t *gma_dev) default: break; } - devprop_add_value(device, "AAPL,GfxYTile", skylake_hd_vals[1], 4); + //REVIEW_REHABMAN: not needed and problematic with UHD620 on 10.14 beta + //devprop_add_value(device, "AAPL,GfxYTile", skylake_hd_vals[1], 4); break; } break; @@ -2645,7 +2646,8 @@ BOOLEAN setup_gma_devprop(pci_dt_t *gma_dev) default: break; } - devprop_add_value(device, "AAPL,GfxYTile", kabylake_hd_vals[1], 4); + //REVIEW_REHABMAN: not needed and problematic with UHD620 on 10.14 beta + //devprop_add_value(device, "AAPL,GfxYTile", kabylake_hd_vals[1], 4); break; } break;
  6. That is a question for PikeRAlpha... They are his patches.
  7. I added your proposed patch to config_patches.plist in the patch-nvme github. I don't have the hardware to test, but now the patch is easily available and called out in the README if someone wishes to test it.
  8. RehabMan

    Clover Problems and Solutions

    @Slice The commit for r4468 breaks the ACPI patcher. On my NUC, had to roll back to previously working Clover as it was not bootable with those changes you made. Here are my fixes: https://github.com/RehabMan/Clover/commit/d0507a6b352fb2c8f85da70836b1bac08ecf0cec NUC6i7KYK:Clover rehabman$ git diff rEFIt_UEFI/Platform/AcpiPatcher.c diff --git a/rEFIt_UEFI/Platform/AcpiPatcher.c b/rEFIt_UEFI/Platform/AcpiPatcher.c index f0b20eee..03535d04 100644 --- a/rEFIt_UEFI/Platform/AcpiPatcher.c +++ b/rEFIt_UEFI/Platform/AcpiPatcher.c @@ -487,8 +487,8 @@ VOID PatchAllTables() UINT32 Count = XsdtTableCount(); UINT64* Ptr = XsdtEntryPtrFromIndex(0); UINT64* EndPtr = XsdtEntryPtrFromIndex(Count); - BOOLEAN Patched = FALSE; for (; Ptr < EndPtr; Ptr++) { + BOOLEAN Patched = FALSE; EFI_ACPI_DESCRIPTION_HEADER* Table = (EFI_ACPI_DESCRIPTION_HEADER*)(UINTN)ReadUnaligned64(Ptr); if (!Table) { // skip NULL entry @@ -498,10 +498,6 @@ VOID PatchAllTables() // may be also EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE? continue; // will be patched elsewhere } - if (!CheckTableHeader(Table)) { - // header does not need patching - continue; - } if (IsXsdtEntryMerged(IndexFromXsdtEntryPtr(Ptr))) { // table header already patched continue; @@ -511,7 +507,7 @@ VOID PatchAllTables() EFI_PHYSICAL_ADDRESS BufferPtr = EFI_SYSTEM_TABLE_MAX_ADDRESS; EFI_STATUS Status = gBS->AllocatePages(AllocateMaxAddress, EfiACPIReclaimMemory, - EFI_SIZE_TO_PAGES(Len + 19), + EFI_SIZE_TO_PAGES(Len + 4096), &BufferPtr); if(EFI_ERROR(Status)) { //DBG(" ... not patched\n"); @@ -520,12 +516,12 @@ VOID PatchAllTables() EFI_ACPI_DESCRIPTION_HEADER* NewTable = (EFI_ACPI_DESCRIPTION_HEADER*)(UINTN)BufferPtr; CopyMem(NewTable, Table, Len); if ((gSettings.FixDsdt & FIX_HEADERS) || gSettings.FixHeaders) { - CopyMem(NewTable, Table, Len); - PatchTableHeader(NewTable); - Patched = TRUE; + if (CheckTableHeader(NewTable)) { + PatchTableHeader(NewTable); + Patched = TRUE; + } } if (NewTable->Signature == EFI_ACPI_4_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE) { - CopyMem(NewTable, Table, Len); if (gSettings.PatchDsdtNum > 0) { //DBG("Patching SSDT:\n"); UINT32 i; @@ -548,20 +544,24 @@ VOID PatchAllTables() NewTable->Length = Len; RenameDevices((UINT8*)NewTable); GetBiosRegions((UINT8*)NewTable); //take Regions from SSDT even if they will be dropped - Patched = TRUE;; + Patched = TRUE; } if (NewTable->Signature == MCFG_SIGN && gSettings.FixMCFG) { INTN Len1 = ((Len + 4 - 1) / 16 + 1) * 16 - 4; - CopyMem(NewTable, Table, Len1); //Len increased but less then EFI_PAGE + CopyMem(NewTable, Table, Len1); //Len increased but less than EFI_PAGE NewTable->Length = Len1; Patched = TRUE; } if (Patched) { + // in case we need to free it, keep track of table size + SaveMergedXsdtEntrySize(IndexFromXsdtEntryPtr(Ptr), Len + 4096); + + // write patched table pointer into the XSDT WriteUnaligned64(Ptr, BufferPtr); FixChecksum(NewTable); } else { - gBS->FreePages(BufferPtr, EFI_SIZE_TO_PAGES(Len + 19)); + gBS->FreePages(BufferPtr, EFI_SIZE_TO_PAGES(Len + 4096)); } } }
  9. RehabMan

    intel hades canyon nuc nuc8i7hvk

    If you wanted to spoof 0x15dd, you would set RM,device-id = <dd150000> What you have there is a 0x69a0 spoof, but matching on 0x15dd or 0x694e.
  10. RehabMan

    intel hades canyon nuc nuc8i7hvk

    Your RM,device-id data is wrong. You wanted 0x69af, right? In Intel byte order, it would be <af690000> (32-bit, byte reversed/little endian). Also, if you're injecting fake device-id 0x69af, you'll need an IOPCIPrimaryMatch for 0x69af10002.
  11. RehabMan

    intel hades canyon nuc nuc8i7hvk

    Just putting my reply outside the quote... Inject FakeID 0x69aX (X=0|1|2|3|f) and have FakePCIID match against whichever id you're testing, and setting RM,device-id to the same. This new site software is complete garbage. This site has become very frustrating to use.
  12. RehabMan

    intel hades canyon nuc nuc8i7hvk

    Your intention is to spoof 1002:694e and 1002:15dd as 1002:a069? (second one as 1002:af69)? Why multiple PCI matches? You have not determined what the native ID actually is? Note that if you're injecting a fake device-id (to get the system kext to even load), you will need to have the FakePCIID injector match against that ID as well. I assume you're injecting fake device-id 0x694e or 0x15dd.
  13. RehabMan

    intel hades canyon nuc nuc8i7hvk

    Use a plist editor such as Xcode... then you won't need to mess with base64. You should be able to match just on device/vendor-id. Look at how the Apple provided AMD graphics kexts match and go from there.
  14. RehabMan

    intel hades canyon nuc nuc8i7hvk

    Look at the examples in the repo... You can see how FakePCIID_Intel_HD_Graphics.kext works just by looking at the Info.plist in Xcode.
  15. RehabMan

    Clover General discussion

    Dangerous advice there... Using the drop/add method causes SSDTs to be re-ordered. And SSDTs can be order dependent. Better to set config.plist/ACPI/AutoMerge=true, then name SSDTs in ACPI/patched with the same name they had from ACPI/origin. The AutoMerge feature will take care of replacing the SSDT in its original index, preserving the original order.