Contribute
Register

Using a Presonus Quantum Thunderbolt 2 Audio Interface...HELP

On my build yes, since I use a Vega Frontier.
Without I cant reach the Desktop.

On 0815 Desktop builds you have to disable it and If possible Turn iGPU off, since the 256mb mentioned by @joevt are used for the GPU If you use iGPU and Above 4G enabled.
Well, I have it enabled for same reason as you - Thunderbolt is seen by the system as another video device and I kept getting the dreaded "memory allocation" error right after Clover bootloader. As far as VRS8 goes for me the clincher was:

  1. Enable VT-d
  2. Disable Intel Virtualization in BIOS
  3. Enable Above 4G Encoding
  4. Setting my primary GPU to PEG
  5. Enable iGPU MM support (which flips Primary Display from PEG to iGFX, but I go back and force PEG)
  6. Remove dart=0 in config.
  7. Modify VRS8Audio kext (I'm attaching a copy of it if you want to try overwriting the one installed by VRS installer in your /L/E)

One (perhaps) small detail - the BIOS kept reverting back and adding Secure Boot keys. I tried several times to rectify the problem but it did not work as every time I'd restart, I would have secure boot keys stored again.

  1. Clear CMOS
  2. Delete each key one by one
  3. Save and exit.

My BIOS, Clover, EFI folder and Library/Extension folder screenshots are attached.
 

Attachments

  • luckyal's_VRS8AudioDriver.kext.zip
    47.3 KB · Views: 108
  • ASUS HERO 9 Screenshots.zip
    1.7 MB · Views: 86
  • Clover Screeshots.zip
    1.8 MB · Views: 97
Last edited:
LiluFriend will not help at all and in any kind but I had an different Idea.
Why not just try it with an IOProbeScore? :)
With LiluFriend (or OSBundleRequired = "Root"), did you try making a kext to allocate 192K of physically contiguous memory? Maybe try "Local-Root" instead of just "Root"? If OSBundleRequired has nothing to do with boot order, or the order is not early enough to get the memory then a different method is needed.

If that doesn't work, then doing the work in EFI or a custom kernel (or a patched kernel) may be necessary. Can Clover patch the kernel? LiluFriend might be able to do that, but not soon enough to reserve the memory.
 
Did you try to use a different aptiomemoryfix? Normally one of them should fix your remaining issue.
I don't have any issues. Running smooth and without any issues. I was just taking you guys through the steps and all of the issues I encountered. Once I did what I outlined above, everything fell into place and VRS8 is working great with hot plug over Thunderbolt 3. Currently I have every single slot on the mother board populated. Going from top to bottom:

  1. Syba Firewire card
  2. RX580 (running at 8x)
  3. VRS8 PCIe/HDMI card right below the RX580
  4. Highpoint RAID controller
  5. empty due to second M.2 Sata running at 4x (disables the 5th slot)
  6. Asus ThunderboltEX 3 card VRS8 connected and running with hot plug (notice that my THC cable is unplugged from the card).

If you look at my Clover and my BIOS, you'll notice that I deliberately disabled onboard audio. I didn't want anything claiming to be an audio device occupying that physical memory space. I don't even have an audio driver installed in /L/E
 

Attachments

  • Slot population.jpg
    Slot population.jpg
    850.9 KB · Views: 79
New Infos...
LiluFriend will not help at all and in any kind but I had an different Idea.
Why not just try it with an IOProbeScore? :)

Update coming tomorrow night.
Is IOProbeScore used to sort kexts for boot order? Maybe. It's used to choose from multiple kexts that can match on the same device.

I am thinking that maybe you can create an override kext for something that is known to load early. Maybe the IOPlatformExpert kext is a good candidate. In the case of Intel Macs, you would create a HackACPIPlatformExpert class which is based on AppleACPIPlatformExpert. Then you would override some methods to do what you want. The kext you create would return a IOProbeScore greater than what AppleACPIPlatformExpert returns.

This was a common practice for creating kexts to allow Mac OS X 10.4 to work on Old World Power Macs (like the Power Mac 8600). I seem to remember that some kexts couldn't be overridden that way but I don't remember the details.
 
Just to follow up - eliminate Thunderbolt from the picture to remove the potential added complexity. I can state with 100% certainty that the PCIe/HDMI method with the same driver works 100% of the time for me. So if you're working out the driver issue, just forgo Thunderbolt, at least for now. I can elaborate more if you want but at the moment that's my recommendation.
 
Will check it as soon as I can.

Just by the way:
I've tried it aswell with an Intel Nuc 8th Gen.
Same behaviour and I dont use a droptable on it.

@luckyal : maybe its a combination from something in your EFI Folder and other stuff.
Would you mind to upload a ioreg where the vrs8 is functional aswell as a log on first boot with working VRS8? Your EFI Folder could also help... To investigate whats going on.
Did you find my IORegs? I don't think you looked back far enough. I had them attached to this post for several weeks now. All I did since attaching them was VT-d + dart=0 + kext mod.
 
After you try that, you can try editing the info.plist of the VRS8AudioDriver.kext. At the bottom where it says
Code:
</dict>
</plist>
Change it to say:
Code:
    <key>OSBundleRequired</key>
    <string>Root</string>
</dict>
</plist>
Then rebuild the kext cache (use Kext Utility.app or whatever) and reboot.

Okay, finally home to try this and other fixes suggested. Tried them and VRS8 is a no go.
 
Last edited:
"man kextcache" says /Library/StagedExtensions is "a directory used to stage copies of kernel extensions during validation and loading.". I suppose this means it's normally empty.

Clear the StagedExtensions with
Code:
sudo kextcache --clear-staging

Did you check kextstat to make sure the OS didn't skip the extension (even if it didn't attach to the VRS8 device)?

No one has gotten the OSBundleRequired idea to work (in the case where dart=0 is required to make your computer boot or not crash or hang). Instead of Root, you could try Local-Root. Here's a command to get a list of kexts with their OSBundleRequired usage:
Code:
grep -R -A 1 OSBundleRequired /System/Library/Extensions/ /Library/extensions/ | grep string

It may be that OSBundleRequired is not changing the boot order of the VRS8 driver, or the boot order of the VRS8 boot driver is not early enough to reserve the memory, or there is no space to reserve the memory even if it is loaded early.

Once you've exhausted all the OSBundleRequired possibilities without success, then a different solution will have to be used.
 
I think I might be completely useless :lol: I'm sure you meant for me to do something more than just get the list. I suppose I just need to patiently wait that that someone else gets it working.
 
Last edited:
Back
Top