linux:egpu

Updated procedure for Linux Mint 22 and eGPU running Nvidia GTX 1060 6GB

Thunderbolt (TB3/TB4) is explicitly designed for hot-plugging.

It uses :

  • Hot-plug–safe PCIe tunneling
  • Overcurrent protection
  • Digital handshaking before enabling high-power lanes
  • Cable and device negotiation before link-up
  • Mandatory protective circuitry required by Intel’s TB certification

You are supposed to plug and unplug TB devices while the system is powered — that’s how eGPUs, docks, displays, and drives are meant to work.

There is no scenario in which hot-plugging a functioning Thunderbolt cable damages the hardware.

Plug-in sequence

- Power on laptop normally
- Log into desktop
- Turn ON the eGPU enclosure
- Wait 2–3 seconds (GPU initializes)
- Plug in the Thunderbolt cable
- Wait for the OS to detect/authorize the eGPU

Unplug sequence

- Close any apps using the eGPU (optional but safer)
- Save your work
- Unplug the Thunderbolt cable
- Wait 2–3 seconds
- Power OFF the eGPU enclosure if desired

Note: On older Thunderbolt 3 laptops (e.g. 2017 Razer Blade Stealth), the eGPU must be plugged after boot, otherwise the system may hang during startup.

1. Install Thunderbolt tools

sudo apt install bolt thunderbolt-tools

Ensure the bolt service is running:

systemctl status bolt

2. Verify Thunderbolt controller

lspci | grep -i thunderbolt
lsmod | grep thunderbolt

Expected:

  • Intel Thunderbolt controller listed
  • thunderbolt kernel module loaded

3. BIOS configuration

In BIOS:

  • Thunderbolt: Enabled
  • Security Level: No Security (SL0)

⚠️ Required, otherwise devices may not enumerate under Linux.

4. Connect and authorize the eGPU

Boot the laptop without the eGPU connected.

Then:

  • Power ON the Core X
  • Plug the Thunderbolt cable

Check detection:

boltctl list

If needed:

sudo boltctl authorize <UUID>

Verify PCIe device:

lspci | grep -i nvidia

5. Install NVIDIA driver

Install the recommended driver (for GTX 1060):

sudo apt install nvidia-driver-535

⚠️ Do NOT use NVIDIA .run installer (breaks package management and updates)

6. Disable nouveau driver

echo "blacklist nouveau" | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
echo "options nouveau modeset=0" | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf
sudo update-initramfs -u

Reboot (without eGPU connected).

7. Create PRIME offload helper

Linux Mint 22 does not provide prime-run by default.

Create it manually:

sudo nano /usr/local/bin/prime-run

Content:

#!/ bin / sh
__NV_PRIME_RENDER_OFFLOAD=1 \
__GLX_VENDOR_LIBRARY_NAME=nvidia \
__VK_LAYER_NV_optimus=NVIDIA_only \
__NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 \
exec "$@"

Make executable:

sudo chmod +x /usr/local/bin/prime-run

8. Test GPU usage

Connect the eGPU after boot, then run:

nvidia-smi

You should see the GTX 1060 listed.

Test offloading:

prime-run glxinfo | grep "OpenGL renderer"

9. Usage

Run applications on the eGPU:

prime-run <application>

Example:

prime-run blender
prime-run steam

10. Important notes

  • Laptop must boot without eGPU connected (known limitation on this hardware)
  • eGPU must be hot-plugged after login
  • Internal display introduces a ~20–30% performance penalty (PCIe copy-back)
  • External monitor connected to the GPU removes this penalty completely
  • Cycles rendering (Blender) is not affected by this limitation
  • linux/egpu.txt
  • Last modified: 2026/04/25 12:30
  • by mh