
New Raspberry Pi 4 Firmware Lowers Temperature by 3-5°C - close04
https://www.cnx-software.com/2019/06/29/new-raspberry-pi-4-vli-firmware-lowers-temperature/
======
userbinator
New _USB controller_ firmware, apparently. The fact that it can have any
effect on the CPU temperature is a little puzzling.

 _I work in a office where the air conditioner is set to 28°C_

Wow. As someone who is used to a room temperature of 20C, 28C is above the
point of idle sweating and becoming lethargic. While that's still within the
range that most consumer electronics are rated for, I believe a room
temperature of 20C is the normal design target.

~~~
Benjamin_Dobell
Strangely this is a very a cultural thing.

I'm from Australia and in summer the cooling can't cope and does indeed result
in indoor temperatures exceeding 28°C. However, I'm drenched in sweat and
certainly can't focus at that point. I will happily head outside and enjoy the
crazy heat, but be productive? Nope!

I think heating and A/C target around 21°C in Melbourne.

However, I traveled to Vienna for a week long contract some years back. Sure
it was cold outside (snowing), but I found all the offices and buildings
excruciatingly hot and couldn't focus one bit. Made for a very miserable
working week.

Of course, the locals all managed fine, so despite it seeming like a personal
preference thing, I can only assume it's something you can adapt to.

~~~
gambiting
Yeah, you'd think the places with very cold climates would have appropriately
lower working temperature at the offices. Nope. Most sweltering offices I have
ever been to were both in Canada and in Sweden in the middle of winter -
easily -20C outside, and the office felt like it was set to 30C, it was
insanely uncomfortable for me.

~~~
nicoburns
This seems to work the other way too. Lot's of hot countries seem to set the
AC to 18c. I did trip to south america, and I needed warm clothing
specifically for air conditioned busses and dormitories.

In the UK (where I live) I believe the recommended guideline is 21-24c

~~~
brokenkebab
Yes, I also noticed it in SE Asia. I guess, due to the fact that AC was (and
in some places is) too expensive for the majority of population, cold air
feels like a luxury attribute.

------
DCKing
The Raspberry Pi 4 is _really_ impressive hardware for the price. In these CPU
benchmarks with heatsink attached, it slightly edges out the Jetson Nano
developer board, which retails for $99.

Since one of the popular uses of the Raspberry Pi is to be an emulation box,
this will mean it will now be capable of running most of the N64, Dreamcast
and PSP library comfortably. The Raspberry Pi 3B+ could barely handle even
select easier-to-emulate titles of these systems. It might even start running
a handful of GameCube and Wii titles now using Dolphin. It also helps it to
run tricks to vastly reduce input lag that troubles most emulation setups [1].
And the nice thing is that all of that should even work on the cheapest 1GB
model.

It's even conceivable this can be used as a desktop in many ways. It is faster
than some Chromebooks. However this will probably only truly enjoyable to use
when using PXE for its main OS drive to have I/O performed on a server that
can leverage SSD storage.

Mind you that the software is in a very pre release state, so none of this is
really doable at the moment of writing. Especially the VideoCore (GPU and
hardware video codec) driver seems to be in quite a sorry state and there's
not even a hint of Vulkan support. The beauty of having a Raspberry Pi over
another single board computer is that software support will come eventually
though.

[1]: [https://www.libretro.com/index.php/retroarch-runahead-and-
ra...](https://www.libretro.com/index.php/retroarch-runahead-and-raspberry-
pi-4-the-results-are-in/)

~~~
tombert
In fairness to the Jetson Nano, aren't you mostly paying for the CUDA graphics
card? The CPUs in there are good, but I'll bet the Nano beats it in the GPU
department (at least once the firmwares and drivers are super-optimized).

Though that may admittedly be cognitive dissonance, since I've been trying to
talk myself into purchasing a Jetson for more than a month now.

~~~
DCKing
Most likely yes. There is very little known about the VideoCore VI's
capabilities, but it doesn't look impressive. They state OpenGL ES 3.0
support, which to me implies that it doesn't even support compute shaders
(introduced in OGL ES 3.1). It looks like the hardware lacks features many
modern graphics architectures can be expected to have. As a point of
comparison, Nvidia has supported compute shaders in their architectures for
eight full yearrs now. If I understand the spec sheet correctly Vulkan will
never come to the RPi 4 because of hardware limitations.

On top of that, in basic initial benchmarks using OpenArena the GPU only shows
a 50% improvement over the RPi 3B+, which is still using the same GPU
architecture the RPi launched with in 2013. That benchmark doesn't test shader
performance so it's not the best indicator, but it doesn't make the chip look
any more impressive either.

I think Broadcom is not spending the R&D resources required to keep their
graphics architecture up to date. It's a shame because the GPU of the original
Raspberry Pi was really good for its time, and maybe the most impressive
specification it had.

If you want to do graphics/compute tasks on an SBC the Nano (or just the full
uncompromised Nvidia Shield TV) will undoubtedly be superior.

~~~
DCKing
I have spoken too soon. Khronos lists the VideoCore VI as Vulkan compatible -
latest Vulkan 1.1 compatible even [1]. Apparently compute shader support is
being worked on for the VideoCore driver [2], which explains why it's missing
from current reviews. Functionality to support compute shaders is not even
present in current Mesa's git HEAD, let alone on Debian Buster's older Mesa
version.

So it not having a modern featureset is a result of more driver issues. It's
clear that this hardware has been a surprise release. Oh well, even then using
an Nvidia Jetson gives you way better software support for graphics / compute
tasks in the forseeable future.

[1]: [https://www.khronos.org/conformance/adopters/conformant-
prod...](https://www.khronos.org/conformance/adopters/conformant-
products#submission_344)

[2]:
[https://www.phoronix.com/scan.php?page=news_item&px=V3D-Comp...](https://www.phoronix.com/scan.php?page=news_item&px=V3D-Compute-
Shader-Compilation)

------
feedbeef
_Sadly, I can’t measure [power consumption] as my power meter is dead._

Would be nice to see those measurements, as RPi 4's idle consumption (initial
reports of ~3 watts) is quite poor compared to RPi 2B and 3B's ~1 watt.

~~~
close04
From what I've read it consumes 1W extra over the 3B+. But it's understandable
given that everything that could be upgraded was upgraded. Far more powerful
CPU, USB/Eth, and possibly 3GB of extra RAM.

------
saagarjha
> I did not understand VLI at first, but eventually understand this referred
> to the firmware for VIA VL805 PCIe USB 3.0 controller on the board.

Possibly a stupid question: what does “VLI” stand for?

~~~
fwip
After some googling, it looks like VLI is the manufacturer that produced the
USB controller chip [1] for the Raspberry Pi, so I guess that VLI firmware is
the firmware that they provided for their chip.

[1] [https://www.via-labs.com/product_show.php?id=48](https://www.via-
labs.com/product_show.php?id=48)

~~~
Stratoscope
An amusing side note (or maybe I'm easily amused):

A couple of years ago I bought a USB-C drive enclosure, and when I use the
Windows "safe removal" menu it shows up as "VLI Product String".

Yes, the case manufacturer didn't bother changing the string in the sample VLI
firmware!

------
nielsole
I just tried out the Pi 4 yesterday and after a couple of hours of headless
idling with no peripherals connected (just wifi) it was so hot, I almost
burned my finger.

So this is definitely welcomed. But heatsinks or even fans will likely be
necessary to do anything with the pi 4

~~~
penagwin
I don't have a pi 4 to play with, but is there any chance you could try one of
the mini heatsinks that just adhere onto the cpu, without any active cooling?

I'm just curious to see if that helps much, they're pretty cheap and could be
useful other places too (I use one on the VTX for my drone)

You can check the temperature though the pi itself. From my experience
depending on the material/length of contact, things start to get too hot to
comfortably hold after ~55C/60C for most metals, but brief contact might
barely feel warm.

[0] [https://www.amazon.com/Easycargo-Raspberry-Heatsink-
Aluminum...](https://www.amazon.com/Easycargo-Raspberry-Heatsink-Aluminum-
conductive/dp/B07217N5LS/)

~~~
megous
Those are mostly useless (they only slow down temperature changes a little).

Only thing that really helps is active cooling / moving the air. You also have
to figure out the placement of the board. The air will move via convection,
and if you get air movement from a hotter part of the board (PMIC) to the SoC,
you'll not improve things much.

I don't think perf gains in Rpi4 are of much use, if it idles at 65°C (my
ambient temperature is ~32°C at home) and has to throttle down to <1GHz under
persistent load.

~~~
BubRoss
ARM A72 chips use out of order execution, which already gives 3x the
performance.

~~~
penagwin
I'm curious what benchmarks you've seen that actually show a 3x compute
improvement? Most of the benchmarks I've seen show a ~30% improvement in CPU
compute, while I/O has improved tremendously, as well as the memory.

But again I've only seen ~30% improvement in CPU workloads, a far cry from "3x
the performance" that I keep seeing.

~~~
BubRoss
You may have seen GPU comparisons.

[https://www.raspberrypi.org/magpi/wp-
content/uploads/2019/06...](https://www.raspberrypi.org/magpi/wp-
content/uploads/2019/06/2019-06-21-15_40_11-Window.png)

[https://www.raspberrypi.org/magpi/wp-
content/uploads/2019/06...](https://www.raspberrypi.org/magpi/wp-
content/uploads/2019/06/2019-06-21-15_41_55-Window.png)

~~~
megous
Speedometer (chrome) may be more dependent on mem bandwidth which is 2x of RPi
3.

~~~
BubRoss
What makes you say that? Dynamic languages are usually chasing pointers which
is something that out of order execution helps with tremendously.

~~~
megous
This is supposedly some TODO app being run repeatedly in Chrome, so it's much
more than a JS benchmark.

And Chrome as a whole is memory hungry.

------
sneak
The fact that the RPi has writable onboard state/storage of any kind
whatsoever (save for the fuses which are WORM) comes as news to me.

The SoC firmware is loaded from the FAT partition on the SD card, so there is
no “flashing” (in the traditional EEPROM sense) of the system firmware.
Apparently the USB chip has its own EEPROM?

~~~
cesarb
To make things worse, AFAIK the USB chip is connected through PCIe, so unless
the RPi has an IOMMU, it could in theory DMA to anywhere in the host memory.

~~~
gjsman-1000
According to the RPF:

"The ARM cores are capable of running at up to 1.5 GHz, making the Pi 4 about
50% faster than the Raspberry Pi 3B+. The new VideoCore VI 3D unit now runs at
up to 500 MHz. The ARM cores are 64-bit, and while the VideoCore is 32-bit,
there is a new Memory Management Unit, which means it can access more memory
than previous versions."

[https://www.raspberrypi.org/documentation/hardware/raspberry...](https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711/README.md)

So, MAYBE?

~~~
paxswill
An IOMMU serves a slightly different purpose than a normal MMU. The graphic on
Wikipedia [0] sums it up pretty well. The lack of an IOMMU would mean that if
the firmware on the USB controller was malicious in some way, it could access
memory it would otherwise not have access to.

0:
[https://en.wikipedia.org/wiki/Input%E2%80%93output_memory_ma...](https://en.wikipedia.org/wiki/Input%E2%80%93output_memory_management_unit)

------
Arbalest
When we say firmware, are we talking about a binary blob? Can it be replaced
if we're willing to take an efficiency hit?

~~~
mjg59
Basically all USB 3 host controllers run firmware of some description. Some
can be updated in the field, some can't. You pretty much can't get away from
proprietary code if you want USB 3, but in most cases it's hidden from you.

~~~
ambicapter
Why is that? Is USB 3 a proprietary spec?

~~~
opencl
The spec isn't proprietary, you can download all 482 pages of it right
here[1]. It's just that a USB controller needs firmware and none of the
vendors making USB3 controller chips have open sourced their firmware. Most
chip vendors are not exactly huge fans of open source and likely consider
portions of the firmware to be trade secrets.

[1]
[https://www.usb3.com/whitepapers/USB%203%200%20(11132008)-fi...](https://www.usb3.com/whitepapers/USB%203%200%20\(11132008\)-final.pdf)

------
hendry
High temperatures and other Rpi4 issues are covered by Andreas Spiess in
[https://youtu.be/0diTHAmVbhc](https://youtu.be/0diTHAmVbhc)

~~~
gloflo
In what way? Any interesting or just stating the same facts that a 15 line
paragraph could cover?

------
knodi123
Aww, the article explains that it's just the CPU that is running cooler. I was
hoping we'd found a quick fix for global warming. :-(

