Contribute
Register

Lenovo T480S - TB3 eGPU (AMD RX580) detection

Status
Not open for further replies.
Joined
Jan 19, 2016
Messages
24
Motherboard
Lenovo Thinkpad X230
CPU
i5-3320M
Graphics
HD 4000
Mobile Phone
  1. Android
  2. iOS
Hi Folks,

following scenario:

My hardware is as follows: T480s + HP Omen Accelerator (AMD RX580)
I already tried different patches (THBT.aml from T480S repo and TB3.aml from this thread.)

  • without TB-3 or THBT.aml injected, the eGPU is detected when connected before boot, spins up and works fine so far. But: That way it is not hot-pluggable and laptop crashes, when the cable is removed (maybe because ioregexplorer shows the GPU at "<"onboard-2">" and macOS does not prepare for this device to be removed?)
  • with one of the patches involved, the GPU is detected in System Report -> PCI and ioregexplorer (Just as on my MacBook - as <"external">, even the device trees look like the same) , hotplugging works just fine but the GPU decides not to spin up
I already played around with the patch (e.g. removed a part where it says: "power-save", One, as it differed from my MacBook's ioreg) but no luck so far. Does anyone have an idea, where to continue?

Thanks in advance! Phil
389727


I attached my ioreg dumps (MacBook Pro (Mid-2017) - everything working, ThinkPad with and without TB3 patches and the EFI folder)
 

Attachments

  • Phils ThinkPad Pro - THBT_aml.ioreg
    33.4 MB · Views: 193
  • Phils ThinkPad Pro - Without any patch .ioreg
    22.4 MB · Views: 156
  • T480s_EFI.zip
    38.1 MB · Views: 262
@philberlin Great work! Author of the "linusyang92/macOS-ThinkPad-T480s" repo here.

I do not have a TB3 device so I couldn't thoroughly test if "THBT.dsl" works (it should work with Type-C devices though which I could test). I actually followed the TB3.aml to construct the file. The whole structure is similar. I filled in the Type-C part (Device "DSB2") by copying definitions from the original SSDT of T480s.

You once pointed out that using both aml files may work. But loading two conflicting "aml" may have race condition. One or both of them may not actually be loaded at all. You can check if any "aml" files failed to load in the kernel log by the following command:

Code:
log show --predicate "processID == 0" --last boot --style syslog | grep -i acpi

By the way, I pushed a small change to "THBT.dsl" with the state "_RMV" changed from 1 to 0. Now I could find the thunderbolt device shown in the PCI section. Not sure if this could help.
 
Last edited:
@yypyypyyp hi Linus! Thanks for your reply! Yea, the USB-C works just fine - as well the hot-plugging is very reliable - good job!

However, I actually realised that I need to tell Clover in the config file to load the TB3.aml - so I assumed Thunderbolt works only with TB3.aml and THBT.aml removed - but in this state where it worked (pci mode, detected as internal), neither TB3 nor THBT was actually loaded. So when I tried to start it with TB3.aml alone, it showed the same behaviour as THBT. But well, I like to see the process of understanding more of that stuff :D Still, sorry for the confusion!

The new patch shows an interesting behaviour. The TB3 controller itself shows up in the PCI section, but the devices do not (however, they do in my modded aml based on your older THBT version (attached)). Now the interesting part: The GPU icon in the task bar, which would have disappeared after a few seconds before, now decides to stay there.

Thanks for the update and advices! I guess, it was a move to the right direction and I will have a further look on it as soon as possible.

Best, Phil

screenshot-2019-02-28-at-00-35-01-jpg.390001
390002
 

Attachments

  • SSDT-THBT_mod.aml
    1.2 KB · Views: 169
  • Phils ThinkPad Pro _ THBT_new.ioreg
    55.8 MB · Views: 212
  • Screenshot 2019-02-28 at 00.35.01.jpg
    Screenshot 2019-02-28 at 00.35.01.jpg
    98.7 KB · Views: 1,652
Last edited:
Update 1: Attached the wrong file for 2017 MacBook Pro with connected eGPU, it's now updated in Post #1
 
Same problem.
Somebody managed to drive eGPU?
 
I temporarily fixed it for my needs using a workaround / script, that just mounts the EFI folder, copies the Hotplug-patch from the folder to my Desktop and reboots - that makes my eGPU working (However, it's still as described - hotplug won't work in that mode - eGPU mounted as "internal" GPU and once I remove it, laptop freezes).

#!/bin/bash sudo diskutil unmount /dev/disk0s1 sudo diskutil mount /dev/disk0s1 sleep 3 cd /Volumes/EFI/EFI/CLOVER/ACPI/patched mv SSDT-THBT.aml /Users/$USER/Desktop sudo reboot

once I finished working on my workstation, I run a script that puts back the file to the EFI folder

#!/bin/bash sudo diskutil unmount /dev/disk0s1 sudo diskutil mount /dev/disk0s1 sleep 3 cd /Users/$USER/Desktop mv SSDT-THBT.aml /Volumes/EFI/EFI/CLOVER/ACPI/patched sudo reboot

At least, this enables me to work with my eGPU on demand with the only disadvantage of having a reboot in between. Another issue, I figured in the non-hotplug eGPU mode: AirDrop causes the laptop to freeze as well - don't know, how this could relate but apart from that, pretty stable and thus backs my confidence we could get it working even in hotplug mode.

Maybe that could be a temporary fix for you as well.

Best, Phil
 
I temporarily fixed it for my needs using a workaround / script, that just mounts the EFI folder, copies the Hotplug-patch from the folder to my Desktop and reboots - that makes my eGPU working (However, it's still as described - hotplug won't work in that mode - eGPU mounted as "internal" GPU and once I remove it, laptop freezes).

#!/bin/bash sudo diskutil unmount /dev/disk0s1 sudo diskutil mount /dev/disk0s1 sleep 3 cd /Volumes/EFI/EFI/CLOVER/ACPI/patched mv SSDT-THBT.aml /Users/$USER/Desktop sudo reboot

once I finished working on my workstation, I run a script that puts back the file to the EFI folder

#!/bin/bash sudo diskutil unmount /dev/disk0s1 sudo diskutil mount /dev/disk0s1 sleep 3 cd /Users/$USER/Desktop mv SSDT-THBT.aml /Volumes/EFI/EFI/CLOVER/ACPI/patched sudo reboot

At least, this enables me to work with my eGPU on demand with the only disadvantage of having a reboot in between. Another issue, I figured in the non-hotplug eGPU mode: AirDrop causes the laptop to freeze as well - don't know, how this could relate but apart from that, pretty stable and thus backs my confidence we could get it working even in hotplug mode.

Maybe that could be a temporary fix for you as well.

Best, Phil

Thank you.
But I hope somebody can drive it as native eGPU :)
 
philberlin is there success since that time? I am thinking about buy t480s and use it with Razer Core X with Radeon Vega 64 :)
 
Last edited:
Maybe someone here can help steer me into the right direction. I have a Razer Blade Stealth on Catalina that Im trying to get to work with an eGPU.

If I plug the EGPU in on boot the laptop display turns off and the external display shows me the splash screen, the boot device selection screen and proceeds to the apple logo and progress bar but then stops at half full.

If I press a key the external display turns off and the laptop proceeds to load macOS but I dont get eGPU acceleration. I can see the GPU in system reporter (RX 5700 XT) but the slot is blank.

I dont really mind not having hot plug Im happy to reboot everytime i need to go on the egpu.
 
Status
Not open for further replies.
Back
Top