Contribute
Register

Native NVRAM Available?

Status
Not open for further replies.
Hello,

i am using a GTX 980 with the nvidia webdrivers. today I wanted to boot with the standard OS X drivers, because of updating to 10.12.4. So I changed the driver in the nvidia panel, but after rebooting, the webdrivers are still active.
i outputted the nvram and the entry from the webdrivers is there (nvda_drv 1%00, I don´t know what the value is).
when I change the driver in the panel the entry ist deleted, but after reboot it is there again.
so I guess the nvram is not saved, because my mainboard does not support native nvram.
But
when I first installed the GTX, I was able to boot either with the webdrivers or the standard drivers.
since then I changed nothing, no BIOS update, no clover update.

what else could prevent saving native nvram?
iMessage always worked, never used EmuVariableUefi-64.efi and Clover RC Scripts
 
The NvidiaWeb true/false key in your config.plist causes the nvda_drv 1%00 value in NVRAM.

To enable or disable:
At Clover Boot Screen press space bar and select Set Nvidia to VESA (nv_disable=1)
At Clover Boot Screen press space bar and select Use Nvidia WEB drivers (nvda_drv=1)
 
The NvidiaWeb true/false key in your config.plist causes the nvda_drv 1%00 value in NVRAM.

To enable or disable:
At Clover Boot Screen press space bar and select Set Nvidia to VESA (nv_disable=1)
At Clover Boot Screen press space bar and select Use Nvidia WEB drivers (nvda_drv=1)



Set Nvidia to VESA (nv_disable=1) did it. now I am with the OS X drivers.

I thought it would be caused by the config.plist, but I set it to false and still booted with webdrivers even when I deleted the NvidiaWeb entry.

the changes in the nvram are definitely not saved on shutdown, so im going to use the EmuVariableUefi-64.efi and Clover RC Scripts

thank you for your help
 
is there any patch that makes a bios nvram writable?
 
is there any patch that makes a bios nvram writable?
If there was then we wouldn't need to use EmuVariableUefi-64.efi. Maybe you can look at the Clover source code for that and see if it's documented the reason for it's existence there or why it needs to read variables from a file instead of NVRAM. Clover is able to modify boot variables in NVRAM (there are menu options to do that). I don't know that the NVRAM variables would be any different. For some reason, the ability to write to NVRAM is lost when macOS starts.

You'll want to read about the UEFI services that RehabMan alluded to in the second post of this thread. Parts of UEFI survive after the OS loads. Before the OS loads (before "ExitBootServices" is called), the services are called "Boot Services". After the OS loads, the services are called "Runtime Services". These are UEFI services provided to the OS to handler certain tasks such as NVRAM ("Variable Services") and other stuff. The AppleEFINVRAM, connected to AppleEFIRuntime, connected to AppleACPIPlatformExport probably uses those UEFI runtime services.

So the question is, why do the NVRAM operations that work during "Boot Services" not work during "Runtime Services" for macOS? I believe Runtime Services works fine in Windows (the EasyUEFI.exe can edit boot variables for example).

Wikipedia has a nice overview of UEFI.
https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface
 
asus h170m-e-d3 bios rev 2202 which is current still has native nvram using with i3-7100
 
anyone tell me how to check my nvram is working or not
 
My Asus Z170 Pro Gaming supported native NVRAM until BIOS 1903, any BIOS later breaks it.

With not having native NVRAM and by using EmuVariableUEFI the LastBootedVolume option doesnt work any more.
Is there any workaround?
 
Seems like latest Clover emulates Nvram by having a .plist file in the EFI partition - do I understand it correctly?
If so, does it mean I can remove EmuVariableUefi-64.efi from the drivers directory?
 
Status
Not open for further replies.
Back
Top