Linux already has support for using external graphics cards via Thunderbolt 3, in this case over USB type C using the Razer Core.
Here is how you set it up:
- Enter the NUC bios and set the Thunderbolt mode to legacy. This may allow local Thunderbolt devices to interface with your computer without authorization, so don’t do this if you’re in a public setting.
- Follow the instructions in the Arch wiki to install your graphics driver. In my case, I followed the Nvidia instructions.
- Identify the bus id of your graphics card:
- In my case, my bus id is “08:00.0”. You will need this bus id for a custom Xorg config.
- Put the following snippet into your 20-nvidia.conf:
- Blacklist the Intel video driver to avoid any potential conflicts. I put the following into my /etc/modprobe.d/blacklist.conf
$ lspci | grep VGA 00:02.0 VGA compatible controller: Intel Corporation Iris Pro Graphics 580 (rev 09) 08:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1080] (rev a1)
$ sudo touch /etc/X11/xorg.conf.d/20-nvidia.conf
Section "Device" Identifier "Nvidia Card" Driver "nvidia" VendorName "NVIDIA Corporation" Option "NoLogo" "true" BusID "PCI:8:0:0" EndSection
blacklist i915 install i915 /bin/false
And that’s it! I didn’t see an option to disable onboard graphics in the NUC bios, so you should continue to see tty output to the onboard graphics, in addition to a graphical tty on the Nvidia video outputs.