2019 15" Dell Precision 5540 (Q T2000) [9th,8C,H] + RTX 2070 Super @ 32Gbps-TB3 (Razer Core X Chroma) + Linux & Win10
This is my first post on the eGPU forums! I used this website heavily when researching options for buying my new computer. The amazing support and documentation of eGPUs here led me to decide on a compute-focused laptop with a companion eGPU for gaming. I want to pay back and submit my build for other's reference. I see one other person here has almost the same setup (hello Simon!). My guide provides Linux installation and benchmarks as well as Windows.
Model: Dell Precision 5540 (2019)
Processor: Intel® Core™ Processor i9-9980H, 8 Core, 16MB Cache, 2.40GHz up to 5.00GHz Turbo, 45W
Integrated Graphics: Intel® UHD Graphics 630 (Mobile)
Discrete Graphics: NVIDIA Quadro T2000 w/4GB GDDR5
Display: 15.6" UltraSharp FHD IGZO4, 1920x1080, AG, NT, 100% sRGB
System Memory: 16GB, 2x8GB, DDR4 2666MHz Non-ECC
Storage: Samsung PM961 512GB NVMe (M.2 22x80 4xPCIe3.0)
External Graphics Specs
Full album: https://imgur.com/a/ZXckj72
The RTX 2070 Super fits easily into the Razer Core X Chroma. Power connectors matched, and the GPU power supply of the Core (500W) is within the demands of the 2070 (215W).
The Core is connected to the laptop with the Core's included 0.7m Thunderbolt 3 cable. My external display is connected to the eGPU via the display’s included DisplayPort cable.
I installed the proprietary NVIDIA drivers from my distribution’s (Arch Linux) package manager. Both the Quadro and 2070 were correctly detected by my system. I have Thunderbolt security enabled in my laptop firmware settings, so I also needed to install the bolt utility and authorize the Core. This is not needed if you disable Thunderbolt security.
While the X server did detect all three graphics cards in my system, it decided that the Quadro should be the primary card. In order to make the 2070 the primary card, I created an X configuration Device entry for the 2070. Because it is the only Device configured, X picks it as the primary. I wrote a script to detect if the 2070 was connected and apply the custom config. This was required because if I want to use my laptop without my eGPU, the presence of the invalid 2070 Device section will prevent X from starting.
The BusID is specific to your setup. Determine the ID from the output of lspci.
Section "Device" Identifier "NVIDIA RTX 2070 Super" Driver "nvidia" VendorName "NVIDIA Corporation" BusID "PCI:7:0:0" Option "AllowExternalGpus" EndSection
There were no further problems after configuring X to use the eGPU. Games run great, no crashes, and no rendering errors. The card is detected both if connected at boot and if connected after startup. I have not yet found a way to safely eject the eGPU without shutdown, so take care not to remove the eGPU while the system is running.
One final note, during troubleshooting I found a way to forcibly disable the Quadro card. This is not required, nor do I currently use this, but it may be useful to you. One must force the Quadro device to load with the vfio_pci kernel driver. This disables the nvidia driver on the card and the substitute driver will keep the device powered down. I used parts of this wiki entry: https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF
I installed the NVIDIA drivers for the RTX 2070 Super by searching for my specific card on their website and installing the latest version of the driver. DO NOT install the driver via GeForce Experience because it may see your Quadro card first and ignore your 2070 (that is what happened to me!). I then installed the Intel graphics driver from Dell’s website. Lastly I installed Razer Synapse to get the drivers for the Core. I am unsure if Synapse is strictly required. I authorized the Core via Intel Thunderbolt Security. The connected display showed up in the NVIDIA control panel and Windows display settings. After some configuring, it was set to the primary.
After a few restarts, I came across a problem where the eGPU display would freeze for a few frames every two seconds. This happened everywhere – on the desktop, in games, and in fullscreen apps. To fix this, I reinstalled the Intel graphics driver and restarted. The freeze problem was then fixed until the system was restarted, at that point I would need to install the driver again. If you encounter this, best of luck! My permanent solution was to disable the Intel graphics device in Windows Device Manager as I don’t need my integrated display at my desk.
All benchmarks are done on my external 3440x1440 100Hz display, connected to the eGPU.
Unigine Superposition 1080p medium: Linux OpenGL 13904, Windows OpenGL 12744, Windows DirectX 14270.
Unigine Superposition 4K optimized: Linux OpenGL 6957, Windows OpenGL 6743, Windows DirectX 6977.