Framework 16 + eGPU + Bluefin Setup Diary

I’ve been using the Framework 16 with Bluefin for about 6 months now, and what initially felt quite fiddly (because of my own choices) has become pretty stable. Here’s a log of some bumps I hit in case they’re of interest to other folks down the road:

Initial Install

10/10 would do again :grin: . Really no issues.

Main Initial Friction Points

Once I got past the initial install and started actually doing stuff, I started to feel some papercuts:

  • The Framework fan noise was quite loud under even minor load
  • Game performance was worse than my Steam Deck (in games like Cyberpunk 2077, Final Fantasy XVI, Unavowed… couldn’t sustain 30fps at 1080p)
  • Games periodically crashed the entire system without warning
  • I couldn’t get eGPU passthrough to work with a Windows VM
  • I couldn’t use my preferred window manager (Regolith Desktop)

And to chip away at those issues…

Fan Noise

I handle this from 2 different angles:

  • CPU: I use a command like cpupower frequency-set -g performance -u 3.5GHz to cap my CPU at a lower frequency. It’s not usually the limiting factor for whatever I’m doing, and the lower frequency cap helps a lot with the temperatures and fan noise.
  • GPU: I picked up an eGPU (Radeon 7800 XT + ADT-Link UT3G USB4–>PCIe adapter), and use a combination of GitHub - ewagner12/all-ways-egpu: Configure eGPU as primary under Linux Wayland desktops and app-specific environment settings to be sure that card is the primary/only device.

Gotchas:

  • Only some port locations on the Framework 16 support USB4 (reference).
  • I still occasionally have to reboot because the laptop hangs while trying to wake from sleep. There’s no pattern to this that I can identify, it just sometimes wakes up and sometimes doesn’t :-/.

Game Performance

A decent GPU + enclosure helps for sure, but some apps or games are determined to touch GPUs beyond the external one you want them to use. For games running in Proton with Vulkan, it’s useful to include environment variables like:

DRI_PRIME=pci-0000_0a_00_0!
MESA_VK_DEVICE_SELECT=1002:747e!

…substituting your own GPU’s PCI address and vendor/device ID as appropriate. The ! at the end means “don’t just prioritize this device, only look at this device” (reference).

Honestly though, the most noticeable performance boost came when the Steam Flatpak started using Mesa version 25 under the hood. As far as I can tell, that’s because Mesa 25 included some performance bumps specific to AMD GPUs. I’ll take a free win here :sweat_smile: .

Games Crashing the Whole System

In my case, this was a weird issue where Vulkan/Mesa/something would sometimes try to force the GPU clock speed beyond its bounds if the card was set to Auto performance mode. Somewhat counterintuitively, using a tool like LACT to switch the card to High performance mode eliminated these crashes.

eGPU Passthrough for a Windows VM

I tried so, so many things here and will never get those hours back :sweat_smile: . Fortunately the performance bumps from Mesa 25 got my games running well enough that I was happy to stop digging.

Unable to run Regolith Desktop via Distrobox

This is probably my main personal “open issue”. When I’m working I lean heavily on Regolith Desktop. I don’t necessarily need it at home, but my fingers still want it. I’ve tried many of the steps described in posts like this and elsewhere, and have gotten to the point where I can run a Regolith session in a window inside a GNOME Classic session, but trying to log directly into Regolith hangs briefly and puts me back at the login screen. I don’t expect a solution for this since it’s such a niche-within-a-niche, but if anyone has favorite resources for running alternative window managers via Distrobox I’d check them out and say thank you :grin: .

Thanks!

Shout out to @j0rge and all the other folks working on Bluefin (Just how many of us are making this thing?), because after half a year or so of usage it’s been mostly sunshine and rainbows. And the issues I’ve hit have mostly been my own dang fault :smiling_face_with_sunglasses: .

3 Likes

This is awesome thanks AJ!

1 Like

This outstanding!! Well done!! Sharing this internally with my Linux support team for our customers.

2 Likes