[Beta] DisplayPort Expansion Card firmware update to reduce system power consumption

We have some interesting and very exciting news for you all! We have an updated test firmware for DisplayPort Expansion Cards that should reduce overall system power consumption in both standby and active modes when there is not a DisplayPort cable plugged in.

One of the major issues we’ve been contending with on power consumption is that the Intel USB4/DP/TBT4 retimers on the Mainboard aren’t reaching the suspend states they should reach when there is not a display plugged in. Instead, the presence of an HDMI or DisplayPort Expansion Card keeps them in a state where they powered waiting for a display to appear. In theory, it should be possible to get around this, and we’ve spent the last two years trying system-side firmware changes to make the retimers suspend better (and still have some changes currently in development which may improve some scenarios).

We decided to try a totally different path in parallel, which is changing the Expansion Card firmware to instead make the card pretend to not be a display adapter while there is not a cable plugged in. With this test firmware, when you plug a DisplayPort cable that is connected to a powered on monitor into the DisplayPort Expansion Card, the card will reset itself and turn into a DisplayPort adapter. When you disconnect the cable or turn off the monitor, it will reset again and turn into a generic USB HID device, letting the retimer suspend itself.

This firmware is very much a Beta. We’ve done some internal testing and worked with our suppliers to do additional testing, but we want to open it up early to the community in order to test the behavior with a broader set of DisplayPort devices. Since this firmware is early, you shouldn’t update to it unless you are comfortable with the risk of your DisplayPort Expansion Card potentially stopping working. We’ve also included the original firmware that you can downgrade back to if you run into any issues.

Since this is an early Beta, we’re not releasing it on the main Framework website. You can download it through this Google Drive share: DisplayPort Expansion Card - Power Saving Firmware - Google Drive
Please note you may need to install the Microsoft Visual C++ 2015 Redistributable x86 from https://www.microsoft.com/en-us/download/details.aspx?id=52685 to run the installer.

With the DisplayPort Expansion Card plugged in, run the Framework_DP_Card_3.0.17.100.exe tool and let it proceed through the two flashing stages. You’ll then need to remove and re-insert the card for it to switch to the new behavior. We currently only have a Windows flashing tool, but are working on a Linux version. We are also working with our Expansion Card supplier on HDMI Expansion Card firmware with similar behavior.

Give it a try and let us know if you see suspend or active battery life differences or any issues with compatibility with monitors or cables, across Windows and Linux (after doing the update using Windows).

34 Likes

This is really cool.

Will a final version of this firmware update be a one-size-fits-all for the DisplayPort, HDMI, microSD, etc., or will each Expansion Card require its own update?

1 Like

This only impacts DisplayPort and HDMI Expansion Cards.

4 Likes

This suggests that they’re working on it:

3 Likes

Love that a solution is coming in the form of a firmware / software. …but man, it’s been a known issue for two years? Wish I had known / been informed about this sooner.

I’m on the HDMI side of things…looking forward to the firmware update.

2 Likes

That sounds great. Will you provide a Linux executable soon?

@nrp same here, no Windows available. Is LVFS a possibility with the DP and HDMI modules?

I assume this update can be done from any Windows system that has the expansion card plugged in…and not only be done on the Framework laptop.

Correct. Technically you can also use the Windows 10 or 11 USB installer, exit to a command prompt by hitting Shift+F10 (Fn+Shift+Airplane Mode), and then run the firmware updater from there, though that may not be appropriate for Windows licensing terms unless you own a Windows key somewhere.

3 Likes

It should be technically possible, since there is support for updating CCG3 (the PD controller in the card). This is something we are investigating.

2 Likes

What will the procedure for downgrading entail if ~for some reason~ compatibility were better on the old firmware? Would the expansion card require being connected to a monitor in order for the firmware down-grader to function. Looking forward to doing all sorts of benchmarking when Batch 3 ships out!

Great to hear, thanks!

2 Likes

While it predates the Framework laptop, I don’t suppose Hiren’s BootCD PE is able to run and install the firmware updater for people running Linux? (one can similarly boot the ISO using a standard old Ventoy USB drive).

Heck, I’ve got to wonder if the firmware can’t be installed from a non-Framework PC as long as the PC has a type-C port.

I would totally test both of these things out myself but, well, I don’t actually have a DisplayPort expansion card…

2 Likes

The original firmware is also uploaded to the Google Drive. You can downgrade without plugging in a monitor.

5 Likes

Wish I had known that unplugging the HDMI expansion card would decrease power consumption so much. I am seeing increases measured in hours. Running Ubuntu 22.04.

Any specific guidance for installing the beta firmware in linux?

Some of us here have bought 4 USB-C expansion cards for this reason…and continue to use the other expansion cards as dongles.

3 Likes

I’m glad that there’s ongoing effort to solve this resulting in a creative solution that works also on first-gen mainboards. Such a refreshing post to read and community to be a part of!

Any possible pathways to fix the slightly lower power drain with USB-A Expansion Cards?

Will test out the HDMI firmware when it comes out, and here’s to hoping this works out in the end!

3 Likes

I’m also hoping / waiting for that.

Yes, we actually have a fix currently in development for this, though don’t have a timeline yet for community beta testing of it.

12 Likes

:open_mouth: Awesome to hear, thanks for the update!