Interesting NVRAM Option To Disable TBT?  

  RSS

mac_editor
(@mac_editor)
Noble Member Moderator
Joined: 2 years ago
Posts: 1575
June 28, 2018 3:55 pm  

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.sh
----
Troubleshooting eGPUs on macOS
Command Line Swiss Knife
----
Multiple Build Guides


goalque liked
ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years ago
Posts: 1314
June 28, 2018 4:11 pm  

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
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


mac_editor liked
ReplyQuote
mac_editor
(@mac_editor)
Noble Member Moderator
Joined: 2 years ago
Posts: 1575
June 28, 2018 5:16 pm  

@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.sh
----
Troubleshooting eGPUs on macOS
Command Line Swiss Knife
----
Multiple Build Guides


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years ago
Posts: 1314

mac_editor liked
ReplyQuote
mac_editor
(@mac_editor)
Noble Member Moderator
Joined: 2 years ago
Posts: 1575
June 28, 2018 6:15 pm  

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

purge-wrangler.shpurge-nvda.shset-eGPU.sh
----
Troubleshooting eGPUs on macOS
Command Line Swiss Knife
----
Multiple Build Guides


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years ago
Posts: 1314
June 28, 2018 6:56 pm  

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
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


mac_editor liked
ReplyQuote
ozzy
 ozzy
(@ozzy)
Trusted Member
Joined: 2 years ago
Posts: 72
June 28, 2018 9:05 pm  

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


goalque and mac_editor liked
ReplyQuote
mac_editor
(@mac_editor)
Noble Member Moderator
Joined: 2 years ago
Posts: 1575
June 28, 2018 9:07 pm  

@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.sh
----
Troubleshooting eGPUs on macOS
Command Line Swiss Knife
----
Multiple Build Guides


ReplyQuote