Need help/advice setting up Nvidia eGPU on Fedora 43 (akmod results in bootloop)

Distro: Fedora 43

Kernel: 6.18.7-200.fc43.x86_64

BIOS: 3.18

Model: Framework 13, AMD 7840u

Hi there, I’m currently trying to get a 4070ti working using the Minisforum DEG2. I’m not having much luck to be honest, which is expected haha. I would have thrown my 9070xt in the dock but that’s in one of my desktops, so it was either a 1050, 3060 or 4070ti I had lying around.

The eGPU and dock is picked up by the default Nouveau driver. I have followed the steps from RPM Fusion. The issue comes after rebooting, when akmod is building, and even if I force the build, with akmod –force, it appears something goes wrong and causes the system to not boot into Fedora while the eGPU is connected - it just throws me to the grub kernel selection screen repeatedly.

If I remove the eGPU connection, it then boots successfully into Fedora. If I try hot plugging, it crashes out to grub again. If I instead remove akmod, it can then boot again with the eGPU plugged in but is of course on the default Nouveau driver again which isn’t desirable.

Maybe I’m missing something obvious, so any help would be appreciated.

Edit: Verified the setup and hardware works on Windows, so the issue is Linux specific at least.

I attempted Bazzite to see if I could get that working, but alas it did not.

Next, I’ve tried Ubuntu 24 LTS and I got it working although it takes a little effort. I’m yet to test performance but I’ve got the Nvidia driver working. I’ll list the steps.

  1. Make sure the eGPU is not plugged in, otherwise Ubuntu just crashes and boot loops.
  2. Boot up into Ubuntu
  3. Open terminal
  4. Run sudo apt install nvidia-driver-550 nvidia-utils-550. That was the driver I chose as I know it should work with the 4070ti.
  5. Do not restart or plug in the eGPU yet.
  6. The GPU System Processor (GSP) needs disabling as it seems to behave in a funky way on Linux.
  7. Open the GRUB config: sudo nano /etc/default/grub
  8. Append the following to GRUB_CMDLINE_LINUX_DEFAULT: nvidia.NVreg_EnableGpuFirmware=0 nvidia.NVreg_OpenRmEnableUnsupportedGpus=1
  9. If done correctly, the line will look like: GRUB_CMDLINE_LINUX_DEFAULT='quiet splash nvidia.NVreg_EnableGpuFirmware=0 nvidia.NVreg_OpenRmEnableUnsupportedGpus=1'
  10. Save and exit: Ctrl+OEnterCtrl+X
  11. Update the GRUB: sudo update-grub
  12. Still don’t restart, the Nouveau driver is funky on Ubuntu unlike Fedora… It needs blacklisting. Run the following two commands: 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
  13. Then update the boot process: sudo update-initramfs -u
  14. Shut down the laptop
  15. Plug in the eGPU and turn it on.
  16. Turn on the laptop
  17. It should now boot successfully. Open the terminal and try running nvidia-smi, it should spit back some information including your GPU name, driver version, etc… For me, it tells me the driver version is 580.126.09 and CUDA version 13.

To verify it is working:

  1. Install glmark2 (an opengl 3D acceleration thing): sudo apt install glmark2
  2. Run it on the GPU, the terminal should show it running on the 4070ti: __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glmark2

The same two environment variables, I believe, can be used in Steam launch options as the following: __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia %command%

Just checked Borderlands 2, using Proton, and that used the 4070ti as the GPU with the launch properties set so it all seems to be checking out now :smiley:

Hopefully this is helpful for others as I felt like I was banging my head on a brick wall, it was difficult to find anything to do with the issue I had or a easy enough guide on getting it working.

Still not sure on why Fedora and Bazzite want to play ball, but I would reason it would be a similar fix. If anyone could fill me in, that would be appreciated.

Made a little script doing essentially this, also added in a grub param for nvidia modeset as that apparently is needed for Wayland? Kubuntu is showing as running x11 for me, so it doesn’t do anything as far as I can tell for x.

I haven’t tested the script as its for future reference if I need it, so if there’s any errors or redundant parts… let me know: f13_7840u_nv_egpu_kubuntu_24.04.sh