External GPU (eGPU)
At WATonomous, we integrate a eGPU by using a Razer Core X Chroma.
eGPU vs. dGPU?
A eGPU is completely external the the computer, it’s generally connected via Thunderbolt. In contrast, a dGPU is detached, but it’s integrated into the PC.
Setup
Setting the eGPU was quite painful. Here are some notes on how I did it with Albert at WATonomous on a Ubuntu 22.04 machine, which was connected to a eGPU. Some of this is in the WATonomous Logs.
Over this setup process, I ran into quite a few terms:
The basic idea is to use the egpu-switcher, which will setup the xorg.conf file.
Guide
1. install nvidia driver:
- sudo apt-get install nvidia-driver-525-open
2. reboot
3. install eGPU switcher:
- download release 0.19.0 egpu-switcher-amd64
- sudo cp Downloads/egpu-switcher-amd64 /opt/egpu-switcher
- sudo chmod 755 /opt/egpu-switcher
- sudo ln -s /opt/egpu-switcher /usr/bin/egpu-switcher
- sudo egpu-switcher enable
- select eGPU
4. reboot
5. add Kernel parameter
- sudo nano /etc/default/grub
- change line GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" to GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia.NVreg_OpenRmEnableUnsupportedGpus=1"
- sudo update-grub
6. reboot
7. done!
- I installed
nvidia-driver-535
(the latest) and it was working fine
Before anything, you should run
lspci
and make sure you can see the GPU. If you use for example a cheap USB-C (and not thunder)
I ran into black screen issues. Make sure to:
- Turn off thunderbolt boot
Thunderbolt boot means like booting from an external device. We turned it off.
nvidia-settings
Change from NVIDIA On-Demand to NVIDIA (Performance Mode), so we always use the eGPU. This was the right idea, but not entirely
We need to do
- so it defaults to using NVIDIA gpu
Some extra resources for debugging
Then, i needed