Review: Raspberry Pi 4 – nieuw maar ook goed?
op
Dit is een pre-release test van de nieuwe Raspberry Pi 4, zodat u weet wat u kunt verwachten wanneer u met de gedachte speelt de nieuweling te kopen. De RPi 4 wordt meteen in drie uitvoeringen op de markt gebracht, met 1 GB, 2 GB of 4 GB werkgeheugen. In het Elektor-lab hebben we de grootste uitvoering met 4 GB RAM onder de loep genomen.
USB-C en PMIC
Het eerste wat opvalt als u de nieuwe Raspberry Pi 4 in de hand neemt, is dat die niet in bestaande behuizingen past. Dat komt doordat de display- en voedingsaansluiting veranderd zijn. De voeding loopt nu via een USB-C connector en een PMIC, terwijl er twee micro-HDMI poorten zijn die high-res ondersteuning voor twee 4K-displays tegelijk via een digitale interface bieden, terwijl u een (voldoend krachtige) USB-C voeding voor de stroomverzorging kunt gebruiken.
De nieuwe SoC van de Pi 4
De twee blauwe USB-poorten zullen u zeker opvallen. Inderdaad, we hebben eindelijk USB 3.0 aan boord, alsmede native Ethernet, waarmee problemen met de data-overdracht van een aangesloten massageheugen naar het LAN tot het verleden behoren. Dat danken we aan de nieuwe BMC2711 SoC die het hart van de RPi 4 vormt, met vier Cortex-A72 cores op maximaal 1,5 GHz en met ondersteuning voor maximaal 4 GB RAM. Dat betekent dat de per-MHz-prestaties ten opzichte van de Cortex-A53 zijn verbeterd ten koste van een groter stroomverbruik. Ook met normale desktop-applicaties resulteert dit in een merkbaar betere responsie.Nieuw is ook de VideoCore VI die een paar nieuwe features ondersteunt zoals een 4K-uitgang en 4K HEVC-decoding bij 60 fps. De SoC is niet voorzien van een ventilator of koellichaam zodat de Pi 4 net zo lekker stil is als de vorige versies. Hoe dit in de praktijk uitpakt, blijkt uit de plaatjes die we met een warmtebeeldcamera hebben gemaakt. Met de nieuwe SoC zijn ook de voedingsvereisten veranderd: in plaats van 5 V bij 2 A als redelijk uitgangspunt (2,5 A bij de 3 B+) wordt nu 5 V @ 3 A op de USB-C ingang aanbevolen; we moeten de Raspberry Pi 4 dus met een dikke 15 W voeren.
Ethernet, WLAN, BT en USB
De fotos tonen van dichtbij de Gigabit Ethernet-PHY (van het type BCM5421PE) en een USB-hub (type VLI VL805-Q6). Wanneer u de datasheet hiervan deze USB-hub, ontkomt u niet aan de ontdekking dat er geen USB 3.0 uplink is. In plaats daarvan wordt een PCI-Express-lane gebruikt, die PCI-E 2.0 ondersteunt en achterwaarts compatibel is met PCI-E 1.0. En dat betekent dat u zich over flink wat bandbreedte kunt verheugen.Wat de draadloze connectiviteit betreft: Bluetooth is opgevoerd naar versie 5.0, terwijl WiFi nu 802.11ac bij 2,4 GHz en 5 GHz is. Meer daarover verderop, wanneer we de data-overdracht uitproberen.
USB 3.0 hub met PCI-E uplink
Enkele van de vertrouwde features die de Raspberry Pi 4 heeft behouden, zijn de RCA-poort, de display-connector en de camera-interface. Ook onveranderd en wat de funcionaliteit betreft achterwaarts compatibel is de 40-polige PCB-header. Dat betekent dat we een HAT op de vertrouwde manier kunnen aansluiten (tenminste wat de hardware betreft).Een woord van waarschuwing: wat u hier leest is gebaseerd op een alpha-versie van de Raspberry Pi 4, en dat betekent dat een paar zaken het (nog) niet doen of ontbreken. We mogen verwachten dat de systeemsoftware mettertijd verbeterd zal worden, net als het geval was met de Raspberry Pi 2, de Raspberry Pi3 B en 3 B+ en de Raspberry Pi Zero W.
De software van de Raspberry Pi 4
Dit brengt ons bij de software-ondersteuning voor de Raspberry Pi 4. Omdat we met een pre-betaversie te maken hebben, werkt niet alles probleemloos, maar aan het updaten wordt gewerkt. We kunnen uit twee mogelijkheden kiezen: een Raspbian Buster-image of een NOOBS 3.1. Wij merkten dat beide images prima opstarten en na een kort opstartproces de desktop correct weergeven.4K video – dubbel
Omdat we nu over twee micro-HDMI poorten beschikken, hebben we twee full HD-schermen op onze Raspberry Pi 4 aangesloten. Zonder verder gedoe kregen we een uitgebreide desktop op beide schermen. We hebben ook het kleine JOY-iT 10"-scherm uit onze shop als tweede monitor geprobeerd, maar dat weigerde met de RP1 4 samen te werken. We zouden ondersteuning voor twee 4K monitoren bij 30 fps moeten hebben, of 4K bij 60 fps voor één monitor, net als bij een ‘grote’ PC.Maar wat met die twee schermen te doen? Op het ene scherm kun je video’s afpelen terwijl je op het andere door het web surft; ook (eenvoudige) 3D-games zijn mogelijk. En daarmee komen we bij de weergavefunctionaliteit.
We deden onze eerste test met VLC op de RPi 4 en Big Buck Bunny in 1080p @ 60 fps en in 4K @ 60 fps. Eerst hebben we VLC gestart en het 1080p-materiaal in een ‘venster’ afgespeeld. Hier moesten we helaas de vloeiende weergave missen waar we aan gewend waren. Tegelijk merkten we een zware belasting van de CPU op, wat er op wijst dat een deel van het decodeerwerk niet door de CPU wordt uitbesteed. Zodra we ‘schermvullend’ werken, neemt de belasting van de CPU echter af en genieten we van een vloeiende weergave. En omdat we twee uitgangen hebben, probeerden we ook twee verschillende video’s tegelijk weer te geven op de beide schermen. VLC weigerde hier echter mee te spelen – kennelijk kan de videodecoder op dit moment maar één videostream tegelijkertijd verwerken.
Toen we een 4K-video (in H.264) uitprobeerden in combinatie met een 1080p-monitor, produceerde VLC helemaal geen beeld – alleen geluid, en dat komt omdat 4K alleen in H.265 wordt ondersteund. Voor de 4K-test hebben we materiaal gebruikt van libde265.org. Helaas kregen we met VLC alleen een zwart scherm bij een zware CPU-belasting, wat betekent dat de hardware-decodering niet werkt zoals zou moeten. Omdat 4K-video eigenlijk ondersteund zou moeten worden, nemen we aan dat er een bug in de driver zit, en dat dit nog verholpen zal worden. Wanneer u zich afvraagt hoe de Omxplayer het doet – welnu, die weigert botweg ook maar iets te decoderen omdat hij de hardware dankzij de voortdurende wijzigingen in de video decoding stack niet meer kan benaderen.
Waarom proberen we het na deze test met VLC niet met Kodi? Omdat de meeste video-georiënteerde distributies die circuleren hun images nog niet aan de nieuwe hardware konden aanpassen, konden we alleen een oude versie uit een van de Raspian-repositories te pakken krijgen. Maar dat is zinloos omdat we geen video-versnelling met Kodi op de Raspberry Pi 4 zullen krijgen.
Blauw is het nieuwe zwart...
Eindelijk hebben we nu de beschikking over echte USB-poorten en niet slechts USB 2.0 met een trage uplink naar de SoC. De twee blauwe connectoren en de nieuwe USB-hub maken duidelijk dat het USB 3.0-tijdperk is aangebroken. Bovendien wordt Ethernet niet langer via een USB-poort van de hub aangesloten – nu is die direct met de SoC verbonden. Dat betekent meer USB-bandbreedte voor onze periferie en een grote verbetering in de netwerk-doorvoersnelheid.Nu we USB 3.0 en echte Gigabit Ethernet hebben, willen we ook weten hoe dit presteert. Met 1000 Mbit/s mag u (idealiter) rekenen op een datarate van 125 MB/s, zodat u over een NAS voor thuis kunt gaan nadenken. Voor het testen hebben we Samba gebruikt, omdat dit naar alle waarschijnlijkheid de voorkeursmanier is om netwerkdata te delen, en ook omdat de drie grootste besturingssystemen daarmee overweg kunnen.
Als opslagmedium gebruikten we een Kingston Data Traveler 100 USB-stick met 32 GB opslagruimte en EXT4 voor het bestandssysteem. Als tweede optie gebruikten we een RAM-disk omdat we nu genoeg plaats hebben om 1,2 GB te ‘verspillen’. Om die RAM-disk in te richten tikten we in:
sudo mount -t tmpfs -o size=1200M none /ramdisk
Na de configuratie van Samba (Windows Fileshares onder Linux) hadden we natuurlijk data nodig om te kopiëren. We gebruikten
bbb_sunflower_1080p_60fps_normal.mp4
en
bbb_sunflower_2160p_60fps_normal.mp4
afkomstig van http://bbb3d.renderfarming.net/download.html omdat dit ons 1.004.968 kB aan bestanden oplevert, en we die al onder handbereik hadden van onze videotests. We hebben deze eerst naar de USB-stick gekopieerd en hebben daarna gemeten hoe lang de Raspberry Pi 4 er over deedze naar de RAM-disk te kopiëren met een gewoon ‘cp’-commando. Een RAM-disk als tweede opslagmedium voorkomt eventuele vertragingen.
Met een klein script dat een timestamp aan het begin van de overdracht en een tweede timestamp aan het eind toont, kwamen we uit op 9,3 s, corresponderend met 108,05 MB/s – jammer genoeg het maximum van de flashdrive die we gebruikten. Wanneer we de bestanden een tweede keer kopiëren, valt een toename van de overdrachtssnelheid op omdat nu de extra RAM van pas komt als een cache. Vergeleken met de Raspberry Pi 3 B+ is dat behoorlijk snel, omdat we met USB 2.0 niet meer dan maximaal ongeveer 35 MB/s kunnen halen. En bij de Raspberry Pi 3 B+ moeten we ook nog eens bandbreedte delen met Ethernet. Over Ethernet gesproken: van de RAM-disk kunnen 102 MB/s nuttige data via SMB share, en dat zit dicht in de buurt van het maximum voor 1 Gbit/s wanneer we de SMB-overhead meerekenen.
Ons laatste experiment was kopiëren van data van de USB-stick. We wisten al dat we daar data kunnen uitlezen met snelheden van meer dan 100 MB/s. Bij de overdracht kwamen we nu uit op 98 MB/s (ook hier dus enige overhead van de USB-stick). Voor een kleine en goedkope webserver is dit best in orde; op deze verbeteringen hebben we lang moeten wachten.
WLAN & Co.
Net als bij de Raspberry Pi 3 B+ is de eigenlijke WiFi-chip onder een blikplaatje verstopt omwille van een beter EMI-gedrag. De layout van de antenne is ook vergelijkbaar met die van eerdere modellen. Laten we nu eens een blik werpen op de WiFi-functionaliteit.Op de Raspberry Pi 4 hebben we weer de RAM-disk gebruikt om data te kopiëren naar onze Windows 10-PC. Daarbij hebben we LAN losgekoppeld en WiFi in de 2,4-GHz-band gebruikt. Hier haalt de Raspberry Pi 4 een draadloze overdrachtssnelheid van maximaal 150 Mbit naar een access point dat in principe 300 Mbit/s kan halen. We hebben dit getest met een bijna ‘ideale’ opstelling waarbij de Pi 4 en het access point elkaar konden zien, op minder dan 10 m afstand. In de ‘echte’ wereld zal dan zelden voorkomen, maar in ons lab ging het niet anders. We hebben evenveel data (1.004.968 kB) als bij de eerdere tests overgedragen; de overdracht was na 159 s klaar. Dat komt neer op een overdrachtssnelheid van 6,32 MB/s. Dat is best in orde, maar hoe zit het met de 5-GHz-band, is die sneller? Ja, dat is zo. Maar daar zitten we met het probleem dat we een kanaal lager dan 64 moeten gebruiken, anders kan de Pi het niet vinden. Hier haalden we een overdrachtssnelheid van 7,17 MB/s dankzij de draadloze snelheid van 200 Mbit die de Pi biedt. Dat is acceptabel voor video-streaming – maar het is waarschijnlijk niet genoeg om de Raspberry Pi 4 als access point te kunnen gebruiken.
Bluetooth! Ja, dat is aan boord en het werkt met Linux zoals u zou verwachten. Jammer genoeg hadden we geen Bluetooth 5.0-apparaat bij de hand om mee te experimenteren, maar zodra dat het geval is laten we u weten hoe dat werkt.
Hoe snel is snel?
De processor-cores draaien nu op maximaal 1,5 GHz, en dat is 100 MHz meer dan bij de Raspberry Pi 3 B+. Op papier is de Pi 4 dus 7,1% sneller dan de Raspberry Pi 3 B+, en dat lijkt niet veel. Maar tegelijk zijn voor diecores bij de Pi 4 Cortex-A72 exemplaren gebruikt. En deze zijn in eerste instantie ontworpen met prestaties per MHz in gedachten, terwijl de prestaties per watt op de tweede plaats kwamen. Alled bij elkaar worden de preataties ten opzichte van de 3B+ hierdoor beter. Wanneer we sysbench op een enkele core loslaten en intypensysbench -test=cpu run
dan duurt dit 121,35 s bij de Raspberry Pi 3 B+. Als we dezelfde test op een van de Raspberry Pi 4 cores loslaten, meten we 92,78 s rekentijd – en dat is ruwweg 30% sneller dan de Raspberry Pi 3 B+ voor deze test. Wanneer we deze test op beide systemen op alle vier cores uitvoeren, vinden we 35,54 s voor de Raspberry Pi 3 B+ en 23,25 s voor de Raspberry Pi 4 – een forse verbetering die vooral aan de nieuwe cores te danken is.
Oké, dat klinkt best wel goed wat de CPU-prestaties betreft, maar er hangt wel een prijskaartje aan: er wordt meer vermogen verstookt. Wanneer we de plaatjes van de warmtebeeldcamera bekijken, is duidelijk te zien dat de Pi 4 heter wordt dan de 3 B+.
Wanneer we hem met wat software ‘belasten’, loopt de temperatuur op naar waarden die niet leuk meer zijn. We zien hotspots van 68 °C; met een temperatuur van 55 °C mogen we aannemen dat de SoC zich nog redelijk goed voelt. De zwarte gedeelten in de warmtebeeldplaatjes zijn de metalen deksels van de CPU en de draadloze module, maar geloof me – die zijn echt niet zo koud als het plaatje suggereert. Bij de Raspberry Pi 4 is het geen goed idee de CPU aan te raken. De andere heldere (en dus hete) plek in het plaatje is de USB 3.0 hub-chip – liever ook maar niet aanraken.
Wanneer we de Raspberry Pi 4 en de Raspberry Pi 3 B+ met elkaar vergelijken terwijl ze beide ‘niets’ doen, dan wordt duidelijk dat de Pi 4 niet zo ‘cool’ is als zijn kleine broertje. Dat betekent dat het stroomverbruik in rust geoptimaliseerd moet worden; we verwachten dat dit beter zal zijn zodra de definitieve versie uitkomt. De foto toont de temperatuur in rust van de Raspberry Pi 3 B+ en de Raspberry Pi 4. Het koelere exemplaar links is de 3 B+; het exemplaar rechts met de heldere hotspots is de Pi 4.
Dat betekent dat u goed moet nadenken waar u de Raspberry Pi 4 wilt neerzetten. Een donker en stoffig hoekje – prima voor de eerdere modellen maar dat isvoor de Pi 4 geen optie. Een onbelemmerde luchtstroom moet de componenten koel houden en oververhitting voorkomen. En wanneer u bedenkt hoeveel warmte het systeem dissipeert, kunt u er beter rekening mee houden dat de voeding heel wat stroom moet leveren.
Over het stroomvrbruik gesproken, laten we eens kijken hoe hongerig de Pi 4 is geworden. Daarom hebben we het stroomverbruik in rust gemeten, en tijdens het draaien van de CPU-benchmark en ook terwijl we supertuxkart op 720p resolutie draaiden. Alle tests zijn uitgevoerd met één scherm aangesloten en met het Raspbian alpha-image.
- Desktop in rust: 2,8 W bij een voedingsspanning van 5 V.
- Afspelen van de 1080p Big Buck Bunny-video: ongeveer 3 W fullscreen, en ongeveer 4 W in een venster.
- Met supertuxkart bij 720p: ongeveer 5 W tijdens het rondjes draaien.
- Sysbench: voor één core: 3,9 W en 5,2 W voor alle cores tegelijk.
Hoe meer vermogen het systeem verstookt, des te groter wordt ook de gedissipeerde warmte. Wanneer u het systeem hard laat werken, moet u er voor zorgen dat de lucht goed om het systeem kan circuleren. En vergeet niet dat de netwerk- en de USB-chip ook behoorlijk warm worden.Ook moet u er aan denken dat de USB-hub stroom gaat trekken zodra u data via het netwerk gaat overdragen, en datzelfde geldt voor de netwerk- en WiFi-componenten.
Een continu ingeschakeld systeem dat meestal in rust verkeert, zal dan per jaar ongeveer 24,5 kWh verstoken. En dat wordt veel meer wanneer u het systeem gaat belasten. De extra hoeveelheid RAM biedt leuke mogelijkheden. We kunnen bijvoorbeeld virtuele machines op de Raspberry Pi 4 draaien: wegservers, een MQTT-broker of versleutelde data-opslag, waarbij we snel van het ene naar het andere systeem kunnen omschakelen. Hoe goed dit allemaal lukt, zal de tijd moeten uitwijzen.
VideoCore VI: 3D is terug
Iets wat de oudere Raspberry Pi-modellen moesten ontberen was de mogelijkheid 3D-versnelling op de desktop te gebruiken. Met de Raspberry Pi 4 en de driver voor het grafische deel van de VideoCore VI is die mogelijkheid eindelijk beschikbaar. Nu hebben we op de desktop 3D-versnelling in ‘venster’-modus, en dat werkt prima! De nieuwe core heeft geen problemen met zaken als supertuxkart, waarvoor op de Raspberry Pi 3 B+ een heleboel tweaks nodig waren (en zelfs dan vaak weigerde te draaien).
De Raspberry Pi 4 start het spel betrekkelijk snel op, en bij een resolutie van 1024x768 en met de effecten gereduceerd tot niveau 3, kunnen we een paar rondjes draaien bij gemiddeld 40 fps. Wanneer we overgaan op 720p neemt de frame rate af tot gemiddeld 29 fps, maar dat is nog altijd ‘speelbaar’ – een duidelijke verbetering ten opzichte van de Raspberry Pi 3 B+. Vraag ons echter niet hoe een N64- of PS1-emulator draait: we hebben deze helaas niet op tijd voor deze bespreking aan de praat gekregen. Zodra dat het geval is, zullen we de testresultaten natuurlijk presenteren; u kunt er waarschijnlijk wel van uit gaan dat dit beter gaat dan met de oudere versies.
Aansluitmogelijkheden van de Raspberry Pi 4
Velen van u die al een oudere Raspberry Pi bezitten, of die willen beginnen met een of andere bestaande uitbreiding, zitten natuurlijk met de vraag of bestaande add-ons op de Raspberry Pi 4 kunnen worden aangesloten. Het antwoord is: jazeker, maar als u een van die LCD-displays gebruikt die op HDMI moeten worden aangesloten, zult u wel een nieuw kabeltje nodig hebben.De aansluitingen van en de ondersteuning voor camera en display zijn in vergelijking met de Pi 3 B+ niet veranderd, en hetzelfde geldt voor de populaire 40-polige connactor aan de rand van het printje. We kunnen dezelfde uitbreidingen aansluiten. Omdat die 3 A kan leveren, kunnen we bijvoorbeeld een StromPi V3 op de Raspberry Pi 4 prikken. De PoE-HAT past ook maar is minder geschikt omdat we dan slechts 2,5 A ter beschikking hebben – het absolute minimum voor de Raspberry Pi 4. Met andere woorden: de PoE-HAT doet het misschien wel, maar met de problemen in gedachten die we daarmee bij de oudere modellen hadden, zullen we daar later nog een keer mee experimenteren. We gaan nu wel een 3,5" TFT op de Pi uitproberen, en ook zullen we het 7" touchscreen van de Raspberry Pi Foundation uitproberen, aangesloten op de displayconnector.
De eerste test bij gebruik van die displayconnector had geen succes: het display werd niet gedetecteerd en vertoonde dan ook niets. We kunnen alleen maar aannemen dat dit nog opgelost wordt.
Hetzelfde is het geval met de 3,5" TFT die u direct op de oudere Raspberry Pi-modellen prikt, omdat een paar softwarecomponenten zijn gewijzigd. Na de gebruikelijke configuratie wordt het scherm zelf weliswaar herkend, maar als de grafische uitvoer wordt omgeleid naar het display blijft de Raspberry Pi 4 tijdens het opstarten hangen. Dit probleem kan softwarematig worden opgelost, maar dat is nog niet gebeurd.
Hierna hebben we niet meer geprobeerd een camera op de Raspberry Pi 4 aan te sluiten: we verwachtten dat enkele zaken van het prerelease-image niet zouden werken. Zodra de definitieve image is uitgebracht en enige tijd ‘in het veld’ heeft overleefd, zullen we de ondersteuning voor deze componenten nader onderzoeken.
Wat de IO’s betreft (en SPI en I²C in het algemeen): dit werkt naar behoren, en hetzelfde geldt voor de GPIO’s zoals een snelle test aantoonde. Afhankelijk van de software en de gebruikte libraries kan een opstelling die u voor oudere Raspberry Pi-modellen had, ook met de Raspberry Pi 4 werken. Maar omdat dit nog steeds ‘werk in uitvoering’ is, zijn wellicht meer aanpassingen op hun plaats.
Conclusie
We hebben enkele eenvoudige tests uitgevoerd om de prestaties en stroomopname te meten, en we hebben eenvoudige 3D-games geprobeerd. Zoals we aan het begin al vertelden, werkte we met een beta-image voor de Raspberry Pi 4; de definitieve versie zou beter moeten werken. Wat uw favoriete videocentrische distributies zoals openelec betreft: het zal nog wel enige tijd duren voordat die voor de Raspberry Pi 4 zijn aangepast. En zoals al opgemerkt: de software is niet compleet en heeft een paar patches nodig. Dat duurt even, maar dat zal waarschijnlijk wel gebeuren.Eindelijk hebben we de upgrades gekregen waar we zo lang op moesten wachten: sneller USB, sneller netwerk, een snellere CPU en ook meer RAM. Daar hangt een prijskaartje aan, niet alleen in euro’s maar ook in stroomverbruik. Terwijl de instapmodellen met 1 GB RAM ongeveer hetzelfde kosten als de Raspberry Pi 3 B+, nemen de prijzen toe wanneer u meer RAM wilt. Tegelijk nemen het stroomverbruik en de dissipatie toe.
Afhankelijk van de eisen die aan uw project gesteld worden, moet u de voor- en nadelen van meer RAM, meer stroomverbruik, meer displays of 4K tege elkaar afwegen of eventueel uw toevlucht nemen tot een van de oudere Raspberry Pi-modellen.
Maar eerlijk is eerlijk, we vonden de extra hoeveelheid RAM in dit nieuwe model best wel lekker. Ook maakte de USB 3.0-ondersteuning de overdracht van data van en naar het netwerk snel en gemakkelijk. De mogelijkheid om 2 displays aan te sluiten bij 4K-ondersteuning maakt de Raspberry Pi 4 tot een aantrekkelijke Thin Client, een digitale flipperkast, een prima speeltje voor in de huiskamer, een NAS-applicatie of zelfs een kleine kantoorcomputer.
Discussie (1 opmerking(en))