Framework user creates OCuLink x8 expansion module

Framework Laptop 16 now has access to a community-built OCuLink expansion module, designed by forum user Filip. His custom board plugs into the laptop’s Expansion Bay and exposes an OCuLink x8 connector for external graphics use. Framework still does not offer an official OCuLink module, so this design fills a gap for users who want a direct PCIe link for eGPUs instead of relying on USB4 or Thunderbolt enclosures.
Typical OCuLink eGPU setups use a x4 link, which can limit bandwidth in some workloads. Filip’s board breaks from that pattern by wiring all eight PCIe lanes from the Expansion Bay to an OCuLink x8 connector. With eight lanes, external GPUs can run with almost no performance penalty compared to a desktop install, as long as the GPU and host negotiate a fast enough PCIe generation. The exact performance still depends on whether the card and platform run at PCIe 4.0 or PCIe 5.0 speeds.
A huge milestone. Filip in the Framework Community has built what may be the first ever Oculink x8 connector on a laptop, through a custom module for Framework Laptop 16. That makes eGPUs possible with almost no performance hit vs putting the same graphics card in a desktop! pic.twitter.com/nQGGA8tHRW
— Framework (@FrameworkPuter) December 3, 2025
The board now shipping from Filip’s repo matches the design he has shown in recent photos, but with one key routing change. On the firmware side, Filip built a custom PCIe configuration by modifying Framework’s public repo. He started from the M.2 profile, stripped out SSD-specific power control, and defined the device as a generic PCIe accessory with an 8×1 lane layout to enable x8 operation.
Filip presented a screenshot of the RTX 4070 GPU running at PCIe 4.0×8 specs without issue. With 8 lanes on PCIe 4.0 specs users should see minimal performance loss (usually around 1-2%).
Source: Filip/Framework
Framework Laptops are very interesting from modding perspective, and give users a chance to only replace modules that they need. Framework does not offer OCuLink modules yet, and it does not appear that they will, but at least you know there’s a strong community that may eventual come up with solutions.
Source: Framework