The quest for a no-compromise Framework 13 with a 64Gbps eGPU - the FramekenWork

Hello everyone. I’m planning to purchase a Framework 13 AMD in the very near future and mod it extensively, the first mod being a proper eGPU. I plan to consolidate all my plans and information in this thread. English is not my first language, so apologies in advance for any mistakes:) I will also be quite busy for the next couple of weeks and I’m not sure how well I’ll be able to reply, but I hope this won’t be the case, and my ADHD demands some sort of complete write-up now:))

The Goal:

Have a convienient and lightweight laptop to carry around that I can dock back at home and turn into a desktop-like workhorse with a proper discrete GPU.
I currently have a desktop with a 7900xt - however, the next couple of years promise to be very active in terms of moving between places, and I’m planning to sell it, save the GPU and PSU.

The Plan:

eGPU
First of all - options for connecting the GPU.

  • USB4 allows for a 32/40Gbps connection through PCIe tunneling. While this is miles better than what we had before TB3, it’s still a bit low for modern GPUs, judging by existing builds on egpu.io. Examples here and here.

Next option - repurposing the internal M.2 storage connector; I will discuss what I plan to do with storage later. Using the wifi slot doesn’t work, as it gets only either 1 or 2 PCIe lanes (not sure which exactly, but either way it’s less than needed)

  • Direct M.2 to PCIe x16 risers such as these seem like a low-cost way to achieve full PCIe 4.0 x4 speeds, but it would mean either carrying around a dangling x16 slot or designing some kind of enclosure for it to store while not in use, increasing the overall laptop footprint. seems far from ideal.

  • Oculink - now this seems like what the previous option offered, but without the inconvienience. An adapter like this seems optimal, with the most flexible option of routing the cable. Now the question left is where to place the port - not having the device in my hands complicates planning, but after staring at the internals for a good 20 minutes I think I’ve found a spot. Here is what I’m thinking:

As much as I appreciate the Framework team including extra screws inside the laptop (seriously - as someone who spent his childhood disassembling and fixing laptops, it’s a godsend), for our purposes it seems like some extra space we can use:) A little work filing off the screwholes, and some very very careful work with a graver in the side, and it seems like a very convenient place to put the connector. (If someone finds some extra time to measure the actual size I’d have to work with there it would mean millions to me). Worst-case scenario - the connector will stick out of the back a bit, but since it’s in the back it’s far from the worst it could be, and some glued-on 3d-printed bits to make it more flush would protect it further from any accidental knocks. I do have some concerns about the cable getting too hot from laying on the heatpipes, but seems like nothing a bit of thermal isolation or a longer cable can’t remedy.

Storage
Now, what to do with storage? Couple of options here, once again. For my puproses, I run Fedora for pretty much everything aside for games, for which I use a cleaned out Windows 11 install.

  • Option 1 - just grab a couple of storage expansion modules and run the OSs off that. However, this limits storage space to just 1tb for now, and using flash storage for everything seems suboptimal.
  • Option 2 - move wifi+bt to an expansion module and use a 2230 ssd in its place. This, however, also somewhat limits our storage options, and probably means figuring out how to get the antennas working in such a small space. Meh.
  • Option 3 - custom 2230 enclosure as an expansion module. This seems like the most optimal option. This was actually already discussed in this thread, and was kind of the final piece in the puzzle for me. This way, we get fast, modular storage that barely sticks out the side. I plan on reworking the designs from that thread, including fitting some kind of large heatsink to hopefully solve the overheating issues. If I do end up going for this, then I plan on making two - one for each OS. Just plug in the one I want at the moment, and boot from that.
  • If none of these options work, I have theorized about making a sideways 2280 enclosure for more space and better heat dissapation.

Conclusion, for now
As you can see, this project is currently only in it’s planning stage, and I am sure that I will run into many roadblocks in the process of creating the FramekenWork, but I think this thread is a good starting place for now:) What do you guys think?

Unrelated other mods I’m planning

  • Oled display upgrade
  • Full custom gpu+cooling dock
  • Split keyboard cover mod

P.S.
I cannot fully express my admiration for the Framework team. I would have only dreamed to do this on some other laptop, and having the ability to do so means that for the first time in many years, I can look at a laptop company (and generally consumer electronics manufacturer) and actually wholeheartedly support their mission. What you guys are doing is amazing, and I wish you only the best in the future.

P.P.S
Apparently I can’t put more than 2 links in a post as a new user, haha
I’ve uploaded most of what I linked as pictures for now, as soon as I figure out how I’ll share the rest of the links. Edit - added!

1 Like

The issue is the screen here. With this protruding (or a cable connected) you will not be able to open the screen anymore as it folds behind the back of the main chassis.

/h

I doubt it will be an issue. For the screen opening regularly, does the bottom of the screen open until it’s flush with the chassis? If it does protrude, I doubt it will be more than a few millimeters, oculink is a relatively short connector. As for when the eGPU is connected, using the internal screen is wasteful bandwith-wise anyways, I’m not planning to have the laptop open when it’s docked.
But it is a potential concern, I guess, thank you. I’ll try to get some concrete measurements once I have the laptop and post them here.

Edit: A potential idea I just had is to place the connector in the same spot, but pointing downwards instead. Food for thought until I have measurements.

I may be wrong here, but from what I understand, this is intended for desktop/server systems where the PSU that will power this PCB (and the GPU inserted into its PCIe slot) is already connected to the system’s MOBO. Otherwise the PSU will probably not deliver any power to such adapter and any GPU inserted into it: that’s why eGPU adapters have ATX power connectors to PSUs.
If you intend to disconnect your eGPU, then OCuLink is definitely a better way to go, but in the realm of “fixed cable” solutions, probably something like ADT-Link F43SG would work fine.

Ah, that’s possible, yes. Either way I plan to use an external PSU, a PCIe slot can’t supply enough power for modern GPUs

that’s not what i meant: an ATX connector between an eGPU adapter and its PSU is to my understanding needed to trigger power delivery to the inserted GPU via 6+2pin or 12vhpwr PCIe power connectors from this PSU. Hope it’s clear now :wink:

You need to “inject” 3.3V (and other voltages) a GPU might want into the slot, the “m.2 to PCIe adapter” won’t carry any of those voltage due to safety concerns. Hence usually you will find some form of power connector on that PCIe board.

Oculink is cool, but you still need to figure out the not-hot plug. Similar to a m.2 to PCIe direct link, but allows for faster disconnect.

If you want m.2 drives as well, consider a PCIe switch. If you are concerned about pricing, I think there is a Viking Enterprise u.2 to quad m.2 adapter. Just chain that. Though I dont know about latency penalty.

USB4 is the best (albeit very expensive) consumer-friendly solution for all of this.

1 Like

From what I’m understanding, I just need to make sure that the oculink dock to get with this setup has separate ATX power delivery for itself, correct?

This is largely correct. The exact power requirement depend on the board, I guess.

Which brings us back to the point of the whole thing. If you already have a (PCIe desktop) GPU, I guess that’s fine. Spend $100-$200 on a eGPU solution, one can largely get rid of the desktop.

Personally I use a 16, so I straight up get PCIe x8 slot. This is fantastic news, someone even mocked up a oculink (x4) connector board, stemming off of the dual m.2 carrier. But I don’t own a desktop PCIe (minus the Arc A750, which isn’t terribly powerful anyway), the 7840HS delivers plenty, especially after my cooling mod.

1 Like

Personally I have never heard of an eGPU OCuLink dock WITHOUT an ATX connector. I am not sure such docks exist (maybe some specialized server stuff again). Certainly all consumer brands known to me (ADT-Link, EXP-GDC, Minisforum, NFHK) have ATX connectors on all models.

In case of OCuLink the cost is barely above 100USD and that’s for docks with redrivers to be on the safe side (DEG1 and OCuP4v2 are ~100USD + ~10USD for an M.2 OCulink module). If you are feeling lucky, you can go for a “raw” connection and then it’s ~30USD total (but of course it’s a subject to a silicon lottery then and it may turn it won’t work at all).