Jump to content

Purpose of AptioMemoryFix


nijhawank
 Share

7 posts in this topic

Recommended Posts

I tried a lot but couldn't get proper answer for the function of AptioMemoryFix (and older OsxAptio*) drivers.

 

From the name of it or the most straight results tell me that its to fix memory allocation problems for APTIO boards and in the process enable native nvram. However, I also see it being used on laptops such as Lenovo T420, T460 which I guess don't use APTIO, or do they?

 

Basically, I have a Lenovo T410 and I currently use EmuVariableUefi for emulating nvram but no version of AptioMemoryFix or any of its older friends. My system is overall stable.

 

So my questions are...

Is AptioMemoryFix should be used generally or strictly on motherboards with Aptio UEFIs or other UEFI firmwares.

 

The T410 does NOT have UEFI support only older BIOS. Does any version of AptioMemoryFix or older friend is useful for me? 

 

Does my T410 has native nvram. I have tried the simple test of command line setting nvram testvar=hello and checking it across reboot, and it doesn't work. 

 

Thanks in advance.

Link to comment
Share on other sites

*Aptio*Fix* drivers was invented to correct memory map quirky created by AMI Aptio UEFI BIOS.

First driver OsxAptioFixDrv by Dmasar made possible UEFI boot macOS on PC. Other ways to make Hackintosh were legacy boot (Chameleon, legacy Clover and so on). Legacy bootloaders have good memory managements and don't need this driver.

Second one OsxAptioFix2Drv also by Dmasar for support Hibernation. It sometimes requires additional argument slide=xxx for successful boot.

Then vit9696 investigate a problem of absent native NVRAM support because of memory movements in these drivers and he wrote AptioMemoryFix which is based on OsxAptioFix2Drv to support native NVRAM.

His achievements was applied to OsxAptioFix2Drv and new driver got a new name OsxAptioFix3Drv. It keeped as stable good-working version.

AptioMemoryFix by vit9696 keeped updating including a feature to automatically calculate slide=xxx value.

That's all for history.

 

Computer without UEFI BIOS doesn't need such driver and it hasn't nvram at all because it is UEFI property.

Some computers may have UEFI BIOS not Aptio. For this case I can't say exactly but mostly they also need this driver.

  • Like 6
  • Thanks 1
Link to comment
Share on other sites

13 hours ago, Slice said:

*Aptio*Fix* drivers was invented to correct memory map quirky created by AMI Aptio UEFI BIOS.

First driver OsxAptioFixDrv by Dmasar made possible UEFI boot macOS on PC. Other ways to make Hackintosh were legacy boot (Chameleon, legacy Clover and so on). Legacy bootloaders have good memory managements and don't need this driver.

 

So if Clover is loaded by a UEFI system, it needs Aptio* or its older friends 

But not when Clover is loaded by BIOS -> MBR -> boot0af. My disk is GPT.

 

13 hours ago, Slice said:

Computer without UEFI BIOS doesn't need such driver and it hasn't nvram at all because it is UEFI property.

 

And you are saying that "No UEFI" means "No NVRAM" plain and simple. So I must use EmuVariableUefi in my drivers64 folder? In the Clover installer, EmuVariableUefi option only appear under drivers64UEFI, so I should simply copy it from drivers64UEFI to drivers64?

 

Many thanks for your detailed answer.

Edited by nijhawank
Link to comment
Share on other sites

12 hours ago, nijhawank said:

 

So if Clover is loaded by a UEFI system, it needs Aptio* or its older friends 

But not when Clover is loaded by BIOS -> MBR -> boot0af. My disk is GPT.

 

 

And you are saying that "No UEFI" means "No NVRAM" plain and simple. So I must use EmuVariableUefi in my drivers64 folder? In the Clover installer, EmuVariableUefi option only appear under drivers64UEFI, so I should simply copy it from drivers64UEFI to drivers64?

 

Many thanks for your detailed answer.

BIOS->MBR->boot0af->boot1f32->boot{6 or 7}

This file boot is CloverEFI containing good AllocatePool() function and EmuVariable driver.

  • Like 1
Link to comment
Share on other sites

7 hours ago, nijhawank said:

Thank you. Now I understand how the emulated nvram was working even when I had NO EmuVariableUefi in the drivers64 folder.

If you were referring to this post, I think you missed checking rc.script on Clover install which causes your NVRAM vars not saved once System reboot. Check "/etc/rc.shutdown.d" you should have "80.save_nvram_plist.local" file there. BergDesign's Brightness.app uses IntelBacklight vars, if I'm not wrong. With Legacy, you probably also need installing "Clover PrefPane" for easily configure "NVRAM variables" eg. toggling "Save NVRAM to Disk > Auto or Always". #CMIIW

Link to comment
Share on other sites

 Share

×
×
  • Create New...