ControlFSSoftware per Windows
I file di Windows dal divano, con il controller in mano.
ControlFS è un file manager per Windows che naviga, organizza, mostra e decomprime file usando solo la croce direzionale e i pulsanti di un controller Xbox, PlayStation o Nintendo. Il codice è aperto, in C# con .NET 10 e WinUI 3, e il repository pubblica un benchmark contro Esplora file e Files, anche nei punti in cui perde.
Open source

Scheda tecnica
- Cliente
- Prodotto di Next, open source
- Settore
- Software per Windows
- Piattaforme
- Desktop / Open source
- Periodo
- 2026
- Stato
- Open source
- Cosa abbiamo fatto
- App nativa per Windows
- Navigazione completa con il controller
- Estrazione e creazione di archivi compressi
- Telefono come controller tramite QR code
- Aggiornamenti automatici verificati
- Benchmark pubblico con metodo
- Stack
- C# / .NET 10 / WinUI 3 / SDL3
Numeri
- di memoria privata in meno rispetto a Files, con 59 MB contro 109 MB
- 45%
- benchmark su GitHub Actions, mediana di 3 esecuzioni
- di working set a riposo, misurato dopo la pulizia che solo ControlFS esegue
- 18 MB
- benchmark su GitHub Actions, mediana di 3 esecuzioni
- di memoria privata in più rispetto a Esplora file, dove ControlFS perde
- 2,5 MB
- benchmark su GitHub Actions, mediana di 3 esecuzioni
- di un core di CPU a riposo, contro quasi 0% di Esplora file
- 0,31%
- benchmark su GitHub Actions, mediana di 3 esecuzioni
Il punto di partenza
Su un PC collegato alla TV o su un portatile con Windows, il controller è già in mano. Per aprire una cartella, estrarre uno ZIP scaricato o guardare un video, si torna a mouse e tastiera, perché Esplora file è stato progettato per quelli.
ControlFS è fatto per questo uso. Gira solo sul PC, senza login e senza telemetria, e il codice è pubblicato con licenza AGPL-3.0-only.

Fatto per il controller
Tutto funziona con la croce direzionale. I pulsanti seguono la posizione fisica, quindi conferma e indietro restano nello stesso punto sui controller Xbox, PlayStation e Nintendo, e in basso compaiono le icone del controller collegato accanto a ogni azione. Per scrivere c’è una tastiera su schermo dedicata, con accenti e simboli.
Si può usare anche il telefono come controller. Il PC mostra un QR code, il telefono si collega tramite la rete locale senza installare nulla, e la connessione è cifrata con AES-256-GCM, con abbinamento tramite codice e un’autorizzazione esplicita sul PC.
Intorno a questo ci sono le funzioni di un file manager completo:
- schede, due pannelli e ricerca;
- copia, sposta e rinomina con annulla e ripristina, operazioni che si mettono in pausa e riprendono, e cestino;
- estrazione di ZIP (anche ZIP64 e AES), 7z, RAR4, RAR5, TAR e GZ, con volumi divisi e test di integrità;
- creazione di ZIP, TAR.GZ e 7z;
- anteprima di immagini, testo, PDF, audio e video con sottotitoli;
- montaggio di ISO, IMG, VHD e VHDX;
- lettura con l’Assistente vocale di Windows, e tema chiaro e scuro.

Scelte tecniche
L’app è nativa, in C# con .NET 10 e WinUI 3, senza Electron, senza browser integrato e senza web view. La scelta nasce dall’uso: ControlFS deve stare accanto a un gioco aperto. Ridotto a icona o dietro al gioco, abbassa la propria priorità, entra nella modalità di efficienza di Windows e restituisce memoria al sistema. In questo stato resta intorno ai 12 MB di working set.
La lettura dei controller passa da SDL3. Fino a settembre 2026 girava ogni 8 ms anche senza controller collegato, e questo spiegava gran parte dell’1,4%-1,7% di CPU che l’app consumava da ferma. Oggi, senza controller, l’app controlla solo ogni 250 ms se ne è arrivato uno, e la misurazione successiva si è attestata tra lo 0,47% e lo 0,62% di un core.
L’estrazione segue regole fisse. Non viene scritto nulla fuori dalla cartella di destinazione, i link vengono bloccati, i conflitti di nome rifiutati, ci sono limiti di dimensione, i file passano da una cartella temporanea e il CRC viene controllato. Gli aggiornamenti automatici installano solo un pacchetto il cui manifest sia firmato con la chiave del progetto e i cui SHA-256 e dimensione corrispondano.
Il benchmark, anche dove perde
Il README pubblica la misurazione con il metodo e i link alle esecuzioni di CI. Le tre app aprono la stessa cartella con 5.000 piccoli file su un runner windows-latest di GitHub Actions. A finestra aperta, la misurazione dura 10 secondi e somma tutti i processi di ogni app. Ogni valore è la mediana di 3 esecuzioni, fatte il 28 settembre 2026. La CPU è in percentuale di un core.
| Misura | ControlFS | Esplora file | Files |
|---|---|---|---|
| Memoria privata (MB) | 59 | 56,5 | 109 |
| Working set (MB) | 18 | 144 | 264 |
| CPU a riposo (%) | 0,31 | ~0 | 0,47 |
Nella memoria privata, ControlFS usa circa il 45% in meno di Files. Una finestra di Esplora file usa circa 2,5 MB in meno di memoria privata e resta vicina allo 0% di CPU a riposo, contro circa lo 0,3% di ControlFS. L’apertura richiede circa un secondo, perché Windows carica .NET e WinUI prima della prima riga dell’app, ed Esplora file non paga questo costo perché è già caricato.
I 18 MB di working set sono misurati dopo una pulizia che ControlFS esegue una volta per restituire a Windows ciò che è rimasto dall’apertura. Esplora file e Files non passano da questa pulizia, quindi il confronto corretto è quello sulla memoria privata. Il runner non ha GPU né controller collegato, e il README avverte che i numeri cambiano su un PC vero.
Il documento sulle prestazioni del repository conserva anche ciò che è stato scartato, come ReadyToRun, che ha reso l’eseguibile portable più grande di 21 MB senza aprire l’app più velocemente.

La situazione oggi
ControlFS è stato validato su hardware reale con controller fisici, e la versione 1.0 è in preparazione. La versione attuale è la 0.17.0-alpha.1, per Windows 11 a 64 bit, con un installer che si aggiorna da solo e una versione portable in un unico eseguibile. Gli eseguibili non hanno ancora la firma del codice, perché la richiesta alla SignPath Foundation è in valutazione, e SmartScreen può mostrare un avviso alla prima esecuzione.
Dalla prima versione alfa, pubblicata a settembre 2026, il changelog registra 21 versioni e supera gli 80 KB, con ciò che è cambiato e i limiti noti di ciascuna.
