CachyOS è una derivata di Arch Linux che si propone di aumentare le prestazioni grazie a ottimizzazioni al kernel, a vari scheduler e ai pacchetti. Questi ultimi, in particolare, sono compilati con le istruzioni x86-64-v3/x86-64-v4, che usano le estensioni di Intel AVX2/AVX512, e con LTO (Link Time Optimization).
Quindi i repository di CachyOS sono diversi da quelli di Arch; in pratica sono gli stessi ma compilati con qualche istruzione in più. Nel loro sito declamano:
"The CachyOS repositories contain Arch Linux and CachyOS packages, which have been rebuilt with flags optimized for performance, stability, and security.
x86-64-v4 - all Arch Linux packages + LTO.
x86-64-v3 - all Arch Linux packages + LTO.
x86-64 - all Arch Linux packages + LTO."
Io possiedo una CPU AMD che integra le istruzioni AVX2 (x86-64-v3) e mi chiedevo se avrei avuto miglioramenti ad usare i repository di CachyOS sulla mia Arch. L'installazione è semplice e tornare indietro in caso di guai è banale, quindi mi sono deciso di fare una prova e, dopo circa un mese di utilizzo senza nessun problema, vorrei riportare le mie impressioni.
Per installare i nuovi repository si può procedere con uno script che automatizza il procedimento o fare l'installazione manuale. Da buon utente di Arch dovrei usare la modalità manuale, ma in realtà ho usato lo script e fatto tutto in poco tempo e senza problemi. Sul wiki di CachyOS sono riportate le istruzioni in dettaglio, a cui consiglio di rivolgersi, mentre io farò un semplice riepilogo:
https://wiki.cachyos.org/cachyos_repositories/how_to_add_cachyos_repo/
1- si inizia scaricando il tar del repository con curl o wget:
curl https://mirror.cachyos.org/cachyos-repo.tar.xz -o cachyos-repo.tar.xz
oppure:
wget https://build.cachyos.org/cachyos-repo.tar.xz
Ovviamente dovete avere curl o wget installati.
2- si scompatta l'archivio e si entra nella cartella che si viene a creare:
tar xvf cachyos-repo.tar.xz && cd cachyos-repo
3- dentro la cartella, oltre ai riferimenti per i repository, si trova lo script che avvieremo con i privilegi di root:
sudo ./cachyos-repo.sh
Adesso fa tutto lo script, compreso il capire quali istruzioni supporta la CPU, installando la versione adatta. Inoltre, prima di cambiare il mirrorlist con i nuovi repository, fa un backup del vecchio in modo da poter ritornare comodamente ai classici repository di Arch e lo stesso fa con il file /etc/pacman.conf. Consiglio la lettura anche del metodo manuale per capire come funziona lo script e le azioni che automatizza. Alla fine dell'installazione viene fatto, sempre automaticamente, un:
sudo pacman -Syu
Si nota che vengono aggiornati sia i nuovi repository CachyOS che i classici di Arch (core, extra, ecc). Questo è tutto per l'installazione, comunque io consiglio sempre un riavvio, anche se non cè un vero bisogno.
Un problema che può sorgere con le derivate di Arch che usano repository propri è il possibile "sfasamento" fra gli aggiornamenti di Arch e quelli della derivata. Questo può comportare problemi di versioni diverse per dipendenze e librerie, problemi accentuati dal fatto che Arch è una rolling release.
Io non ho avuto questi problemi: i repository di arch vengono aggiornati per primi e garantiscono il funzionamento dei pacchetti, poi, quando vengono aggiornati i pacchetti di cachyOS, avviene la sostituzione del pacchetto con quello ottimizzato. In ogni caso l'aggiornamento dei nuovi repository è molto veloce e io, aggiornando tutti i giorni, non trovo molte discrepanze.
Ora la domada è: c'è un aumento di prestazione nell'utilizzare i repository ottimizzati? Sinceramente ad occhio non trovo molte differenze. Dovrei fare dei benchmark mirati che però non so come fare. I benchmark generici tipo geekbench e glmark2 forniscono risultati simili. Vista la facilità di installazione, se avete voglia di provare e ottenete delle buone prestazioni, vi prego di farmelo sapere. Potete anche consigliarmi qualche test mirato che io non ho idee. Forse c'è bisogno anche delle altre ottimizzazioni di CachyOS, per cui varrebbe la pena di usare la distro intera e non solo i suoi repository.
Infine, se vogliamo togliere i repository di CachyOS e ritornare a quelli classici di Arch (che, ripeto, non sono mai stati eliminati, ma solo sostituiti in "parallelo"). Per prima cosa dobbiamo reinstallare il vecchio pacman, visto che lo script ne ha installato una versione personalizzata:
sudo pacman -S core/pacman
Notare che usa il repository classico di Arch core, se avesse usato la versione nuova sarebbe comparsa la scritta cachyos-core.
A questo punto si procede al ripristino con lo stesso script che abbiamo usato per l'installazione. Se nel frattempo abbiamo eliminato la cartella, la possiamo riscaricare. Si avvia questo secondo script con privilegi di root:
sudo ./cachyos-repo.sh --remove
Verrà rimesso il mirrorlist originale e i nuovi repository verranno eliminati. La conferma la avremo con un nuovo:
sudo pacman -Syu
Io consiglio sempre di riavviare, che male non fa. Per capire le azioni dello script si possono leggere le istruzioni della modalità manuale, allo stesso indirizzo indicato all'inizio.