Come overcloccare il Raspberry Pi 4

Overclock del Raspberry Pi 4. Come farlo, le prestazioni che si possono raggiungere, problemi e soluzioni.

Avatar di Gareth Halfacree

a cura di Gareth Halfacree

Raspberry Pi 4 è un single-board computer che, come potete leggere nella nostra recensione, si è dimostrato essere qualcosa di nettamente superiore rispetto ai suoi predecessori, con caratteristiche e relative prestazioni fino a quattro volte superiori. Ma c’è un modo per ottenere prestazioni superiori - in realtà è un metodo valido sia per il Pi 4 quanto per qualsiasi altro modello di Raspberry Pi - ed è quello di incrementarne la velocità di CPU e GPU attraverso l’overclock.

Overcloccare un Raspberry Pi, cosa devi sapere

Seppur overcloccare un Raspberry Pi 4 risulti, a prima vista, semplice quanto la modifica di un file di configurazione - non invalidandone tra l’altro nemmeno la garanzia, a meno che non si decida di portarlo agli estremi - ci sono alcune cose che sarebbe bene conoscere prima di iniziare.

Anzitutto è necessario un alimentatore di buona qualità. Un alimentatore di terze parti che funziona bene su un Raspberry Pi 4 in esecuzione a velocità di clock predefinite non è detto che sia in grado di svolgere bene il suo lavoro con un’unità overcloccata.

Che stiate usando l’alimentatore originale Raspberry Pi o uno di buona qualità di un produttore di terze parti di fiducia, tenete sempre d’occhio il simbolo di un fulmine in alto a sinistra sullo schermo, è il Raspberry Pi che vi avverte che è in carenza di energia e che è quindi necessario collegarlo a un alimentatore in grado di fornirgli quanto desidera.

Potrebbe essere necessario un sistema di raffreddamento attivo. Anche se non è strettamente necessario, soprattutto se si sta solo sperimentando, il Raspberry Pi 4 si surriscalderà. Un piccolo dissipatore passivo, disponibile presso qualsiasi rivenditore Raspberry Pi, è meglio di niente ma aggiungere una ventola per creare un sistema di raffreddamento attivo è ancora meglio.

Ci sono piccolissime ventole, alimentabili tramite l’header GPIO, disponibili sul mercato anche se si tratta di pezzi un po’ rari e relativamente costosi; un’opzione più economica potrebbe essere quella di valutare case di terze parti che includono la possibilità di montare ventole più grandi o l'accessorio HAT ufficiale PoE (Power-over-Ethernet) di Raspberry Pi che ha la propria ventola montata sul PCB. Non riuscire a raffreddare il Raspberry Pi 4 non lo danneggerà, ma gli farà raggiungere rapidamente la temperatura critica da farlo entrare in thermal throttling, abbassandone la frequenza e negando di fatto l’overclock stesso.

Non c’è da preoccuparsi per la garanzia. Ogni Raspberry Pi ha un’impostazione software che scatta su “fuse” solo quando impostate due funzioni chiave: la prima è una tensione di base sopra i livelli di sicurezza riconosciuti dal sistema, la seconda forza la CPU a lavorare alla sua massima velocità in ogni momento. Evitando quest’ultima - l’opzione force_turbo - la garanzia non verrà invalidata.

Overcloccare la CPU

La maggior parte dei carichi di lavoro sul Raspberry Pi sono legati alla frequenza della CPU del SoC (piuttosto che alla GPU), per questo risulta ovvio che debba essere il primo punto da cui iniziare a sperimentare.

Tutto il necessario per iniziare ad overcloccare la CPU sono il Raspberry Pi 4 stesso e i suoi accessori più una scheda micro SD con una copia di NOOBS - New Out Of Box Software – compatibile con il Raspberry Pi 4. In caso se ne possegga già una copia - magari utilizzata in passato con vecchi modelli - il consiglio è di scaricare comunque una nuova copia di NOOBS dal sito web Raspberry Pi per essere sicuri della piena compatibilità col Pi 4.

La ragione per cui si usa NOOBS, piuttosto che un'installazione Raspbian pura, è semplice: NOOBS include la possibilità di modificare i file di configurazione nella directory /boot anche se Raspbian non può caricare. Se qualcosa andasse storto e il Raspberry Pi non si avviasse, basterebbe tenere premuto il tasto Maiusc all'avvio per accedere alla modalità di ripristino NOOBS e modificare il file di configurazione da lì.

Nella directory /boot è possibile reperire un file chiamato config.txt contenente la maggior parte delle impostazioni di base di un Raspberry Pi. Si tratta di un file di testo standard apribile in diversi modi: è sufficiente fare doppio clic su di esso in Raspbian per vederne il contenuto, ma non permetterà di salvare le modifiche che apportate. Per questo, saranno necessari privilegi elevati. Per averli bisognerà aprire un terminale con Control, Alt e T, quindi digitare:

sudo nano /boot/config.txt

Questo comando aprirà il file nell’editor di testo Nano con privilegi di root – equivalenti all’account Amministratore di Windows. Bisognerà poi muoversi tramite i tasti cursore, scorrere fino alla fine e trovare la sezione contrassegnata come [pi4], che contiene le impostazioni caricate solo quando la micro SD si trova in esecuzione su un Raspberry Pi 4. Se si sta overcloccando un modello diverso di Raspberry Pi, allora si salterà direttamente alla parte inferiore del file. In una nuova riga sotto [pi4], digitare quanto segue:

over_voltage=2arm_freq=1750

La prima di queste impostazioni, over_voltage = 2, aumenta la tensione fornita al SoC di circa 0,05 V; non sembrerà molto, ma senza questa piccola spinta in più è improbabile che si riesca ad avviare il Raspberry Pi 4 alla frequenza più alta.

La seconda impostazione, arm_freq = 1750, imposterà invece la velocità di clock dei quattro core del SoC Cortex-A72 a 1750 MHz (o 1,75 GHz, se preferite), con un aumento di 250 MHz rispetto all'impostazione stock di 1,5 GHz.

Al momento della stesura di questo articolo, questa frequenza è la massima che siamo riusciti a raggiungere: qualsiasi cosa oltre i 1750 MHz influisce negativamente sulle prestazioni. I futuri aggiornamenti del firmware post lancio potrebbero aumentare questo limite fino a 2 GHz, per quelli che dispongono di un sistema di raffreddamento adeguato.

Per concludere la procedura, salvare le modifiche con Ctrl+O, quindi uscire da Nano con Ctrl+X. Dovete riavviare il Raspberry Pi 4 per caricare il nuovo file di configurazione, per farlo basterà digitare:

sudo reboot

Se tutto è andato per il verso giusto, Raspbian si caricherà normalmente; in caso contrario, tenete premuto Shift per caricare la modalità di ripristino NOOBS e provate ad aumentare l'impostazione di over_voltage o diminuire l'impostazione arm_freq. È importante ricordare che non è possibile aumentare over_voltage oltre un valore di 6 - equivalente a un aumento di 0,15 V rispetto alla tensione nominale - senza usare l'impostazione force_turbo e invalidare quindi la garanzia.

Benchmark con CPU overcloccata

Overcloccare un Raspberry Pi 4 non è solo questione di modificare un file di configurazione; questa azione seppur possa sembrare cosa da niente, ha un impatto reale sui carichi di lavoro reali e sui risultati dei benchmark sintetici.

Il benchmark di Linpack offre uno sguardo alle prestazioni in virgola mobile: sia la modalità a precisione singola che doppia vedono un incremento delle prestazioni del 16-18% con l'overclock attivo, mentre una versione a precisione singola che usa le istruzioni di accelerazione dei core ARM NEON vede un aumento di circa il 15%.

Invece un test di compressione dei file reale nel quale un file di grosse dimensioni contenente dati casuali è compresso usando software di compressione single-thread bzip2 e multi-threaded lbzip, mostra un incremento minore delle prestazioni in overclock, nello specifico è circa il 9% più veloce in single-thread e il 7% in multi-thread.

Un benchmark di modifica delle immagini, realizzato tramite l’uso del famoso software open source GIMP, beneficia maggiormente della maggiore velocità di clock della CPU, terminando in 39,2 secondi rispetto ai 47,35 secondi di un Raspberry Pi 4 con velocità di clock standard, un incremento  del 17,2%.

Persino la navigazione web è migliorata: il benchmark Speedometer 2.0, che misura la reattività delle web app, vede un boost dell’11% con la maggiore frequenza di clock.

Non tutto però beneficia della nuova velocità di clock. Ad esempio lo sparatutto in prima persona OpenArena, basato su Quake III Arena di id Software, vede solo una differenza di margine di errore nel framerate. Infatti, applicazioni come questa sono tipicamente limitate dalla GPU, piuttosto che dalla CPU; per migliorare le prestazioni in questo scenario, la GPU richiede una certa attenzione.

Overcloccare la GPU

Overcloccare la GPU del Pi 4 non è di certo più complicato di quanto già fatto con la CPU, per farlo bisognerà modificare lo stesso file di configurazione usato per l’overclock della CPU. Per iniziare aprite il terminale con Ctrl+Alt+T, e digitate:

sudo nano /boot/config.txt

Arrivate fino alla sezione [pi4], come già fatto in precedenza, e aggiungete la seguente stringa:

gpu_freq=600

Mentre l’impostazione arm_freq controlla la velocità di clock della CPU, l’impostazione gpu_freq fa lo stesso per la GPU. Il valore di default è impostato a 500 MHz; portarlo a 600 MHz offre un modesto incremento delle prestazioni senza correre molti rischi e inficiare la garanzia.

È possibile che overcloccare contemporaneamente sia la CPU che la GPU sia troppo per l’impostazione di sovratensione, impostata precedentemente (per il solo overclock della CPU) a 2. Per questo sarà meglio andare a modificarla. Trovate la riga che riporta over_voltage=2 e modificatela con:

over_voltage=4

Come fatto prima per la CPU, salvate il file con Ctrl+O e uscire da Nano con Ctrl+X. Riavviate il Raspberry Pi 4 e tutto dovrebbe andare bene; se Raspbian non viene caricato, tenete premuto Shift per passare alla modalità di ripristino NOOBS e modificate il file di configurazione per aumentare il valore over_voltage portandolo a 6.

Ricordate di non aumentare tale impostazione oltre il valore 6; i valori superiori a questo sono ignorati a meno che non si imposti anche l'impostazione force_turbo, e così facendo si fa scattare nel SoC il flag “fuse” che invalida la garanzia.

Benchmark con GPU overcloccata

Viene da pensare che non ci sia motivo per svolgere uno qualsiasi dei test basati sulla CPU per vedere quanto l’overclock della GPU influisca su di essi, più o meno come l’esecuzione del benchmark OpenArena, basato sulla GPU, è stato inutile in seguito all’overclock della CPU.

Beh, è un errore: la GPU di un Raspberry Pi infatti gode di un controllo molto maggiore sul sistema di quel che ci si potrebbe aspettare, grazie all’origine del SoC come chip multimediale per set-top box e sistemi di intrattenimento.

Il benchmark Linpack lo dimostra bene: le prestazioni a precisione singola sono incrementate ancora una volta, aumentate fino a quasi il 20% rispetto a un Raspberry Pi 4 a frequenze standard, rispetto al 17% ottenuto con un overclock della sola CPU. I miglioramenti a doppia precisione sono un po' più bassi, ma le prestazioni con accelerazione NEON sono di nuovo quasi il 20% più alte rispetto al 15% di aumento con il solo overclock della CPU.

Per quel che riguarda il test di compressione dei file la situazione racconta una storia diversa: il test single-thread non mostra differenze rispetto a quando è stato svolto con la sola CPU overcloccata, mentre la versione multi-thread è scesa dal precedente progresso del 6,7% a solo l’1,3%. Un passo indietro.

Anche per l'editing delle immagini registriamo una perdita di prestazioni: il rialzo del 17,2% ottenuto con la sola CPU overcloccata, è sceso al 6,6%, aggiungendo di fatto 3 secondi pieni al tempo di completamento.

Per quanto riguarda la navigazione sul web, la storia è in qualche modo più felice: il guadagno di prestazioni dell'11,2% ottenuto col solo overclock della CPU è leggermente aumentato al 12,4%, e anche se è un guadagno misero, non si riscontrano i cali visti in altri test. Una magra consolazione a conti fatti.

Ovviamente dove l’overclock della GPU splende è nel benchmark OpenArena. Infatti, cambiando il clock della GPU a 600 MHz dal suo valore stock di 500 MHz, il framerate del titolo aumenta di un bel 16,4%, passando da 41,4 fps a 48,2.

Conclusioni

Il Raspberry Pi 4 è già di per sé un dispositivo potente, che batte facilmente i suoi predecessori e la concorrenza nella stessa fascia di prezzo in una serie di benchmark.

Per coloro che ne hanno ancora bisogno, tuttavia, l'overclock è un modo semplice e veloce per ottenere un po’ di prestazioni extra per carichi di lavoro sia della CPU che della GPU - anche se si dovrà decidere quale dei due è più importante, in base alle proprie necessità e per ottenere i maggiori incrementi prestazionali. Il raffreddamento aggiuntivo è altamente raccomandato.

Gli aggiornamenti del firmware post lancio potrebbero incrementare il limite di velocità attuale della CPU a 1,75 GHz portandolo molto probabilmente a 2 GHz, consentendo così di ottenere ancor maggiori guadagni in termini di prestazioni, il tutto senza invalidare la garanzia.