Jump to content
ErmaC

Clover General discussion

20,226 posts in this topic

Recommended Posts

Hey slice,

 

can I add new entries to a plist, using the kext patcher in clover? I read somewhere it only can replace 1:1 lengths?

 

More specific: How do I replace a

      <key>UnifiedSleepSliderPref</key>
      <true/>

to

      <key>UnifiedSleepSliderPref</key>
      <false/>

Also, does it work with plugins of kexts?

 

Path is:

/System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/Mac-27ADBB7B4CEE8E61.plist

(For iMac14,2)

CPUFriend (Lilu plugin by PMHeart) can be used for this (inject the modded plist as cf-frequency-data).

Share this post


Link to post
Share on other sites
Advertisement

Hey slice,

 

can I add new entries to a plist, using the kext patcher in clover? I read somewhere it only can replace 1:1 lengths?

 

More specific: How do I replace a

      <key>UnifiedSleepSliderPref</key>
      <true/>

to

      <key>UnifiedSleepSliderPref</key>
      <false/>

Also, does it work with plugins of kexts?

 

Path is:

/System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/Mac-27ADBB7B4CEE8E61.plist

(For iMac14,2)

I think it is possible if carefully follow the instructions

Post#48 Info.plist patching

But I am not sure if the kext is present in kernelcache. Else the patching is impossible.

Share this post


Link to post
Share on other sites

Correct me if I am wrong but OsxFatBinaryDrv-64.efi was a Mandatory Drivers not visible since very short time

and now visible and selectable. This has never and to mention and why? No description about the Drivers in the Packages ?

Sorry for my ignorance

Thanks

 

post-951341-0-25027800-1515851146_thumb.png

Share this post


Link to post
Share on other sites

Correct me if I am wrong but OsxFatBinaryDrv-64.efi was a Mandatory Drivers not visible since very short time

and now visible and selectable. This has never and to mention and why? No description about the Drivers in the Packages ?

Sorry for my ignorance

Thanks

It's not needed since... Idk, Mavericks?

Share this post


Link to post
Share on other sites

It's not needed since... Idk, Mavericks?

This Driveras was mandatory and was installed in the Package for years

Did you used Clover Package or not

Share this post


Link to post
Share on other sites

Hello,

I'm actually trying to use the "slots" option in SMbios config .

I use this in config plist :

			<dict>
				<key>Device</key>
				<string>Firewire</string>
				<key>ID</key>
				<integer>5</integer>
				<key>Name</key>
				<string>Firewire Port</string>
				<key>Type</key>
				<integer>1</integer>
			</dict> 

with "Name (_SUN, 0x05)" in DST.

It give me a "HDMI port" in slot name instead of "Firewire port".

 

Am I doing something wrong ?

 

PS : Nvidia, LAN and WIFI SMbios slots are working well...

 

Edit : works with SUN = 6, nothing for SUN = 5 in DSDT but my Nvidia GFX creates it automatically

Share this post


Link to post
Share on other sites

I say we try something different, protect reserved regions differently. Because macOS does not make a difference between runtime and non-runtime reserved, it only maps the runtime reserved as the same as runtime data. But I would have to think that there is a reason those reserved regions exist and according to the spec you are not supposed to use the memory regardless of the runtime flag. So maybe we should try protected runtime reserved as runtime code and non runtime reserved as runtime data?

 

vit, that's only half the range when slide >= 128 for non SB and IB. What about 0x200000 to 0xFE00000? Also, this is a bad idea what if that's where the runtime was just protected? Don't want to wipe that.

 

EDIT: Oops left part of sentence out, lol.

I suppose you miscalculated some stuff. I did implement memory reservation code for IGPU, but the only thing it brought were more frequent boot failures from what I can tell.

You may play with it by setting APTIOFIX_PROTECT_IGPU_SANDY_IVY_RESERVED_MEMORY to 1.

Share this post


Link to post
Share on other sites

Correct me if I am wrong but OsxFatBinaryDrv-64.efi was a Mandatory Drivers not visible since very short time

and now visible and selectable. This has never and to mention and why? No description about the Drivers in the Packages ?

Sorry for my ignorance

Thanks

This are the mandatory drivers (without FV support)

post-221558-0-09155100-1515860685_thumb.png

Share this post


Link to post
Share on other sites

Correct me if I am wrong but OsxFatBinaryDrv-64.efi was a Mandatory Drivers not visible since very short time

and now visible and selectable. This has never and to mention and why? No description about the Drivers in the Packages ?

Sorry for my ignorance

Thanks

It is not a mandatory driver since 10.9.

It is the driver to support FAT Binary Boot.efi. The last one was 10.8.1 AFAIK.

Since 10.9 boot.efi is just 64bit driver.

Share this post


Link to post
Share on other sites

It is not a mandatory driver since 10.9.

It is the driver to support FAT Binary Boot.efi. The last one was 10.8.1 AFAIK.

Since 10.9 boot.efi is just 64bit driver.

This Divers is not Visible in Your today  latest available  source Forge Packages ➤ R4369 since for Years

and is installed By Default Mandatory for about  5 years

This Drivers is Installed if you choose UEFI Install

 

 

 

captu238.png

 

captu239.png

 

 

 

 

 

------------------------------------------------------------------------------------

 

EDIT ***

And now with the latest commit I compile the source and create the Package and now Today the Drivers is not Mandatory

Is selectable in the Package.

 

This is my question Why for long time is a mandatory Drivers installed by Default and Today its not mandatory ?

 

 

 

 

captu240.png

 

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

Hey,

 
I am trying to find our why I need VoodooTSCSycn on my x299 system.
 
I am comparing my published efi platform data to one from a a real iMacPro. The obvious differences are (other keys are removed for clarity):
 
iMacPro
    | +-o platform  <class IOService, id 0x100000113, !registered, !matched, active, busy 0, retain 7>
    |     {
    |       "board-rev" = <09>
    |       "InitialTSC" = <26486eee7a2a0000>
    |       "apple-coprocessor-version" = <00000200>
    |       "FSBFrequency" = <00105e5f00000000>
    |       "board-id" = <"Mac-7BA5B2D9E42DDD94">
    |     }
 
My x299 hack
    | +-o platform  <class IOService, id 0x100000113, !registered, !matched, active, busy 0, retain 9>
    |     {
    |       "CPUFrequency" = <40e6a2d600000000>
    |       "FSBFrequency" = <6717f60500000000>
    |       "InitialTSC" = <984a9bd600000000>
    |     }
 
So iMacPro has a board-rev and board-id property, but I don't think that matters here. 
 
More interestingly, there is no CPUFrequency on the real mac, and that key is not referenced anywhere in the kernel or boot.efi. So while this is a difference, it probably does not matter (i can boot without one).
 
The FSBFrequency on the iMacPro is 1600Mhz, like if it was multiplied by the logical core count(16*100Mhz). In the kernel, FSBFrquency is not used for skylake cpu family, but there is a reference in boot.efi, so it might matter.
 
And the most interesting, the InitialTSC value is 3600501400Hz for my system, and that is probably correct. However, this field on the iMacPro looks like it should not contain the TSC frequency, but the intital tsc tick value, something like you can read by rdtsc64(). This value is read by the kernel to  tsc_at_boot and then used like this in one point: 
if (tsc_rebase_abs_time == 0) tsc_rebase_abs_time = _rtc_tsc_to_nanoseconds(rdtsc64() - tsc_at_boot, rntp);
 
Which makes it clear that this value should indeed be a tick number, not a frequency value.
 
At another point, tsc_at_boot is stored in sysctl like this:
SYSCTL_QUAD(_machdep_tsc, OID_AUTO, at_boot, CTLFLAG_RD|CTLFLAG_LOCKED, &tsc_at_boot, "");
 
That variable on my system after boot is:
 machdep.tsc.at_boot: 0
 
Which is interesting, as it is set on efi/platform, but somehow ends up being 0.
 
So my questions are:
  • Why is the FSBFrequency 1600Mhz on the iMacPro? Does it even matter?
  • Is the InitialTSC value calculated by clover properly? The use of this value by the kernel indicates it is not.

Share this post


Link to post
Share on other sites

Some "bugs" live long time. We had to make this driver to be not mandatory since 5 years ago.

ok thanks Slice , understand me well I was just surprised to see him appear in the list of UEFI Drivers in my last compilation.

Share this post


Link to post
Share on other sites

Fastest way to include the new AptioFix into edk2 dir to work with Clover / other projects:

cd edk2
svn checkout https://github.com/vit9696/AptioFix/trunk/AptioFixPkg
#update
svn up

Include to dsc:

[Components]
  ...
  AptioFixPkg/Platform/AptioInputFix/AptioInputFix.inf
  AptioFixPkg/Platform/AptioMemoryFix/AptioMemoryFix.inf

* AptioMemoryFix need BaseRngLib
* AptioInputFix need some of external CupertinoNet libs

 

EDIT1: Or just call build AptioFixPkg.dsc from e/cbuild script LOL

EDIT2: More easier now

git clone https://github.com/vit9696/AptioFixPkg
Edited by cecekpawon

Share this post


Link to post
Share on other sites

Fastest way to include the new AptioFix into edk2 dir to work with Clover / other projects:

cd edk2
svn checkout https://github.com/vit9696/AptioFix/trunk/AptioFixPkg
#update
svn up

Include to dsc:

[Components]
  ...
  AptioFixPkg/Platform/AptioInputFix/AptioInputFix.inf
  AptioFixPkg/Platform/AptioMemoryFix/AptioMemoryFix.inf

EDIT: Or just call build AptioFixPkg.dsc from e/cbuild script LOL

 

* AptioMemoryFix need BaseRngLib

* AptioInputFix need some of external CupertinoNet libs

No need to stuff vit9696 packages to edk2/ or clover/. It can be anywhere -- environment variable PACKAGES_PATH invented exactly for that. See edk2 docs.

Share this post


Link to post
Share on other sites

More problem.

 

I just saw vit9696 have update his AptioMemFix and add IGPU mem fix.

 

I think this maybe good for HD3000 who face glitches.

 

But I use LegacyClover with HD3000 also have glitches. How can I do?

 

Can I add AptioMemFix to Drivers64 with LegacyClover?

 

 

从我的 iPhone 发送,使用 Tapatalk

Share this post


Link to post
Share on other sites

No need to stuff vit9696 packages to edk2/ or clover/. It can be anywhere -- environment variable PACKAGES_PATH invented exactly for that. See edk2 docs.

 

Poor me, DF told me about Multiple_Workspace while ago and Im not following his suggest until you link me to the right doc. Thanks nms! And you DF!

Share this post


Link to post
Share on other sites

 

I got a new problem and I had never saw.

 

 

从我的 iPhone 发送,使用 Tapatalk

Try to do anything to narrow the problem:

- reduce a number of injected kexts

- reduce number of patches

- change AptioFix ion

- build Clover with Debug messages

and so on

  
	if (drvPtr == 0 || infoPtr == 0 || extraPtr == 0 || drvPtr > infoPtr || drvPtr > extraPtr || infoPtr > extraPtr) {
		Print(L"\nInvalid device tree for kext injection\n");
    gBS->Stall(5000000);
		return EFI_INVALID_PARAMETER;
	}
  

Share this post


Link to post
Share on other sites

Try to do anything to narrow the problem:

- reduce a number of injected kexts

- reduce number of patches

- change AptioFix ion

- build Clover with Debug messages

and so on

  
	if (drvPtr == 0 || infoPtr == 0 || extraPtr == 0 || drvPtr > infoPtr || drvPtr > extraPtr || infoPtr > extraPtr) {
		Print(L"\nInvalid device tree for kext injection\n");
    gBS->Stall(5000000);
		return EFI_INVALID_PARAMETER;
	}
  

This problem happened after Clover_r4369 with new osxaptiofix2drv with nvram support.

 

But this laptop have nvram support before 4369 and have no problem but after 4369 it can’t boot into macOS and I replace the vit9696’s AptioFix and still show this.

 

Number of kexts and number of patches I have tested yet and have no related with this problem.

 

Tomorrow I will test Clover 4359 with it osxaptiofix2frv and test if have this problem again.

 

 

从我的 iPhone 发送,使用 Tapatalk

Share this post


Link to post
Share on other sites

I suppose you miscalculated some stuff. I did implement memory reservation code for IGPU, but the only thing it brought were more frequent boot failures from what I can tell.

You may play with it by setting APTIOFIX_PROTECT_IGPU_SANDY_IVY_RESERVED_MEMORY to 1.

 

Wow that sounds nice. Is that IGPU fix fixing the usage of IGPU with a full connector next to a dedicated card? Because that is hard crashing all the time in FCPX. 

Share this post


Link to post
Share on other sites

@vit9696 @Slice

 

Hi guys, 

 

I mentioned both of you because I don't have clue what is the problem: the kext or the bootloader. I have AudioALC with Layout-ID 11. Let's that I select Internal Speakers from System Preferences. Everything works no problem but when I reboot it switches back to headphones.

 

So everytime I startup the machine I need to manually select Internel Speakers, why doesn't remeber what was used last time ?

 

NVRAM is working as it should.

 

Logs and stuff:

 

https://drive.google.com/open?id=1sAcqNZCI-luSzkCkikR39UO0HC4LVDe_

 

Thanks a lot !

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By ErmaC
      Slice is glad to present a new EFI bootloader.

      CLOVER
      Now version 2 rEFIt based.


      It is open source based on different projects: Chameleon, rEFIt, XNU, VirtualBox. The main is EDK2 latest revision.
      I also want to thank all who help Slice with the development. Credits and copyrights remain in the sources.
      https://sourceforge.net/projects/cloverefiboot/?source=directory
      There is a WIKI 
      http://clover-wiki.zetam.org/
      Main features:


      If you have a question please provide outputs from DarwinDumper (formed from Trauma tool). Thanks Trauma!
      Continued by blackosx and STLVNUB.
      Post#2 CloverGrower - create Clover by yourself Post#3 Downloads Post#4 Installation of the bootloader Post#5 How to do UEFI boot Post#6 How to use - common words Post#7 Calculator for Automatic DSDT fix Post#8 Instructions for GraphicsInjector Post#9 ATIConnector patching Post#10 Any kexts patching with some Samples Post#11 CustomEDID Post#12 Hiding unnecessary menu entries Post#13 Instruction for DSDT corrections to do DeviceInjection works Post#14 Development Post#15 Themes Post#16 About kexts injection Post#17 Instructions for P- and C-states generator Post#18 Patching DSDT to get Sleep working Post#19 CPU settings and geekbench Post#20 ACPI tables loading Post#21 DSDTmini Post#22 Custom SMBios Post#23 F.A.Q. Post#24 iCloudFix Post#25 Using mouse. Post#26 How to make orange icons to be metallic Post#27 How to make software RAID (by Magnifico) Post#28 How to modify InstallESD.dmg (by shiecldk) Post#29 Config.plist settings Post#30 Using extra kexts and skipping kernelcache Post#31 Choosing EFI drivers Post#32 Configuration files Post#33 Automatic config.plist creating Post#34 Custom DSDT patches Post#35 How to do sleep/wake working with UEFI BOOT Post#36 DeviceID substitution (FakeID) Post#37 Using Custom OS Icons Post#38 Hibernation Post#39 Floating regions Post#41 Property List Editor Post#42 Blocking Bad Kext Post#43 AAPL,slot-name Post#44 FakeCPUID for unsupported CPU Post#45 Multiple Boot Options - to write into UEFI BIOS boot menu Post#46 How to install Windows UEFI Post#47 How to speedup Clover boot Post#48 Info.plist patching Post#49 Arbitrary device injection Post#50 Non-Standard Legacy Boot Files Post#51 Reboot to Windows UEFI from Mac OSX Post#52 Deprecated Features Post#53 Using UDK2018 Post#54 Device Properties Post#55 Scalable themes Post#56 How to search Clover mistakes (bisection) -----------------
       
      Slice:
      I edited all posts in the thread to correspond to actual Clover revision.
      Please install Clover at least 2652 and use new instructions.
×