Riley Freeman Posted October 7, 2015 Share Posted October 7, 2015 I tried that too (it's how I'm injecting my GFX). It injects the device properties (layout etc) but not the device name. So as there's no device called HDEF it still doesn't work. I hoped it might help to get Clover to put the device in the right place, but it didn't. Link to comment Share on other sites More sharing options...
bronxteck Posted October 7, 2015 Share Posted October 7, 2015 since clover can dump the acpi tables using F4 can't it also use the proper iasl utility flags to merge all missing dsdt/ssdt tables missing in dsdt so that we can get a proper compilable dsdt without errors. iasli can also be compiled as an EFI binary. * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20150930-64 * Copyright (c) 2000 - 2015 Intel Corporation /* * iASL Warning: There were 1 external control methods found during * disassembly, but additional ACPI tables to resolve these externals * were not specified. This resulting disassembler output file may not * compile because the disassembler did not know how many arguments * to assign to these methods. To specify the tables needed to resolve * external control method references, the -e option can be used to * specify the filenames. Note: SSDTs can be dynamically loaded at * runtime and may or may not be available via the host OS. * Example iASL invocations: * iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml * iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml * iasl -e ssdt*.aml -d dsdt.aml * * In addition, the -fe option can be used to specify a file containing * control method external declarations with the associated method * argument counts. Each line of the file must be of the form: * External (<method pathname>, MethodObj, <argument count>) * Invocation: * iasl -fe refs.txt -d dsdt.aml * * The following methods were unresolved and many not compile properly * because the disassembler had to guess at the number of arguments * required for each: */ Link to comment Share on other sites More sharing options...
fffeee Posted October 7, 2015 Share Posted October 7, 2015 I tried that too (it's how I'm injecting my GFX). It injects the device properties (layout etc) but not the device name. So as there's no device called HDEF it still doesn't work. I hoped it might help to get Clover to put the device in the right place, but it didn't. FWIW my Asus Z97 Gryphon uses `HDAU` and I edit Toleda's script to replace occurrences of `HDEF` with `HDAU` instead and my audio would work fine, but I'm using an SSDT-based method of configuring devices (via RampageDev's method) Link to comment Share on other sites More sharing options...
Slice Posted October 8, 2015 Share Posted October 8, 2015 @Slice: I've no idea what it is. But that's where Clover has decided to inject the HDEF device. I know it can be fixed by DSDT/SSDT injection but I've managed to move all of the fixes I made using SSDT to Clover's config.plist. Now the only fix I still need a SSDT for is HDEF because of this path issue. @WinstonAce: I tried with just Devices\Audio\Inject=1 but as I suspected, it didn't work. The core of the issue is lack of a HDEF device. Give me your native DSDT to analyze why Clover choose bad path. since clover can dump the acpi tables using F4 can't it also use the proper iasl utility flags to merge all missing dsdt/ssdt tables missing in dsdt so that we can get a proper compilable dsdt without errors. iasli can also be compiled as an EFI binary. * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20150930-64 * Copyright (c) 2000 - 2015 Intel Corporation /* * iASL Warning: There were 1 external control methods found during * disassembly, but additional ACPI tables to resolve these externals * were not specified. This resulting disassembler output file may not * compile because the disassembler did not know how many arguments * to assign to these methods. To specify the tables needed to resolve * external control method references, the -e option can be used to * specify the filenames. Note: SSDTs can be dynamically loaded at * runtime and may or may not be available via the host OS. * Example iASL invocations: * iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml * iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml * iasl -e ssdt*.aml -d dsdt.aml * * In addition, the -fe option can be used to specify a file containing * control method external declarations with the associated method * argument counts. Each line of the file must be of the form: * External (<method pathname>, MethodObj, <argument count>) * Invocation: * iasl -fe refs.txt -d dsdt.aml * * The following methods were unresolved and many not compile properly * because the disassembler had to guess at the number of arguments * required for each: */ Clover has no deal with compiling/decompiling AML. All it does at F4 is just copy ACPI memory into files. Files extracted with Clover are exactly the same as extracted by AIDA64 in Windows or some command in Linux because the amls just contained in BIOS. Link to comment Share on other sites More sharing options...
Riley Freeman Posted October 8, 2015 Share Posted October 8, 2015 Here it is Slice. I plugged some of the device IDs that appear under ^UNC0 in IOReg into Google and they all came back as CPU-related devices. p9x79-dsdt.zip Link to comment Share on other sites More sharing options...
Slice Posted October 8, 2015 Share Posted October 8, 2015 Here it is Slice. I plugged some of the device IDs that appear under ^UNC0 in IOReg into Google and they all came back as CPU-related devices.Yes, this is the same PCI bus Name (_HID, EisaId ("PNP0A03") /* PCI Bus */) // _HID: Hardware ID Name (UBN0, 0xFF) Method (_UID, 0, NotSerialized) // _UID: Unique ID { Return (UBN0) /* \_SB_.UNC0.UBN0 */ } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (UBN0) /* \_SB_.UNC0.UBN0 */ } Name (_ADR, Zero) // _ADR: Address Compare to Device (PCI0) { Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID Name (_ADR, Zero) // _ADR: Address Method (^BN00, 0, NotSerialized) { Return (Zero) } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (BN00 ()) } So device PCI0 has BIOS bus number=0while UNC0 = 0xFF But Clover searches Adr=0 which is the same for both devices and I have no idea how to make more deep analysis. I will recommend you to patch the DSDT manually and erase this device. Then you can allow Clover to make other fixes. For example this DSDT.aml-corrected.zip Link to comment Share on other sites More sharing options...
Riley Freeman Posted October 8, 2015 Share Posted October 8, 2015 Thanks for looking Slice. If it's a case of having to fix the DSDT to get Clover to inject HDEF correctly, I'd rather just stick to using a SSDT to inject the device. I just thought there might be a way to get Clover to make sure it's putting HDEF in the right place. Link to comment Share on other sites More sharing options...
Slice Posted October 8, 2015 Share Posted October 8, 2015 Thanks for looking Slice. If it's a case of having to fix the DSDT to get Clover to inject HDEF correctly, I'd rather just stick to using a SSDT to inject the device. I just thought there might be a way to get Clover to make sure it's putting HDEF in the right place. Calculated return from _BBN? Link to comment Share on other sites More sharing options...
Riley Freeman Posted October 8, 2015 Share Posted October 8, 2015 Calculated return from _BBN? Sorry, I don't understand what you mean. Link to comment Share on other sites More sharing options...
Slice Posted October 8, 2015 Share Posted October 8, 2015 I mean that Clover also don't understand how to differ PCI0 from UNC0. Link to comment Share on other sites More sharing options...
Riley Freeman Posted October 8, 2015 Share Posted October 8, 2015 Ah I see. Yeah that's a shame. I guess it's just a weird bios (I mean there's no trace of the audio device at all). I don't know enough about how Clover operates to come up with a suggestion. I'll just carry on injecting HDEF via SSDT. Link to comment Share on other sites More sharing options...
RehabMan Posted October 17, 2015 Share Posted October 17, 2015 KernelPm change for 10.11.1 beta (15B38b) u430:Clover Admin$ svn diff Index: rEFIt_UEFI/Platform/kernel_patcher.c =================================================================== --- rEFIt_UEFI/Platform/kernel_patcher.c (revision 3291) +++ rEFIt_UEFI/Platform/kernel_patcher.c (working copy) @@ -655,6 +655,12 @@ DBG("Kernel power management patch 10.10(data3) found and patched\n"); return TRUE; } + // rehabman: change for 10.11.1 beta 15B38b + else if (0x00001390000000E2ULL == (*((UINT64 *)Ptr))) { + (*((UINT64 *)Ptr)) = 0x0000000000000000ULL; + DBG("Kernel power management patch 10.11.1(beta 15B38b)(data3) found and patched\n"); + return TRUE; + } Ptr += 16; } DBG("Kernel power management patch region not found!\n"); 3 Link to comment Share on other sites More sharing options...
RehabMan Posted October 21, 2015 Share Posted October 21, 2015 To get rid of the early centered messages such as "Welcome to Clover" and others, I added option config.plist/Boot/NoEarlyProgress. Default false, but set to true, will eliminate these messages and result in a cleaner startup. Speedy-OSX:Clover RehabMan$ svn diff Index: rEFIt_UEFI/Platform/Settings.c =================================================================== --- rEFIt_UEFI/Platform/Settings.c (revision 3295) +++ rEFIt_UEFI/Platform/Settings.c (working copy) @@ -1830,6 +1830,11 @@ GlobalConfig.FastBoot = TRUE; } + Prop = GetProperty (DictPointer, "NoEarlyProgress"); + if (IsPropertyTrue (Prop)) { + GlobalConfig.NoEarlyProgress = TRUE; + } + Prop = GetProperty (DictPointer, "NeverHibernate"); if (IsPropertyTrue (Prop)) { GlobalConfig.NeverHibernate = TRUE; Index: rEFIt_UEFI/refit/lib.h =================================================================== --- rEFIt_UEFI/refit/lib.h (revision 3295) +++ rEFIt_UEFI/refit/lib.h (working copy) @@ -435,6 +435,7 @@ INTN TileXSpace; INTN TileYSpace; BOOLEAN Proportional; + BOOLEAN NoEarlyProgress; } REFIT_CONFIG; // types Index: rEFIt_UEFI/refit/main.c =================================================================== --- rEFIt_UEFI/refit/main.c (revision 3295) +++ rEFIt_UEFI/refit/main.c (working copy) @@ -2032,7 +2032,7 @@ return Status; } // DBG("DBG: messages\n"); - if (!GlobalConfig.FastBoot && GlobalConfig.Timeout>0) { + if (!GlobalConfig.NoEarlyProgress && !GlobalConfig.FastBoot && GlobalConfig.Timeout>0) { FirstMessage = PoolPrint(L" Welcome to Clover %s ", FIRMWARE_REVISION); i = (UGAWidth - StrLen(FirstMessage) * GlobalConfig.CharWidth) >> 1; DrawTextXY(FirstMessage, i, UGAHeight >> 1, X_IS_CENTER); @@ -2075,7 +2075,7 @@ gCPUStructure.ExternalClock = (UINT32)DivU64x32(gCPUStructure.FSBFrequency, kilo); gCPUStructure.MaxSpeed = (UINT32)DivU64x32(gCPUStructure.TSCFrequency + (Mega >> 1), Mega); - if (!GlobalConfig.FastBoot && GlobalConfig.Timeout>0) { + if (!GlobalConfig.NoEarlyProgress && !GlobalConfig.FastBoot && GlobalConfig.Timeout>0) { FirstMessage = PoolPrint(L"... user settings ..."); i = (UGAWidth - StrLen(FirstMessage) * GlobalConfig.CharWidth) >> 1; DrawTextXY(FirstMessage, i, (UGAHeight >> 1) + 20, X_IS_CENTER); @@ -2141,7 +2141,7 @@ GetEfiBootDeviceFromNvram(); } - if (!GlobalConfig.FastBoot && GlobalConfig.Timeout>0) { + if (!GlobalConfig.NoEarlyProgress && !GlobalConfig.FastBoot && GlobalConfig.Timeout>0) { FirstMessage = PoolPrint(L"... scan entries ..."); i = (UGAWidth - StrLen(FirstMessage) * GlobalConfig.CharWidth) >> 1; DrawTextXY(FirstMessage, i, (UGAHeight >> 1) + 20, X_IS_CENTER); @@ -2230,7 +2230,7 @@ AddMenuEntry(&MainMenu, &MenuEntryShutdown); } - if (GlobalConfig.Timeout>0) { + if (!GlobalConfig.NoEarlyProgress && !GlobalConfig.FastBoot && GlobalConfig.Timeout>0) { FirstMessage = PoolPrint(L"...theme %s ...", GlobalConfig.Theme); i = (UGAWidth - StrLen(FirstMessage) * GlobalConfig.CharWidth) >> 1; DrawTextXY(FirstMessage, i, (UGAHeight >> 1) + 20, X_IS_CENTER); Note: I'm pretty sure that last one was lacking the test for !GlobalConfig.FastBoot, so I fixed it. 5 Link to comment Share on other sites More sharing options...
alexanderq Posted October 21, 2015 Share Posted October 21, 2015 Thank you RehabMan for your work but can you please look if you have the time at auto disabling Graphicinjector when we boot from recovery or installer because in some cards like ati and others i always forget and have to reset pc, plus i think that injecting graphics when installing or rescuing a system is useless and will help a lot of people when are trying Clover for the first time. Link to comment Share on other sites More sharing options...
Slice Posted October 21, 2015 Share Posted October 21, 2015 To get rid of the early centered messages such as "Welcome to Clover" and others, I added option config.plist/GUI/NoEarlyProgress. Default false, but set to true, will eliminate these messages and result in a cleaner startup. Speedy-OSX:Clover RehabMan$ svn diff Index: rEFIt_UEFI/Platform/Settings.c =================================================================== --- rEFIt_UEFI/Platform/Settings.c (revision 3295) +++ rEFIt_UEFI/Platform/Settings.c (working copy) @@ -1830,6 +1830,11 @@ GlobalConfig.FastBoot = TRUE; } + Prop = GetProperty (DictPointer, "NoEarlyProgress"); + if (IsPropertyTrue (Prop)) { + GlobalConfig.NoEarlyProgress = TRUE; + } + Prop = GetProperty (DictPointer, "NeverHibernate"); if (IsPropertyTrue (Prop)) { GlobalConfig.NeverHibernate = TRUE; Index: rEFIt_UEFI/refit/lib.h =================================================================== --- rEFIt_UEFI/refit/lib.h (revision 3295) +++ rEFIt_UEFI/refit/lib.h (working copy) @@ -435,6 +435,7 @@ INTN TileXSpace; INTN TileYSpace; BOOLEAN Proportional; + BOOLEAN NoEarlyProgress; } REFIT_CONFIG; // types Index: rEFIt_UEFI/refit/main.c =================================================================== --- rEFIt_UEFI/refit/main.c (revision 3295) +++ rEFIt_UEFI/refit/main.c (working copy) @@ -2032,7 +2032,7 @@ return Status; } // DBG("DBG: messages\n"); - if (!GlobalConfig.FastBoot && GlobalConfig.Timeout>0) { + if (!GlobalConfig.NoEarlyProgress && !GlobalConfig.FastBoot && GlobalConfig.Timeout>0) { FirstMessage = PoolPrint(L" Welcome to Clover %s ", FIRMWARE_REVISION); i = (UGAWidth - StrLen(FirstMessage) * GlobalConfig.CharWidth) >> 1; DrawTextXY(FirstMessage, i, UGAHeight >> 1, X_IS_CENTER); @@ -2075,7 +2075,7 @@ gCPUStructure.ExternalClock = (UINT32)DivU64x32(gCPUStructure.FSBFrequency, kilo); gCPUStructure.MaxSpeed = (UINT32)DivU64x32(gCPUStructure.TSCFrequency + (Mega >> 1), Mega); - if (!GlobalConfig.FastBoot && GlobalConfig.Timeout>0) { + if (!GlobalConfig.NoEarlyProgress && !GlobalConfig.FastBoot && GlobalConfig.Timeout>0) { FirstMessage = PoolPrint(L"... user settings ..."); i = (UGAWidth - StrLen(FirstMessage) * GlobalConfig.CharWidth) >> 1; DrawTextXY(FirstMessage, i, (UGAHeight >> 1) + 20, X_IS_CENTER); @@ -2141,7 +2141,7 @@ GetEfiBootDeviceFromNvram(); } - if (!GlobalConfig.FastBoot && GlobalConfig.Timeout>0) { + if (!GlobalConfig.NoEarlyProgress && !GlobalConfig.FastBoot && GlobalConfig.Timeout>0) { FirstMessage = PoolPrint(L"... scan entries ..."); i = (UGAWidth - StrLen(FirstMessage) * GlobalConfig.CharWidth) >> 1; DrawTextXY(FirstMessage, i, (UGAHeight >> 1) + 20, X_IS_CENTER); @@ -2230,7 +2230,7 @@ AddMenuEntry(&MainMenu, &MenuEntryShutdown); } - if (GlobalConfig.Timeout>0) { + if (!GlobalConfig.NoEarlyProgress && !GlobalConfig.FastBoot && GlobalConfig.Timeout>0) { FirstMessage = PoolPrint(L"...theme %s ...", GlobalConfig.Theme); i = (UGAWidth - StrLen(FirstMessage) * GlobalConfig.CharWidth) >> 1; DrawTextXY(FirstMessage, i, (UGAHeight >> 1) + 20, X_IS_CENTER); Note: I'm pretty sure that last one was lacking the test for !GlobalConfig.FastBoot, so I fixed it. Committed to 3296. Users claim that Clover is too complex. Now it will be one setting more complex. 2 Link to comment Share on other sites More sharing options...
RehabMan Posted October 21, 2015 Share Posted October 21, 2015 Thank you RehabMan for your work but can you please look if you have the time at auto disabling Graphicinjector when we boot from recovery or installer because in some cards like ati and others i always forget and have to reset pc, plus i think that injecting graphics when installing or rescuing a system is useless and will help a lot of people when are trying Clover for the first time. You can do that with a custom entry that names an alternate config.plist. 1 Link to comment Share on other sites More sharing options...
magnifico Posted October 21, 2015 Share Posted October 21, 2015 To get rid of the early centered messages such as "Welcome to Clover" and others, I added option config.plist/GUI/NoEarlyProgress. Default false, but set to true, will eliminate these messages and result in a cleaner startup. you mean like this? Committed to 3296. Users claim that Clover is too complex. Now it will be one setting more complex. It takes a more updated wi ki Link to comment Share on other sites More sharing options...
RehabMan Posted October 21, 2015 Share Posted October 21, 2015 you mean like this? ... No period. Link to comment Share on other sites More sharing options...
magnifico Posted October 21, 2015 Share Posted October 21, 2015 No period. For next revision? Link to comment Share on other sites More sharing options...
TheRacerMaster Posted October 21, 2015 Share Posted October 21, 2015 For next revision? No, he means that you shouldn't have a period in the config.plist entry for NoEarlyProgress. You'll obviously need r3296 for this option to actually work. 1 Link to comment Share on other sites More sharing options...
magnifico Posted October 21, 2015 Share Posted October 21, 2015 No, he means that you shouldn't have a period in the config.plist entry for NoEarlyProgress. You'll obviously need r3296 for this option to actually work. I mean this of course Link to comment Share on other sites More sharing options...
AsusFreak Posted October 22, 2015 Share Posted October 22, 2015 I mean this of course Huh? This works fine. <key>GUI</key> <dict> <key>NoEarlyProgress</key> <string>Yes</string> </dict> Link to comment Share on other sites More sharing options...
LockDown Posted October 22, 2015 Share Posted October 22, 2015 To get rid of the early centered messages such as "Welcome to Clover" and others, I added option config.plist/GUI/NoEarlyProgress. Default false, but set to true, will eliminate these messages and result in a cleaner startup. Pardon me but where can i see this bug you're referring to? Link to comment Share on other sites More sharing options...
TheRacerMaster Posted October 22, 2015 Share Posted October 22, 2015 Pardon me but where can i see this bug you're referring to? Not a bug, it's a new feature. When Clover loads you can briefly see the "Welcome to Clover revision xxxx" text (and some others I think, but these are very quick and not very noticeable). With RehabMan's additions (r3296) you can now add NoEarlyProgress=FALSE in config.plist/GUI and it'll hide these messages while loading Clover. Link to comment Share on other sites More sharing options...
alexanderq Posted October 22, 2015 Share Posted October 22, 2015 You can do that with a custom entry that names an alternate config.plist. Thak you for your answer but more Clover complexity specially for the new user for one thing that it should be auto off in my opinion. Link to comment Share on other sites More sharing options...
Recommended Posts