Setup & Software Discussions
Interesting NVRAM Option To Disable TBT?
 

Interesting NVRAM Option To Disable TBT?  

  RSS

mac_editor
(@mac_editor)
Noble Member Moderator
Joined: 2 years ago
 

We all know that macs some macs with discrete NVIDIA GPUs don't boot with a Thunderbolt 3 enclosure with a NVIDIA eGPU inside it. We have always used @goalque's tbt-options workaround to do this, but the problem with that was that subsequent boots would clear this value, and cause the problem again. This, however, sticks forever:

sudo nvram tbt-options="BA=="

In my testing, the EFI has yet to clear this variable and I have booted into both macOS and Windows 4-5 times with eGPU plugged in. But eGPU does not seem to function in this case (fans ramp up, but nothing else happens). Don't really understand what's going on here, but such values could be key to discovering some more interesting things.

purge-wrangler.shpurge-nvda.shset-eGPU.shautomate-eGPU EFI Installer
2018 MacBook Pro 15" RP560X + Vega 64 [Sonnet Breakaway 350 -> 600W]


goalque liked
ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 3 years ago
 

Is that a base64 encoded string, 04? A login hook kept the tbt-options value up-to-date:  https://support.apple.com/en-us/HT2420 However, I decided to remove this functionality from the EFI app. Shutting down wasn't reliable and I guess this worked at 60% success rate.

EDIT: Just noticed that eGPU doesn't function. Maybe because your MBP firmware (pre Late-2014) does not support hot plugging?

Be careful in modifying this setting, the value may get stuck so that the Mac doesn't POST at all, happened once for me (different setting, though).

automate-eGPU EFIapple_set_os.efi
--
2018 13" MacBook Pro + Radeon [email protected] + Win10 1809


ReplyQuote
mac_editor
(@mac_editor)
Noble Member Moderator
Joined: 2 years ago
 

@goalque Just read your warning right now - fortunately nothing went south. I tested few values - apparently as long as you provide some Base64 value (AA, AQ, etc), EFI won't detect eGPU (fans ramp up - nothing else), but this in turn likely disables device enumeration in IOThunderboltFamily.kext, which in turn disables GPU detection. You might be correct in saying that hot-plug may not be supported in the firmware. And tbt-options has some weird values for when the EFI does detect the GPU (and fails POST). Some values are %801>, %00 & @==. Such a weird variable.

purge-wrangler.shpurge-nvda.shset-eGPU.shautomate-eGPU EFI Installer
2018 MacBook Pro 15" RP560X + Vega 64 [Sonnet Breakaway 350 -> 600W]


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 3 years ago

ReplyQuote
mac_editor
(@mac_editor)
Noble Member Moderator
Joined: 2 years ago
 

%04 is not retained. It changes to %00 on next boot. BA is retained. Interesting results.

purge-wrangler.shpurge-nvda.shset-eGPU.shautomate-eGPU EFI Installer
2018 MacBook Pro 15" RP560X + Vega 64 [Sonnet Breakaway 350 -> 600W]


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 3 years ago
 

nvram value has 4 possible data types: CFBoolean, CFNumber, CFString or CFData. In EFI it is always in byte presentation, fixed length.

https://opensource.apple.com/source/system_cmds/system_cmds-196/nvram.tproj/nvram.c.auto.html

Setting values from terminal may not work properly if the nvram parser cannot determine the correct data type from the user input.

automate-eGPU EFIapple_set_os.efi
--
2018 13" MacBook Pro + Radeon [email protected] + Win10 1809


ReplyQuote
ozzy
 ozzy
(@ozzy)
Trusted Member
Joined: 2 years ago
 

Just a quick intrusion into something that is technically well over my head to say not all nVidia dGPU macs can't boot with a TB3 nVidia eGPU attached :). The 2012 Retina MBP 15" with 650m boots fine with a Thunderbolt 3 nVidia 1070 attached (in fact the only way to get the eGPU to work is to attach before boot).

Now, I'm very interested in trying to get goalque's new Hybrid modification to work on this mac if possible.

2012 15" Macbook Pro Retina GT650M + [email protected] (AKiTiO Node via TB3->TB2 adapter) + macOS10.13 & Win10


ReplyQuote
mac_editor
(@mac_editor)
Noble Member Moderator
Joined: 2 years ago
 

@ozzy good to know. In my case, the only way to get an NVIDIA eGPU working is to delay plugging in (or using NVRAM mods). Corrected original post.

purge-wrangler.shpurge-nvda.shset-eGPU.shautomate-eGPU EFI Installer
2018 MacBook Pro 15" RP560X + Vega 64 [Sonnet Breakaway 350 -> 600W]


ReplyQuote