Framework 16 (AMD Ryzen AI 300): the four-monitor claim needs an undocumented BIOS UMA change and a kernel parameter, and caps at four displays total

I want to put this on the record for anyone researching the Framework 16 for a multi-monitor setup and to ask Framework to correct what the product page implies.

I bought a Framework 16 (AMD Ryzen AI 300 mainboard, discrete graphics module, four HDMI Expansion Cards) to drive four external 4K displays at 60 Hz. Out of the box on Linux (Ubuntu 24.04), it would not do it – I could get three externals running, and only after dropping resolution, while the fourth was recognized but would not light. After several weeks, I did get all four external panels running at full 3840x2160 @ 60 Hz, but only by finding two undocumented fixes myself and running into one hard hardware limit that no amount of configuration gets past.

What it actually takes (reproduction)

  • Raise the **BIOS UMA Frame Buffer Size** well above the ~512 MB default.
  • Boot Linux with **`amdgpu.sg_display=0`** on the kernel command line.
  • Connect four HDMI Expansion Cards in slots 1, 2, 4, 5 – the four bays nearest the display hinge (the bezel side) – and drive four 4K panels. In my testing, two of the six expansion bays (the two nearest me) would not drive an HDMI card at all, so all four HDMI cards have to cluster on the bezel side; those two front bays hold the Ethernet card and a USB-C card (feeding a USB-C hub) instead.

With both changes in place, it is reliable, every boot: four external 4K displays at 60 Hz.

The two blockers, neither documented anywhere a buyer would look

  1. **UMA is too small to pin four 4K framebuffers.** Against the stock ~512 MB UMA, amdgpu failed with `Failed to pin framebuffer error -12` (ENOMEM) – in one ~3.5-minute window, I logged 926 of these while trying to light four panels. Raising the BIOS UMA eliminated them.
  2. **A scatter-gather display crash in amdgpu** (`amdgpu_dm_plane_helper_prepare_fb bind failed`), triggered by ordinary Chromium/Electron apps, which needs `amdgpu.sg_display=0` to stop.

The variability people report – a card or slot “working sometimes” – lines up with these two failures plus the display-controller limit below, not flaky cards or slots. With both fixes in place, there is no variability.

The hard limit: four displays total

The AMD iGPU caps out at **four simultaneous displays**. So it is four externals, OR three externals plus the built-in laptop panel - never five. If you read “four monitors” as four externals while still using the laptop’s own screen (a reasonable reading), that combination does not exist on this machine. Four externals mean the internal panel is off.

What I’m asking from Framework

I raised this privately first (case **7S7Y65UI**). Over several weeks, I was asked to run test after test – two operating systems, a Live USB, port-by-port matrices – and in the end, root-caused it myself. My last two messages, including the full evidence and a direct set of questions, have gone unanswered. So I am asking here, in the open:

  1. **Has Framework validated that four 4K external displays work with the internal display on this exact configuration on Linux?** If yes, please share the reference slot config and settings. If no, please say so plainly.
  2. **Correct the product page** (and the expansion-card compatibility docs) to state the real limits: that four 4K external displays require a BIOS UMA change and, on Linux, a kernel parameter; which expansion bays actually drive a display (in my testing, two of the six would not drive an HDMI card at all, so the four HDMI cards must cluster on the bezel-side bays); and that the machine drives four displays total, so four externals means the built-in display is off.
  3. **Fix the default for this configuration** – a sane default UMA (and/or finer-grained UMA steps), plus getting the `sg_display` workaround in front of the AMD display team – so the next customer is not debugging “error -12” against a 512 MB default to get a capability they were sold.

I like the machine, and I am glad to have it working. What I want is for the next buyer to get the real story up front, and for the advertised capability to work as shipped. Happy to share the full logs and diagnosis with anyone from Framework who wants them.

3 Likes

I am going to monitor this situation.

1 Like

@taezea I see what you did there. Intentional or not. :rofl:

I do recall the 7040 series having confusion about what ports could display an output and there was a document that explained it. I find it odd that they wouldn’t do the same for the new AI 300 board.

I found the Expansion card slot functionality for the 7040 and found the Expansion card slot functionality for the AI 300. Both I found on USB Port Definition Matrix.
One interesting thing to note is that for the AI 300 not all of the ports support the same display port version. There’s also a discrepancy between the matrix and the image for port 2 (someone from FW should fix this). I don’t really know how display port to HDMI works, but I would think this could be part of the issue. You clearly understand it better than I do. It could be that the DP version might be the reason why the UMA is too small.

I also agree that a 4 monitor claim does seem a bit misleading. I don’t recall seeing you mention a dGPU so I assume you don’t have one or aren’t using it. I’m wondering the the claim is “Up to 4 monitors” including the dGPU. This would also be misleading.

I hope there will be less issues with display claims as newer mainboards come out.

1 Like

Thanks for the replies. @Klay_Hart, those are exactly the right docs to pull in.

The AI 300 “Expansion Card Slot functionality” page confirms the bay part of what I ran into: display output is supported on the rear four slots, not all six. That lines up exactly with my testing. The two slots nearest me would not drive an HDMI card at all, which is why all four HDMI cards had to cluster on the bezel side. So the constraint is documented in the knowledge base, but it is not on the product page where a buyer is actually deciding whether “four monitors” will work for them. That is the gap I am asking Framework to close.

Your dGPU question is a fair one, and I would rather be precise than guess. On my machine, the four external outputs come up on the AMD iGPU (the UMA framebuffer and the “error -12” I hit are all iGPU memory), and it caps at four simultaneous displays there. I have not tested driving panels off the discrete GPU, so I cannot say whether “up to 4” was ever meant to count a dGPU path. The docs I have found state four simultaneous outputs over the rear four slots and say nothing about a dGPU display path, or about a four-externals-plus-internal (five total) number, either way. So I genuinely cannot answer your question from the documentation, and neither can a prospective buyer. That ambiguity is the point: if “up to four monitors” depends on the dGPU, or excludes the internal panel, the product page should say so.

If anyone here has actually driven external panels off the dGPU on a Framework 16, I would like to hear how it behaves. It is the one path I have not tested.

1 Like

I was lazy and just used a 4-Port-Displaylink-USB-Adapter for my other Monitors and only used Port 1 for my 4k+ main monitor.

I have not looked at the the product page for the AI 300 since I had no plans on upgrading to it, but it does sound like it might be misleading. I have a Gen1 7700S that I’ve attempted to plug in a USB-C dock into just to test it (to which it failed to output anything), but I haven’t bothered with a direct monitor connection. Usually when I plug in a monitor or TV I just use one of the side ports since the second monitor or TV is usually lower speced than the built in monitor. My use cases are primarily gaming and work that runs through web browsers. So most of the time I don’t use or need a second monitor. Maybe I’ll test it out on my desktop’s monitor some day.

I’m glad I was able to provide some useful information with the links I found.

I agree. It is not clear what the limits were when i ordered the fw16 7840hs laptop.
They have improved slightly by clicking on the “view product details” at order time. It still misses the power limits on the usb ports. You needs to find the slots page for that.
But to be fair to FW. When i pointed this out to FW, they offered me to return the laptop for full refund. I was in the less than 30 days time window at that point.

This is great feedback and we’ll definitely be improving some of our documentation on this to make a few things a bit more clear to users. In the “Specs” section of the product page you can find a condensed version of our knowledge base page that shows the per-slot capabilities to the best of our ability. We are going to seek clarity from Engineering on this.

2 Likes

Thanks, @Jesse_Darnley - that is exactly the response I was hoping for, and I appreciate a Linux Support Specialist weighing in directly.

Two things I want to make sure land in the documentation update, because they are the parts that actually cost me weeks and are not captured by the per-slot capability list in the Specs section:

  1. The stock BIOS UMA Frame Buffer Size (~512 MB) is too small to pin four 4K framebuffers. Until I raised it, amdgpu failed with “Failed to pin framebuffer error -12” (ENOMEM), hundreds of times in a few minutes, and the fourth display would not light. Nothing on the product page or the slot docs points a buyer at that.

  2. On Linux, the four-display setup also needs the kernel parameter amdgpu.sg_display=0 to stop a scatter-gather display crash that ordinary Chromium/Electron apps trigger. Also undocumented.

The per-slot page (rear four slots drive display) is genuinely useful and matches my testing. What is still missing everywhere a buyer actually looks is the maximum-simultaneous-displays picture, which is the heart of the “four monitors” question for a laptop.

So here is the one concrete thing I would love engineering to answer: has Framework validated four 4K external displays AND the internal panel at the same time (five total) on this configuration, or does the iGPU’s four-pipe limit cap it at four total, meaning four externals only with the laptop screen off? And is the discrete GPU a supported path to additional displays, or is it render-offload only? On a laptop, “up to four external displays” reasonably reads as four externals while still using the built-in screen, and on my machine that combination does not exist.

I am glad to hand engineering the full logs, kernel messages, and my working config. Just point me at where to send them, and thanks again for picking this up.

KB Benton

1 Like

newer kernel in ubuntu 2604 might help?

UMA buffer is very interesting. I guess four 4Ks do take a lot.
Regarding port functionality, Framework have an article.


This one for 7040. New 300 series is here