===== Razer Core X eGPU ===== //Updated procedure for Linux Mint 22 and eGPU running Nvidia GTX 1060 6GB// ==== Regarding hot-plug ==== 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. ==== Setup Procedure (Linux Mint 22 + Razer Core X + GTX 1060) ==== === 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 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 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