Jump to content

[SOLVED] How to fix "Couldn't allocate runtime area" if there aren't enough available pages under slide=256?


6 posts in this topic

Recommended Posts

Hi,

I had a working hackintosh (latest High Sierra) on a Alienware m15 R1 laptop. It was working fine, but Today I got the dreaded "Couldn't allocate runtime area" error. The only thing I could imagine that affected the fragmentation of memory was a new Thunderbolt 10G SFP+ adapter from QNAP that I used in Windows. The problem is that while trying to fix it following instructions here, I found that I have no available contiguous pages below slide=256. I need 0x11bbd pages and the only space with enough pages is:
 

Type Start End # Pages Attributes
Available  0000000100000000-00000010BDFFFFFF 0000000000FBE000 000000000000000F

Looking at the map it seems that there was enough space but I got some BS_Data in between:
 

Type Start End # Pages Attributes
Available  0000000000000000-000000000009EFFF 000000000000009F 000000000000000F
Reserved   000000000009F000-000000000009FFFF 0000000000000001 000000000000000F
Available  0000000000100000-0000000010F3CFFF 0000000000010E3D 000000000000000F
BS_Data    0000000010F3D000-0000000010F7CFFF 0000000000000040 000000000000000F
Available  0000000010F7D000-000000001F0BEFFF 000000000000E142 000000000000000F

What should I do in this situation? I've read about changing Above4GDecoding BIOS option, but I have an Alienware laptop and the BIOS is super basic, and doesn't have any option like that. I've tried with AptioMemoryFix, OsxAptioFix3, OsxAptioFix2 and OsxAptioFix and the -free2000 drivers with and without slide=0, with no change in the result. Also, I've tried with OcQuircks, with default values I get the same behaviour, but if I enable DevirtualiseMmio I will get enough memory to pass but then I'll get fatal errors with ACPI and the system boot won't go much furher. If I enable a MmioWhiteList I find that either I whitelist the first MMIO region and I get the I cannot allocate message or I let it get devirtualized it and in that case I get the error in ACPI. I've attached the full memmap output.

Is there anyway to specify a slide above 256? (in my case it would be 0x800). If not, what should I do to defragment the memory? Is that even possible? I'm using Clover as I was too lazy to move to OpenCore when it came out, should I give it a try? Is there anyway to install it without booting MacOS? I have triple boot to Windows and Linux and can modify the EFI partition without problems.

Thank you!

memmap.txt

Edited by kahuna0k

Do you use the old Clover (pre 5123, with Aptio Memory Fixes) or the new one which uses OpenRuntime? Because in this you can provide custom slides and change the maxslide value in the Quirks. Besides that I am completely unfamiliar with all of this.

  • Thanks 1
Posted (edited)

Impressive. I had tried with OcQuirks and it didn't work, I also tried the new Clover but didn't correctly understood the new Openruntime, and thought it was just the same as OcQuirkcs, so I left the OcQuirks in the drivers instead of using the new provided OpenRunTime. After switching to the new OpenrunTime provided with Clover I was able to boot (had to enable the DevirtualizeMmio option).

 

THANK YOU!

 

Now I need to figure out how to enable the two screens attached to my GTX 1080 Ti (any hint here? any change in Clover to replace. They were working fine before, but it seems that now, although the nvidia card is detected the screens don't appear anywhere. Also, to make things easier during this change I've removed all the extra extensions from /Library/Extensions (that I thought it was the recommended way of using them) and I'm testing the latest versions injected by Clover. Has the best practice changed? Is it now recommended to inject the extensions through clover instead of prelinking them into the kernel? I've built this hackintosh like 2 years ago and as it was working didn't pay much attention to the progress of the hackintosh community.

 

Edited by kahuna0k

Fixed the problem with the screens, somehow with all the changes, NVidia web drivers were disabled and I just had to select them in the control panel and now everything is working as before. Just need to read more and understand the current best practices for extensions.

OCQuirks had not all the features implemented back then. It was more of an experiment to build a bridge to OpenCore. But since then a lot has happened. You can follow my Clover Update Guide in my signature if you want to make the switch. It's a bit complicated.

 

For actually dealing with Slides I'd suggest you download the OpenCore Package and read the Configuration.pdf where all this is explained in detail.

 

As far as your GTX 1080 goes… no chance. Keppler GPUs are the last supported NVIDIA GPUs by mac OS (GTX 760 etc.)

Edited by 5T33Z0

Yep, that's why I stay in High Sierra, I really value the nvidia web drivers. Everything working as expected, now my goal is to make Thunderbolt work. Right now it does not work even with the adapter plugged in at boot time. It seems that I should disable Thunderbolt security in the BIOS, but my BIOS does not expose that option, so investigating how to change those vars from UEFI.

  • kahuna0k changed the title to [SOLVED] How to fix "Couldn't allocate runtime area" if there aren't enough available pages under slide=256?
×
×
  • Create New...