Bullseye bonus: 1.8GHz Raspberry Pi 4

Yesterday we released our first Raspberry Pi OS image built on top of Debian Bullseye. Alongside the usual package upgrades that accompany every major Debian release, this provides a more modern composited desktop environment on Raspberry Pi 4 boards with 2GB or more of memory, and retires our legacy display and camera support in favour of KMS and libcamera respectively.

1.5GHz to 1.8GHz

But some of you may have noticed another upgrade. Users with recent Raspberry Pi 4 devices will find that their default turbo-mode clock has increased from 1.5GHz to the 1.8GHz used on Raspberry Pi 400. “Recent” in this case means any 8GB Raspberry Pi 4, or a 2GB or 4GB board with the extra components circled in the image below. This is the dedicated switch-mode power supply (“switcher”) for the SoC core voltage rail, and was introduced when we shuffled the allocation of switchers to rails to support 8GB.

Through extensive testing on the production line, we have qualified an operating voltage for 1.8GHz, and satisfied ourselves that the new switcher is able to supply enough current to run even the heaviest workloads at that speed.

Overclocking older Raspberry Pi devices

What about older devices? Even the launch-variant Raspberry Pi 4 has gained a reputation for overclockability, and most units will run most workloads at well over 1.5GHz with a little extra core voltage. The latest firmware (included in the Bullseye image) will even do its best to figure out the best voltage to apply for a given overclock. To manually replicate the new operating point on an older board, just add the following line to your config.txt file:

arm_freq=1800

If you encounter stability issues, you can try backing off the frequency in 50MHz steps, or manually setting an overvoltage. But remember: playing with clocks and voltages can render your SD card (temporarily) unbootable, so make sure you have another card (or another computer) on hand that you can boot with to restore your config.txt to good sense.

38 comments
Jump to the comment form

Avatar

Thanks! I will attempt after bullseye.

Reply to Supra

Avatar

Thank u. It worked for me. I set it over_volatge=2. This best for me.

Reply to Supra

Avatar

I wonder if it is possible to see from SW readout, whether the HW is using new “dedicated switch-mode power supply”. E.g. hw revision readout or similar?

Reply to Thomas

Eben Upton

I believe the relevant revision codes are b03114, c03114, d03114, for 2GB, 4GB, and 8GB respectively. More here: https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-revision-codes

Reply to Eben Upton

Avatar

It doesn’t work with 8GB. It is still blanking all times.

Reply to Supra

Avatar

Raspberry Pi official 7 inch display is no more compatible ?

Reply to Mickael

Eben Upton

It is. If you’re seeing issues, can you report them either in the comments to yesterday’s post, or on the forum.

Reply to Eben Upton

Avatar

No sorry it was just a bad translation of the post and an error of understanding

Reply to Mickael

Avatar

Will the change to enable this be fed into Debian for their native RPi support? Is it possible to enable it on native Debian today?

Reply to Dave

Avatar

Yes. Add `arm_boost=1` to config.txt.

Reply to dom

Avatar

Thanks. It didn’t work for me, but I see e.g. https://www.reddit.com/r/raspberry_pi/comments/qpb7yl/comment/hjte0hr saying the firmware needs to be updated for this to work, so I’ll try that.

Reply to Dave

Avatar

Based on my own testing with a few Pi 4s, which happened to have SoCs with the ‘C0’ stepping versus the ‘B0’ stepping, I had assumed (incorrectly) that that was the difference that led to the boost being applied or not. But after hearing from people with newer Pi 4s with B0 chips getting the boost, and seeing that the CM4 isn’t getting the boost automatically, I realize that it’s the Revision of the Pi 4 board, as mentioned in this post.

Good to know, and it would be interesting to read more sometime about the power circuit design for the Pi 4 and how it evolved from that early revision with the USB-C charging issue to today!

Reply to Jeff Geerling

Avatar

I’ve had my Pi 4 8GB (bought on launch day back in 2020) running at 2.36GHz stable, with temps usually hovering between 46C to 56C (e.g. after binge watching Netflix for 8 hours or more).
I house it in an Argon One M.2 case with a 500GB SSD. Boots up in 4+ seconds (Ethernet only, no WiFi/BT, static IP, so no DHCP wait time at startup).
Besides Netflix, we use the unit to watch Disney+, HBO Go and YouTube. And all this on Buster. Have yet to test how much smoother the KMS driver in Bullseye is for streaming video, compared to the Fake KMS driver in Buster. Also wondering if the switch to the Mutter window manager causes any loss in frame rates compared to Openbox.

If you would like to see how far you can push your own Pi 4 8GB, below are the relevant settings I use in my config.txt. Note that these settings are tweaked for my Pi 4 8GB B0T revision of the SoC (with USB SSD boot w/o WiFi or BT) for use as a streaming video player. You could probably go even higher than 2.36GHz with your unit, but the goal is stability under load:
———-
[all]
boot_delay=0 # remove this if you boot from a micro SD card, USB HDD or have a slow SSD adapter
initial_turbo=60 # sets the ARM cores to max speed for just 60 seconds, to help speed up boot time a bit.
dtoverlay=disable-wifi #turns off WiFi (for those who use Ethernet only)
dtoverlay=disable-bt # turns off Bluetooth
arm_64bit=1 # puts the kernel into 64-bit mode (but userland remains 32-bit on armhf versions of RPi OS)
hdmi_enable_4kp60=1 # enables 4K mode. Also boosts the base GPU core speed to 550Mhz
over_voltage=12 # increases power to the SoC. Try from 6 to 12. Max value is 15.
arm_freq=2360 # sets the ARM core’s frequency (in MHz).
arm_freq_min=100 # allows the ARM cores to step down to a low 100MHz during idle, so less heat produced. (Disable this if you do timing-sensitive stuff like retro-gaming).
gpu_mem=256 # sets the memory split (in MB) between the ARM and GPU cores, out of the first 1GB of memory. I find that 256MB to be the sweet spot for smooth video streaming.
gpu_freq=900 # Sets the GPU’s frequency (in MHz)
h264_freq=900 # Sets the H.264 block’s frequency. (H.264 decoding is used in HBO GO video streaming and Youtube (if the h264ify Chrome extension is used)
v3d_freq=900 # Sets the 3D core’s frequency
hevc_freq=900 # Sets the HEVC (High Efficiency Video Coding) block’s frequency. Used heavily for Netflix and Disney+ video streaming.
———-
To run reliably at these speeds, you need good cooling (preferably active cooling, as found in the Argon One cases with their built-in fans). Without sufficient cooling, your unit will throttle itself once it hits 80C or it may even hang during heavy processing loads. Your unit may require more voltage to reach 2.36GHz. If needed, the over_voltage setting can go as high as 15, but try to get stable max speeds at the lowest over_voltage setting you can. I used to set over_voltage=10 but then needed a bit more oomph to run stably at 2.36GHz, so I now use over_voltage=12. Your unit may be different. Try at your own risk.

Reply to Penang Prawn Mee

Avatar

Thanks – really useful if I ever want to test this out one day!

Reply to Al Stevens

Avatar

8GB version, 2.35GHz, over_voltage=10, 550MHz core, 750MHz GPU. Stable. force_turbo=1 (main reason – lower latency in desktop). At idle, hovering around 14˚C above ambient temp. At load, about 21˚C. The 14˚C can be 11˚C if I don’t force turbo.
CooliPi heatsink/coolercase.

Reply to CooliPi

Avatar

Thanks. I will attempt this after I upgraded to openCV4.5.4.

Reply to Supra

Avatar

Hi, Are you running bullseye on you pi in the Argon one M2 case ? When I booting from the SD card I see a bit of text on initial boot then nothing. If I remove the pi form the case I have no issue over micro HDMI.

Reply to Eric Baumann

Avatar

I’m trying to place a bulk order of Raspberry Pi 4. Does anyone have any trusted partners they’d recommend?

Reply to Daniel

Alasdair Allan

Our lovely Approved Resellers should have you covered. If you scroll down to the bottom of product page and select your country you should get a list of Approved Resellers in your country. You should contact them directly via email if you’re looking to bulk order.

Reply to Alasdair Allan

Avatar

Ok. Rest of the world – any kind af ram.
So. Where?!

Reply to Ens

Avatar

.. the pi hat..

Reply to adi

Avatar
Avatar

5.10.63 in Bullseye, 5.10.17 in Buster

Reply to Dave Noice

Avatar

A fully updated Buster will be running the exact same kernel as a new Bullseye installation. I’ve just done a side-by-side check on two Pi4s, and they are both running kernel 5.10.63 compiled by gcc 8.4 – although the Bullseye toolchain itself is obviously based on the newer gcc 10.2.

Reply to Al Stevens

Avatar

5.10.73 Bullseye

Reply to Supra

Avatar

How about the cm4?

Reply to Panhao Wu

Eben Upton

CM4 remains at 1.5GHz by default. With Compute Module we are much more focused on providing a stable, consistent, platform for our industrial customers than on pushing the performance envelope.

Reply to Eben Upton

Avatar

I’m probably reading too much into what you posted about the CM4 here, but can we expect 1.8GHz to be stable on the regular Pi 4? I had assumed that’s what “qualified” meant, until that word “stable” popped up. 🙂

Reply to Chris Pearson

Avatar

Nothing like a free performance upgrade to make my day. Thank you!

Reply to Edwin Jones

Avatar

Can’t wait to test the performance. Hope old 4GB rpi4 is compatible with it.

Reply to Jacky

Avatar

Eben is the MAN!!
RaRRRR!

Reply to solar3000

Avatar

How do you detect the proper hardware via software? I do not want to dismantle all the hardware builds to identify if my hardware is supported – you know – without updating to it to find out the hardware.

Reply to dustin

Avatar

when will the MB for the pi 400 8gb ram be out ??

Reply to robert f greer

Avatar

Hi, I know you’ve updated to Bullseye and want people to use it. Also, I see you want folks to use the Raspberry Pi Imager. It would be great if you had the choice to download recent Buster from the Imager – Bullseye just aint up for the task for many applications yet. The camera libraries in particular. Any chance Buster can be added to the imager? Digging up the right ISO via https://downloads.raspberrypi.org/raspios_lite_armhf/images/raspios_lite_armhf-2021-05-28/ is all well and good. But not so simple. Thanks, and btw, love everything you do.

Reply to Steven Wright

Avatar

Interesting post. When I investigated cofig.txt on my Pi4 I found arm_freq set to 800 (with a reference to the default being 700). I’ve set the value at 1800 with no immediate issues. The processor temperature has increased slightly (55 to 57) and everything feels snappier. So I am happy but puzzled.

Reply to Robert Harvey

Avatar

A fully updated Buster will be running the exact same kernel as a new Bullseye installation. I’ve just done a side-by-side check on two Pi4s, and they are both running kernel 5.10.63 compiled by gcc 8.4 – although the Bullseye toolchain itself is obviously based on the newer gcc 10.2.

Reply to Meowdroid

Leave a Comment