Raspberry Pi Catch-All

Raspberry Pi 4 is out!

Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz
1GB, 2GB or 4GB LPDDR4-2400 SDRAM (depending on model)
2.4 GHz and 5.0 GHz IEEE 802.11ac wireless, Bluetooth 5.0, BLE
Gigabit Ethernet
2 USB 3.0 ports; 2 USB 2.0 ports.
Raspberry Pi standard 40 pin GPIO header (fully backwards compatible with previous boards)
2 × micro-HDMI ports (up to 4kp60 supported)
2-lane MIPI DSI display port
2-lane MIPI CSI camera port
4-pole stereo audio and composite video port
H.265 (4kp60 decode), H264 (1080p60 decode, 1080p30 encode)
OpenGL ES 3.0 graphics
Micro-SD card slot for loading operating system and data storage
5V DC via USB-C connector (minimum 3A*)
5V DC via GPIO header (minimum 3A*)
Power over Ethernet (PoE) enabled (requires separate PoE HAT)

That's quite the specs for $35/$45/$55 (1GB/2GB/4GB RAM).

Apparently the Pi people put 60% of their pre-production into the 2GB model. I betcha the 4GB model is hard to get for a good long while. I bet that outsells the 2GB model by at least 2 to 1.

I wish they hadn't dropped the HDMI port. Dongles suck. Admittedly, it's only like $3, but it's something that's easy to lose. I have no issue with them adding a second monitor port, that's fine, but I wish they'd kept the primary one as the standard form factor.

It sounds like a pretty capable little system, at this point. You might actually be able to use one as a slightly sluggish desktop. It probably wouldn't even be that painful.

The articles I've read suggest that cooling is a major issue with these. You will probably want to add heatsinks, and you might even consider a case with a small fan. The Pi folks claim that it's only using 1W more than before, but at least one tech reporter is saying that heat is a problem and that they're likely to self-throttle without extra help.

How much of a jump is this in emulation performance over the 3?

So from what others have dug up in the documentation it looks like the Ethernet is no longer sharing bandwidth with the USB bus, but the USB 2 and USB 3 ports share the same bus.

For a dongle-less solution you can get HDMI to HDMI Micro cables.

Ethernet no longer sharing the USB 2.0 bus is some of the best news about the Pi 4.

Malor wrote:

Apparently the Pi people put 60% of their pre-production into the 2GB model. I betcha the 4GB model is hard to get for a good long while. I bet that outsells the 2GB model by at least 2 to 1.

Bet it's the same with the 1GB. The 2GB part is in an odd place between people who will want to play around with the cheap model and people who don't mind paying for more RAM ($20 more is reasonable). Perhaps the thought was to get a big run of those out of the way from the beginning. That would allow them to focus ongoing production on the better selling ones.

Middcore wrote:

How much of a jump is this in emulation performance over the 3?

I don't know any end-users with one yet, but the initial claims are a 2x to 3x overall performance increase. Since the number of physical cores is the same, presumably that's all per-core execution speed, which implies that a Pi 4 will be a much stronger emulation host.

LouZiffer wrote:

Bet it's the same with the 1GB. The 2GB part is in an odd place between people who will want to play around with the cheap model and people who don't mind paying for more RAM ($20 more is reasonable). Perhaps the thought was to get a big run of those out of the way from the beginning. That would allow them to focus ongoing production on the better selling ones.

I think you're probably correct about the 1GB one selling more units, but the way they characterized focusing on the 2GB version was that they expected that one to sell the most.

I think they're going to be quite, quite surprised.

The Retro Pi scene will probably be most interested in the 4 GB model, but 2 should be great for a lot of other uses.

So their web server is running on 18 unit cluster of Pi 4s. Well just the part serving the launch site and the database is running elsewhere as well.

Good to see that the whole "I could make a Beowulf cluster out of THAT." meme is still going strong.

Heh, the Pi 4 kicks the crap out of the machines that were originally being used for Beowulf. Just wrecks them.

USB performance benchmarks:
IMAGE(https://www.raspberrypi.org/magpi/wp-content/uploads/2019/06/2019-06-21-15_42_55-Window.png)

Ethernet:
IMAGE(https://www.raspberrypi.org/magpi/wp-content/uploads/2019/06/2019-06-21-15_43_22-Window.png)

More here.

I/O speed was the most significant bottleneck with the earlier Pis, so that being fixed is major. I haven't actually used one, of course, but I think a Pi 4 4GB might do okay as a desktop. It's not going to knock your socks off, but I think you could actually use one and not mind that much.

Oh, but one possible issue: does the USB data transfer speed include the internal SD card slot? If that's still bottlenecked, then you'll need outboard storage to really take advantage.

Malor wrote:

I/O speed was the most significant bottleneck with the earlier Pis, so that being fixed is major. I haven't actually used one, of course, but I think a Pi 4 4GB might do okay as a desktop. It's not going to knock your socks off, but I think you could actually use one and not mind that much.

Oh, but one possible issue: does the USB data transfer speed include the internal SD card slot? If that's still bottlenecked, then you'll need outboard storage to really take advantage.

SD is controlled over USB, but that's normal for most devices. It still operates over PCI-e which means you should get the full capability out of SD cards. USB will be faster than even U3 rated cards.

EDIT: NOPE... it's 40-45MB/s. See benchmark links below.

I phrased that very(!) poorly.

What I was really wondering is if the internal SD slot is connected to USB3, USB2, or to some dedicated link of some kind. Bringing up USB3 might be more complex, and they might not want to do that for the boot device, so I can easily imagine them sticking the internal slot on USB2 for simplicity. If they did that, then you'd have to use a USB key or an external hard drive to get access to USB3 storage speeds.

Yea the SD card seems like it could be one of the biggest performance hindrances now. Be nice to see them add an m.2 slot to the next revision maybe.

Malor wrote:

I phrased that very(!) poorly.

What I was really wondering is if the internal SD slot is connected to USB3, USB2, or to some dedicated link of some kind. Bringing up USB3 might be more complex, and they might not want to do that for the boot device, so I can easily imagine them sticking the internal slot on USB2 for simplicity. If they did that, then you'd have to use a USB key or an external hard drive to get access to USB3 storage speeds.

Based on the storage benchmarks I've seen, you're right to mention this:

https://medium.com/@ghalfacree/bench...
https://www.cnx-software.com/2019/06...

So it's 40-45MB/s from faster MicroSD cards. Though around double the speed of previous Pi platforms, that's in the realm of USB2, not USB3.

Yeah, and it may split that bandwidth with the USB2 ports, as it's quite possible that all three are driven off a single link.

Hah, don't I feel clever for spotting that. Booting from USB 3 is hard.

So, upshot: if you want really fast I/O, you're going to want a USB hard drive or SSD on one of the blue ports. You may want just enough Linux on the SD card to get the system booted. If you're using it as a desktop, this will probably improve its feel fairly substantially.

The way I'd probably set that up would be by turning the SD card into the /boot partition. On the PC, the obvious solution is to use Grub to boot Linux off USB 3 directly, but if the Pi's bootloader isn't starting that, you'd have to have the Linux kernel available on USB 2 storage. (I think Raspbian sets it up by default this way, with the bootloader and kernel image in a single FAT32 partition at the start of the drive, which is then mounted under /boot. So instead of transitioning to a second partition on USB2, you'd jump to a partition out on USB3 instead, once Linux had launched the USB 3 drivers.)

For a fallback/safety position, you could probably just leave the OS in place on the SD card, with a 'rescue' entry in the bootloader pointing at it. But there's a real danger there. The boot system on the Pi is intricate and fragile, and you'd end up with two OS installs that both thought they were managing the files on the /boot partition. Things could get very, very confused for either or both OSes, to the point that you might have to wipe the SD card and start over, and then do brain surgery on the SSD OS. You'd probably want to set the rescue OS to "hold" all the packages related to booting, but I don't even know what those are.

The command 'rpi-update' might fix most boot problems, however. It seems very sophisticated, and also seems to play nicely with Raspbian's own package manager. You *might* be safe using that command from either OS install, but man, that just feels like a bad idea. Don't mess with /boot from the rescue Linux unless you really have to.

On one of those linked sites it did mention that there was a firmware update in the works to allow booting via USB in the future.

One of the things I really liked about the Pi was its built-in hardware random number generator. It puts out a nice steady stream of entropy, and it's one of the easier ways I know to get access to a HWRNG that's probably trustworthy. (there remain definite questions about the ones on Intel chips.) So I really hope they preserve that feature, I haven't seen anything about it in any of the writeups so far.

I think I'm pretty likely to buy one of these. My Pi 2 died awhile back, and I just have my original Pi 1 sitting there as a DNS/DHCP server. It takes a long time just to run OS updates, so I really wouldn't mind upgrading it, finally. Sadly, the Pi 4 won't be a drop-in replacement, it'll take a new power supply and a new video cable, but at least they're cheap.

Raspberry Pi admits to faulty USB-C design on the Pi 4

tl;dr: they cheaped out building the port. Smart chargers (E-marked ones) will detect that a resistor is missing, and will refuse to supply power to the Pi. The only workaround is to use a stupid charger.

They say that there will eventually be a board revision that fixes this, but it could be awhile.

I didn't know that the Nintendo Switch basically has the same problem. I like USB-C, but between it being used as the connector for multiple communications standards (is it USB 3.1 or Thunderbolt 3?) and companies not following the standard with their ports and other companies making crappy chargers and cables that can fry you devices it is becoming a big headache. My Razer laptop has USB-C (Thunderbolt 3 variety) and I have had issues with a number of adapters that are supposedly compatible not working with it. These days I buy stuff verified to work with Apple products just because they seem to be the most dependable for use with my laptop.