Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| linux:egpu [2026/04/25 12:25] – created mh | linux:egpu [2026/04/25 12:30] (current) – [Setup Procedure (Linux Mint 22 + Razer Core X + GTX 1060)] mh | ||
|---|---|---|---|
| Line 17: | Line 17: | ||
| There is no scenario in which hot-plugging a functioning Thunderbolt cable damages the hardware. | 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/ | ||
| + | </ | ||
| + | |||
| + | === 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 | ||
| + | </ | ||
| + | |||
| + | <WRAP center info> | ||
| + | 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. | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ==== Setup Procedure (Linux Mint 22 + Razer Core X + GTX 1060) ==== | ||
| + | |||
| + | === 1. Install Thunderbolt tools === | ||
| + | |||
| + | <code bash> | ||
| + | sudo apt install bolt thunderbolt-tools | ||
| + | </ | ||
| + | |||
| + | Ensure the bolt service is running: | ||
| + | |||
| + | <code bash> | ||
| + | systemctl status bolt | ||
| + | </ | ||
| + | |||
| + | |||
| + | === 2. Verify Thunderbolt controller === | ||
| + | |||
| + | <code bash> | ||
| + | lspci | grep -i thunderbolt | ||
| + | lsmod | grep thunderbolt | ||
| + | </ | ||
| + | |||
| + | Expected: | ||
| + | * Intel Thunderbolt controller listed | ||
| + | * thunderbolt kernel module loaded | ||
| + | |||
| + | |||
| + | === 3. BIOS configuration === | ||
| + | |||
| + | In BIOS: | ||
| + | * Thunderbolt: | ||
| + | * 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: | ||
| + | |||
| + | <code bash> | ||
| + | boltctl list | ||
| + | </ | ||
| + | |||
| + | If needed: | ||
| + | |||
| + | <code bash> | ||
| + | sudo boltctl authorize < | ||
| + | </ | ||
| + | |||
| + | Verify PCIe device: | ||
| + | |||
| + | <code bash> | ||
| + | lspci | grep -i nvidia | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | === 5. Install NVIDIA driver === | ||
| + | |||
| + | Install the recommended driver (for GTX 1060): | ||
| + | |||
| + | <code bash> | ||
| + | sudo apt install nvidia-driver-535 | ||
| + | </ | ||
| + | |||
| + | ⚠️ Do NOT use NVIDIA .run installer (breaks package management and updates) | ||
| + | |||
| + | |||
| + | === 6. Disable nouveau driver === | ||
| + | |||
| + | <code bash> | ||
| + | echo " | ||
| + | echo " | ||
| + | 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: | ||
| + | |||
| + | <code bash> | ||
| + | sudo nano / | ||
| + | </ | ||
| + | |||
| + | 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: | ||
| + | |||
| + | <code bash> | ||
| + | sudo chmod +x / | ||
| + | </ | ||
| + | |||
| + | |||
| + | === 8. Test GPU usage === | ||
| + | |||
| + | Connect the eGPU after boot, then run: | ||
| + | |||
| + | <code bash> | ||
| + | nvidia-smi | ||
| + | </ | ||
| + | |||
| + | You should see the GTX 1060 listed. | ||
| + | |||
| + | Test offloading: | ||
| + | |||
| + | <code bash> | ||
| + | prime-run glxinfo | grep " | ||
| + | </ | ||
| + | |||
| + | |||
| + | === 9. Usage === | ||
| + | |||
| + | Run applications on the eGPU: | ||
| + | |||
| + | <code bash> | ||
| + | prime-run < | ||
| + | </ | ||
| + | |||
| + | Example: | ||
| + | |||
| + | <code bash> | ||
| + | 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 | ||