Interesting NVRAM Option To Disable TBT?
 
Notifications
Clear all

Interesting NVRAM Option To Disable TBT?  

  RSS

mac_editor
(@mac_editor)
Famed Member Moderator
Joined: 3 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-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro

 
2019 13" MacBook Pro [8th,4C,U] + RX Vega 64 @ 32Gbps-TB3 (Mantiz Venus) + macOS 10.14.6 & Win10 [build link]  


goalque liked
ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 4 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

Mid 2015 15-inch MacBook Pro eGPU Master Thread

 
2018 13" MacBook Pro [8th,4C,U] + Radeon VII @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 1809 [build link]  


ReplyQuote
mac_editor
(@mac_editor)
Famed Member Moderator
Joined: 3 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-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro

 
2019 13" MacBook Pro [8th,4C,U] + RX Vega 64 @ 32Gbps-TB3 (Mantiz Venus) + macOS 10.14.6 & Win10 [build link]  


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

Value 4 seems to have something to do with firmware updating:
https://stackoverflow.com/questions/17227516/should-this-be-done-with-bash-script-or-automator-or-applescript
Some hackintosh sites show %04

automate-eGPU EFIapple_set_os.efi

Mid 2015 15-inch MacBook Pro eGPU Master Thread

 
2018 13" MacBook Pro [8th,4C,U] + Radeon VII @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 1809 [build link]  


ReplyQuote
mac_editor
(@mac_editor)
Famed Member Moderator
Joined: 3 years ago
 

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

purge-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro

 
2019 13" MacBook Pro [8th,4C,U] + RX Vega 64 @ 32Gbps-TB3 (Mantiz Venus) + macOS 10.14.6 & Win10 [build link]  


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 4 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

Mid 2015 15-inch MacBook Pro eGPU Master Thread

 
2018 13" MacBook Pro [8th,4C,U] + Radeon VII @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 1809 [build link]  


ReplyQuote
ozzy
 ozzy
(@ozzy)
Estimable Member
Joined: 3 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) [3rd,4C,Q] + GTX 1070 @ 10Gbps-TB1>TB3 (AKiTiO Node) + macOS 10.13 & Win10 [build link]  

ReplyQuote
mac_editor
(@mac_editor)
Famed Member Moderator
Joined: 3 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-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro

 
2019 13" MacBook Pro [8th,4C,U] + RX Vega 64 @ 32Gbps-TB3 (Mantiz Venus) + macOS 10.14.6 & Win10 [build link]  


ReplyQuote