Expansion card slowdown

Hi all. I currently have a DIY Edition Framework Laptop that I received about a week ago as part of Batch 3. I’m currently using NixOS (currently on kernel ver. 5.13) as my primary OS. Shortly after getting things set up, I noticed that the laptop felt generally sluggish (e.g. moving the mouse around quickly on web pages was laggy, sometimes there would be graphical stuttering, etc.)

After seeing a few posts about expansion cards causing performance issues, I randomly decided to remove my DisplayPort expansion card, which to my surprise resulted in improved performance. I decided to attempt to follow this guide, but noticing that the guide was intended for batches 1-2 and not being able to move the EMI sticker, I closed the laptop, rebooted, and the problem appeared to be fixed despite me ostensibly changing nothing.

More recently, after noticing longer-than-expected boot times, I decided to do a rather crude test wherein I moved around various expansion cards to different slots, sampling boot time 2-3 times each. From these not-very-scientific measurements, I found that the base time to GRUB menu was roughly 5 seconds. Inserting one or two USB-C expansion cards seems to have minimal (if any) effect on this time. However, I noticed that inserting a USB-A expansion card bumped up the boot time to around 7-9 seconds, and inserting the DP expansion card increased this to a whopping 15-20, regardless of port. Right now, if I insert the DP card, there is a noticeable slowdown in graphics performance. Removing it resolves the issue.

That’s all I’ve discovered so far. Interested to hear if others have had an issue like this, and I am also curious what further steps I could take to try to narrow down the root cause.


Linux graphics drivers are a hot mess sometimes. While this should be investigated by the Framework team, I’d hazard a guess that simply connecting a DisplayPort port to a Thunderbolt port may have revealed a Linux bug.

Have you tested whether there are any ill effects when it’s plugged into a monitor using the DisplayPort card?

I am currently waiting on a monitor to arrive so I’ll try that soon and report back. However, what makes me skeptical that this is a driver issue is the fact that the time to boot menu is increased drastically, ostensibly before the real graphics driver even comes into play (though I’m not very knowledgeable about the boot process so I could be wrong here.) There’s also the question of why the USB-A card seems to produce a similar (albeit less pronounced) effect.

An update: my monitor arrived and I tried it out with the DisplayPort card. I had very limited success getting it to work. It seems to be functional only very rarely upon plugging it in, but when it does work, it seems to work quite well and the stuttering that I noticed seems to subside. Here’s what shows up in dmesg when it fails, though:

[ 1427.546054] usb usb2-port4: Cannot enable. Maybe the USB cable is bad?
[ 1427.783054] usb 3-6: new full-speed USB device number 5 using xhci_hcd
[ 1428.187738] usb 3-6: New USB device found, idVendor=32ac, idProduct=0003, bcdDevice= 0.00
[ 1428.187741] usb 3-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1428.187742] usb 3-6: Product: DisplayPort Expansion Card
[ 1428.187743] usb 3-6: Manufacturer: Framework
[ 1428.187743] usb 3-6: SerialNumber: 11AD1D00DB6F2E06313C0B00
[ 1428.196726] hid-generic 0003:32AC:0003.0008: hiddev97,hidraw4: USB HID v1.11 Device [Framework DisplayPort Expansion Card] on usb-0000:00:14.0-6/input1
[ 1431.617992] usb usb2-port4: Cannot enable. Maybe the USB cable is bad?
[ 1431.618028] usb usb2-port4: attempt power cycle
[ 1437.553100] usb 3-6: USB disconnect, device number 5

Not sure whether this is an issue with drivers or the expansion card itself, but this is a bit of an annoyance as it means I can only occasionally use the card successfully. If this is a driver error, hopefully things are better on the 5.14 kernel version, but I’m waiting on bcachefs to rebase onto 5.14 before updating.