[SOLVED] Thunderbolt eGPU detection on Linux

I have the i5 DIY edition, and am running Manjaro Gnome with the UEFI 3.06. I transferred my SSD with Linux from my previous laptop (Dell XPS 13 9370) to this new one, and everything seems to be working perfectly EXCEPT for Thunderbolt detection.

I have a Thunderbolt 3 eGPU enclosure (the AORUS Gaming Box 2070) and am attempting to detect it. However, I’m not able to find it with either lspci or boltctl (output below).

lspci

00:00.0 Host bridge: Intel Corporation 11th Gen Core Processor Host Bridge/DRAM Registers (rev 01)
00:02.0 VGA compatible controller: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] (rev 01)
00:04.0 Signal processing controller: Intel Corporation TigerLake-LP Dynamic Tuning Processor Participant (rev 01)
00:06.0 PCI bridge: Intel Corporation 11th Gen Core Processor PCIe Controller (rev 01)
00:07.0 PCI bridge: Intel Corporation Tiger Lake-LP Thunderbolt 4 PCI Express Root Port #0 (rev 01)
00:07.1 PCI bridge: Intel Corporation Tiger Lake-LP Thunderbolt 4 PCI Express Root Port #1 (rev 01)
00:07.2 PCI bridge: Intel Corporation Tiger Lake-LP Thunderbolt 4 PCI Express Root Port #2 (rev 01)
00:07.3 PCI bridge: Intel Corporation Tiger Lake-LP Thunderbolt 4 PCI Express Root Port #3 (rev 01)
00:08.0 System peripheral: Intel Corporation GNA Scoring Accelerator module (rev 01)
00:0a.0 Signal processing controller: Intel Corporation Tigerlake Telemetry Aggregator Driver (rev 01)
00:0d.0 USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)
00:0d.2 USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 NHI #0 (rev 01)
00:0d.3 USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 NHI #1 (rev 01)
00:12.0 Serial controller: Intel Corporation Tiger Lake-LP Integrated Sensor Hub (rev 20)
00:14.0 USB controller: Intel Corporation Tiger Lake-LP USB 3.2 Gen 2x1 xHCI Host Controller (rev 20)
00:14.2 RAM memory: Intel Corporation Tiger Lake-LP Shared SRAM (rev 20)
00:15.0 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #0 (rev 20)
00:15.1 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #1 (rev 20)
00:15.3 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #3 (rev 20)
00:16.0 Communication controller: Intel Corporation Tiger Lake-LP Management Engine Interface (rev 20)
00:1d.0 PCI bridge: Intel Corporation Device a0b1 (rev 20)
00:1f.0 ISA bridge: Intel Corporation Tiger Lake-LP LPC Controller (rev 20)
00:1f.3 Audio device: Intel Corporation Tiger Lake-LP Smart Sound Technology Audio Controller (rev 20)
00:1f.4 SMBus: Intel Corporation Tiger Lake-LP SMBus Controller (rev 20)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP SPI Controller (rev 20)
01:00.0 Non-Volatile memory controller: Intel Corporation SSD Pro 7600p/760p/E 6100p Series (rev 03)
aa:00.0 Network controller: Intel Corporation Wi-Fi 6 AX210/AX211/AX411 160MHz (rev 1a)

lspci | grep -i β€˜vga’

00:02.0 VGA compatible controller: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] (rev 01)

boltctl

β—‹ GIGABYTE GAMING BOX
β”œβ”€ type: peripheral
β”œβ”€ name: GAMING BOX
β”œβ”€ vendor: GIGABYTE
β”œβ”€ uuid: 0033d9f4-b85f-ed00-ffff-ffffffffffff
β”œβ”€ generation: Thunderbolt 3
β”œβ”€ status: disconnected
└─ stored: Tue 09 Nov 2021 12:35:20 PM UTC
β”œβ”€ policy: iommu
└─ key: no

^ (this output from boltctl shows the successful Thunderbolt connection from my previous laptop)

inxi

CPU: Quad Core 11th Gen Intel Core i5-1135G7 (-MT MCP-)
speed/min/max: 1311/400/4200 MHz Kernel: 5.14.18-1-MANJARO x86_64 Up: 4m
Mem: 3322.1/15790.3 MiB (21.0%) Storage: 2.33 TiB (34.2% used) Procs: 290
Shell: Zsh inxi: 3.3.09

I understand that Thunderbolt requires user authorization to work; do I have to authorize the device somehow? I would rather not have to install Windows alongside my Linux partition just to fix this problem, but I guess I can if that is the only option. Any help would be appreciated. Thanks!

UPDATE: it seems it was a power issue with the eGPU enclosure itself. I cut power to the enclosure for at least two minutes, and after turning it back on it was instantly recognized by lspci

Second update: I forgot about this thread, but for anyone else who finds this and has the same problem: I’m pretty sure the issue is with power draw. When the laptop is at 100% charge, the GPU spins up fine; however, when it draws power to charge the battery, it will have issues with supplying power to the GPU, and may either fail to recognize the GPU or shut down during a gaming session. The solution is likely to get a PSU that can supply more power.

1 Like

Thanks for the update.

Just so we know:

Which GPU do you have and how much does it draw? How much does the eGPU case supply?

All these info without clarity isnt worth much in my opinion.

1 Like

Thank you for updating this thread @Zachary_Burnett , someone will likely encounter the same issue with Thunderbolt eGPU in the future and it’s nice to have a reference point.

2 Likes

@Anachron the eGPU is an Aorus Gaming Box with gigabyte’s RTX 2070; I think that draws something like 200 or 300 W at full load. The PSU is a MicroATX 85% 450 W (I ended up swapping from the stock PSU to help solve this issue).