Jump to content
30960 posts in this topic

Recommended Posts

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
  • Like 6

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.

  • Like 2

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

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!

  • Like 1

 

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;
	}
  

  • Like 1

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

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. 

@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 !

@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 !

 

Try another layout-id. 

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.

 

Your code does not do what I suggested. Please re-read what I said about protecting NON runtime reserved regions, you're only protecting the runtime reserved regions...

Your code does not do what I suggested. Please re-read what I said about protecting NON runtime reserved regions, you're only protecting the runtime reserved regions...

Do Windows or Linux do that? Can't believe it's THAT screwed, but well, worth trying maybe

Do Windows or Linux do that? Can't believe it's THAT screwed, but well, worth trying maybe

 

Memory marked as reserved cannot be used by the OS. So if the memory range is not preserved by the kernel as something else, eventually it will be assigned to something.

Try another layout-id. 

 

That layout-id works the best. Another layout ID has useless stuff like digital audio a lots of line ins wich I don't have.

 

So..How can I patch the DSDT or get the pin configuration and implement it by myself in the AppleALC kext ?

That layout-id works the best. Another layout ID has useless stuff like digital audio a lots of line ins wich I don't have.

 

So..How can I patch the DSDT or get the pin configuration and implement it by myself in the AppleALC kext ?

 

Ask @insanelydeepak. He is author of layout-id 11. As i know this layout is ONLY for AC97 front panel without autodetect. That's why it switches back to headphones after reboot. Use layout-id 5. It have only Digital Audio and Internal Speakers/Headphones (with autodetect) 

Ask @insanelydeepak. He is author of layout-id 11. As i know this layout is ONLY for AC97 front panel without autodetect. That's why it switches back to headphones after reboot. Use layout-id 5. It have only Digital Audio and Internal Speakers/Headphones (with autodetect) 

 

Thanks a lot !

@devs & @nvidiawebdriver's user

 

A)

CsrActiveConfig =0x03

NvidiaWeb flagged

 

A.png

 

A1)

CsrActiveConfig =0x67

NvidiaWeb flagged

 

B.png

 

A2)

CsrActiveConfig =0x67

NvidiaWeb flagged

nvda_drv=1 (clover bootmenu/space bar/flag option there

 

A.png

 

 

Why?

some kext/extension are forced to load also in 0x67 condition?

 

In all 3 cases system works fine as always and Nvidia drivers are fully working

 

 

 

Not related. Do Windows or Linux needed in AptioFix?

I don't think you understand the context, or the potetnial problem.

Memory marked as reserved cannot be used by the OS. So if the memory range is not preserved by the kernel as something else, eventually it will be assigned to something.

It is preserved, I assumed you meant assigning a virtual address, as that is the only difference vit's code made.

I don't think you understand the context, or the potetnial problem.

It is preserved, I assumed you meant assigning a virtual address, as that is the only difference vit's code made.

 

No. It is not. Only RUNTIME regions are preserved. The kernel disregards all other regions. And vit didn't even change the original code, he just wrapped it in a #if....  :rolleyes:

No. It is not. Only RUNTIME regions are preserved. The kernel disregards all other regions. And vit didn't even change the original code, he just wrapped it in a #if.... :rolleyes:

Oh, so ACPI regions are discarded too? :)

(Can link the kernel code in a few hours...)

If they are not marked as EFI_MEMORY_RUNTIME then yes. Look at the code for XNU.

Okay, a quick google-search on the phone worked too...

https://github.com/darwin-on-arm/xnu/blob/master/osfmk/i386/i386_vm_init.c

I don't see line numbers, so search for "pmap_type != kEfiConventionalMemory".

  • Like 1

Okay, a quick google-search on the phone worked too...

https://github.com/darwin-on-arm/xnu/blob/master/osfmk/i386/i386_vm_init.c

I don't see line numbers, so search for "pmap_type != kEfiConventionalMemory".

 

You should read again whatever you think you are reading. Do you mean here? Where it's doing absolutely nothing?

https://github.com/darwin-on-arm/xnu/blob/master/osfmk/i386/i386_vm_init.c#L435

×
×
  • Create New...