Custom resolution with a different refresh rate?

I’ve seen people mention higher refresh rate panels as well as making custom resolutions with lower resolutions to help with gaming performance, but I’ve never seen anyone try a custom resolution with a different refresh rate, whether lower or higher than 60Hz

Now I don’t (yet!) have access to a Framework laptop, but I’ve had great success running lower-end bog-standard 60Hz laptop displays (HP 8440p and HP DM1) as high as 100Hz without any frame-skipping and, at least on the DM1, being able to run as low as 48Hz, and so I’m wondering if anybody ever thought to try something similar on the Framework.

As mentioned in another thread, CRU - Custom Resolution Utility should be all that’s needed to achieve this on Windows.
(sorry, no link as I’m a new user so I’m limited to 2 links; just search for “custom resolution utility” and click the result from ‘Monitor Tests’)

You can then verify if it’s skipping frames or not using the following test pattern and a photo taken with a slow shutter speed or a high framerate video recording (at least 120fps; slow-mo video may work too; I know that MPC-HC lets you step frame-by-frame via the |> toolbar button):

On Linux, I know that xrandr can also achieve this (you only need to do steps 1 and 2 for testing custom resolutions which then allows you to reboot to start over if you bork something up), making sure to also include a third value in the initial “cvt” command to specify the refresh rate (e.g. “cvt 2256 1504 75” for 75Hz) and replacing the “VGA1” in step2 with presumably “eDP-1”:

Lastly, being quite the Linux beginner, I have no idea how custom resolutions are achieved with Wayland.

And as mentioned, this can also be used for slower-than 60Hz refresh rates, like if you want to watch 24fps video content without telecine judder, you could set your refresh rate to 48Hz… assuming that a custom refresh rate of 72Hz or even 96Hz doesn’t “just work” of course! But even then it could be useful for games as 50fps running on 50Hz is going to look smoother than 50fps running on 60Hz.


Jut realized an easy work-around for the “can’t post more than 2 links” - make a second post with additional links!

CRU - Custom Resolution Utility:

Also for Ubuntu-based OSes, there’s a Snap utility that may make it easier to create custom resolutions (now if only it were available as an appimage or flatpak…):

just tried this, and it didn’t work for me… :frowning:

I’ll try boosting my panel to 75hz, above can hurt the display I’ve heard if it’s used for too long.

For my display at least, this failed dramatically. Setting it to 75hZ created a ton of visual bugs, rendering it unusable.

Edit: 70hz is working perfectly. No Frames are being skipped either. Haha the frames work on the framework. Bad Pun. I die

1 Like

Think you can try 72Hz? That’d probably be more beneficial as it’d allow for exact judder-free playback of 24fps video content.

Also, what about lower refresh rates like 50Hz? Since 75Hz didn’t work out on your panel (panel lottery?), 50Hz would be the next best thing to try for 25fps video content.

Lastly, do you know how warm or cold it was at the time when your tried 75Hz? On my own older HP DM1, I cannot run above 75Hz in winter as trying 90Hz will give major visual bugs (at least until the laptop has warmed up for a while) but, in summer, I can run 90Hz straight after a cold-boot without any issue.

70 Hz works fine on mine, 72Hz has some serious graphical artifacts. This thing can go as low as 24, though, which is pretty neat.

[EDIT] Seems like my limits are [23, 71]Hz. At 22, there are vertical bars across the screen, and at 72 the screen jitters uncontrollably.

Impact on battery life running at 24?

Would be cool to develop some variable refresh rate tool that switched between say 30Hz and 60Hz to extend battery.

Assuming that you’re using CRU to make the custom refresh, you might be able to manually tweak the timings to create a 72Hz (or higher!) refresh rate that uses lower timings.

This is actually the only way I’m able to get to 100Hz on my previously-mentioned HP DM1 laptop as, without that, I max out at somewhere in the mid 90s.

(I’ve also used this trick on a desktop monitor that can handle at least seemingly anything between 48Hz and 75Hz, but it’s dumb and complains about being an “unsupported signal” on anything that isn’t 60Hz or 75Hz despite actually displaying the picture perfectly fine and then, because it’s “unsupported”, automatically has the monitor go to sleep after 10 seconds unless you cheat and use custom timings that are taken from a “supported” refresh rate, e.g. using 75Hz timings on a custom 72Hz resolution/refresh rate)

1 Like

I have found sometimes pushing the Hz up with tools or unofficially can affect the colour depth. A couple of monitors I’ve had drop from 8bit to 6bit if I change the Hz upwards.

Something to watch out for.


Weather update: with custom timings, I’ve managed to push it as high as 71.8 Hz and as low as 12 Hz

Back porch go brrr

1 Like

And, 72! (71.999, because adjusting the timings to make it exactly 72 caused minor instability, and 72.002 just seemed a little too high for my liking)

The display seems to not gracefully sync at pixel clocks lower than ~100 MHz or higher than ~260 MHz. Strange/interlaced resolutions don’t work well.

1 Like

Keep in mind that a lot of “24fps” content is actually 23.976fps (e.g. Vincent Teoh’s videos at HDTVtest), in which case you’d only really need 71.928 Hz for perfect judder-free playback.

Now that we’ve proven that this works, the next question is obviously if we can force variable refresh rate! :stuck_out_tongue:

…seriously though, force-enabling VRR is actually something that CRU can do assuming that it’s similarly something that the panel can handle but is simply not exposed (and I know for a fact that there are at least a few laptops in existence that are like this). I mean, panel self-refresh itself is basically what the basis of Adaptive Sync is, and a lot of modern laptops have self-refresh so that they can drop the refresh rate when there’s little to no movement on-screen in order to save power.

And for reference, the existence of the following at least proves that Adaptive Sync is supported on 11th gen Intel graphics: