Counter-Strike: Source ora può essere eseguito direttamente su Nintendo Switch grazie a css_nx, un interessante progetto open source sviluppato da NaGaa95 che porta lo storico sparatutto della Valve sulla console ibrida attraverso un porting nativo del motore.

Il progetto non utilizza un emulatore per riprodurre la versione PC del gioco, ma sfrutta un approccio decisamente più particolare.
Difatti css_nx utilizza il porting Android ARM64 del Source Engine realizzato da nillerusr, caricando le librerie originali e facendole funzionare all’interno di un ambiente Android minimale adattato per Nintendo Switch.
Il risultato è quindi una versione di Counter-Strike: Source pensata per funzionare direttamente sull’hardware della console, anche se il progetto si trova ancora in una fase iniziale dello sviluppo.
Come funziona css_nx
Il porting viene distribuito come applicazione Nintendo Switch e non include i dati originali del gioco. L’utente deve quindi fornire autonomamente i file di Counter-Strike: Source ottenuti dalla propria installazione.
Sono richieste in particolare le cartelle cstrike, hl2 e platform, insieme ai componenti necessari del porting ARM64 del Source Engine. Questa scelta permette al progetto di distribuire solamente il codice e gli elementi necessari al funzionamento del port, lasciando all’utente i dati proprietari del gioco.
Una volta predisposti i file sulla scheda microSD, css_nx può essere avviato come una normale applicazione homebrew, rispettando però alcune limitazioni legate alla memoria disponibile.
Serve l’Application Memory
Uno degli aspetti più importanti riguarda la quantità di memoria necessaria, css_nx non può essere utilizzato in modalità applet, ad esempio avviandolo semplicemente dall’Album della Nintendo Switch.
Per eseguire correttamente il porting è quindi necessario utilizzare il game override, avviando l’applicazione mentre si tiene premuto il pulsante
durante l’avvio di un gioco, oppure utilizzare un apposito forwarder.
In questo modo il programma può accedere all’intero application memory pool della console, una caratteristica fondamentale per un progetto che deve gestire il Source Engine e i relativi dati di gioco.
Counter-Strike: Source sfrutta il Source Engine ARM64
La parte più interessante di css_nx è probabilmente proprio l’architettura utilizzata. Il progetto non ricrea il motore di Counter-Strike: Source da zero, ma sfrutta il lavoro già realizzato per il porting Android ARM64 del Source Engine.
NaGaa95 ha realizzato un ambiente capace di caricare queste librerie sulla Switch e collegarle alle funzionalità offerte dal sistema operativo della console. Questo approccio permette di ottenere un’esecuzione molto più vicina a quella nativa rispetto a una soluzione basata sull’emulazione di un PC.
Il progetto include inoltre diverse possibilità di configurazione attraverso un file config.txt, che viene creato automaticamente al primo avvio.
Attraverso questo file è possibile modificare diversi parametri del motore, tra cui risoluzione, lingua, visualizzazione degli FPS, configurazione del gamepad e console degli sviluppatori.
Supporto ai controller e alla rete
Naturalmente, un porting di Counter-Strike: Source su Switch deve adattare anche i controlli, css_nx permette di utilizzare il gamepad della console e offre parametri specifici per configurare l’esperienza di gioco.
Non manca inoltre il supporto alla rete. Il progetto collega i socket BSD del sistema libnx, permettendo di utilizzare le funzionalità di rete della Nintendo Switch per le connessioni LAN e per collegarsi direttamente a un indirizzo IP.
Al momento esistono però alcune limitazioni. Il porting non dispone infatti di un resolver DNS completo, motivo per cui è necessario utilizzare direttamente gli indirizzi IP per le connessioni. Anche il normale browser dei server basato sul master server non può quindi essere utilizzato come sulla versione PC.
Per chi vuole semplicemente giocare offline, invece, sono disponibili anche i bot di Counter-Strike: Source, che possono essere utilizzati senza una connessione Internet.
Installazione
Sono necessari:
- Il Source Engine
.apk(QUI) — per i moduli.socondivisi del motore e i font; - I file di gioco di Counter-Strike: Source provenienti da una copia legalmente posseduta del gioco (le cartelle
cstrike/,hl2/eplatform/da un’installazione Steam); - Il cstrike APK — per i
libclient.so/libserver.sospecifici di CS:S eextras_dir.vpk(questo è l’APK sulla base del quale è stato realizzato questo porting).
Creare la directory /switch/css_nx/ sulla scheda SD e organizzarlo in questo modo:
/switch/css_nx/
css_nx.nro
config.txt <- creato automaticamente al primo avvio
lib/ <- tutti i file .so dalla cartella lib/arm64-v8a/
dell'APK Source Engine,
POI sovrascrivere libclient.so + libserver.so
con quelli presenti nella cartella lib/arm64-v8a/
dell'APK cstrike
assets/extras_dir.vpk <- dall'cartella assets/ dell'APK cstrike
files/ <- i font dalla cartella assets/ dell'APK Source Engine
(dejavusans.ttf, dejavusans-bold.ttf, DroidSansFallback.ttf,
LiberationMono-Regular.ttf, Itim-Regular.otf)
cstrike/ <- dati di gioco di CS:S (cstrike_pak_dir.vpk + parti
_NNN.vpk, gameinfo.txt, steam.inf, resource/, maps/, ...)
hl2/ <- contenuti condivisi del Source Engine montati da CS:S
(hl2_*.vpk)
platform/ <- contenuti condivisi della piattaforma
(platform_*.vpk)
Note
Questo porting non funziona in modalità applet/Album. Utilizzare un game override (tenere premuto
durante l’avvio di un titolo) oppure un forwarder. La Switch necessita dell’intero application memory pool.
Networking: I socket BSD reali di libnx sono collegati al sistema, quindi la LAN e i collegamenti diretti tramite connect <ip> possono raggiungere la rete.
Non è presente un resolver DNS, quindi è necessario connettersi tramite indirizzo IP e il browser del master server non verrà popolato. I bot di CS:S funzionano offline.
Al primo avvio viene creato un file config.txt accanto al file .nro:
screen_width/screen_height— vengono passati come-w/-hquando entrambi sono impostati;-1permette al motore di scegliere in base allo stato docked (1920×1080 in modalità docked, 1280×720 in modalità portatile).args— riga di comando aggiuntiva del Source Engine (ad esempio+map de_dust2).lang— nome della lingua del Source Engine (predefinita:english).show_fps—1per mostrare il contatore degli FPS in sovrimpressione.gamepad—1per abilitare l’input tramite joystick (predefinito:1).console—1per abilitare la console degli sviluppatori (predefinito:0).gyro_enabled—1per abilitare la mira tramite giroscopio (predefinito:0).gyro_sensitivity_x/gyro_sensitivity_y— sensibilità orizzontale e verticale del giroscopio in percentuale (predefinita:100).gyro_invert_x/gyro_invert_y—1per invertire il relativo asse del giroscopio.gyro_space—0per gli assi locali del controller,1per lo yaw nello spazio del mondo oppure2per il blending dello yaw nello spazio del giocatore (predefinito:0).gyro_tighten—1per ridurre i movimenti minimi e limitare la deriva del sensore.gyro_accel—1per applicare fino al doppio della sensibilità durante i movimenti rapidi.
L’input del giroscopio supporta la modalità portatile, i Pro Controller e i Joy-Con associati. Viene utilizzato solamente quando il gioco ha attiva la modalità mouse relativa, quindi non sposta il cursore nei menu.
Un buon punto di partenza per la configurazione è:
gyro_enabled 1
gyro_sensitivity_x 200
gyro_sensitivity_y 150
gyro_space 2
gyro_tighten 1
Changelog
- Aggiunto il supporto alla mira tramite giroscopio.
gyro_enabled—1per abilitare la mira tramite giroscopio (predefinito0).gyro_sensitivity_x/gyro_sensitivity_y— sensibilità orizzontale e verticale del giroscopio in percentuale (predefinita100).gyro_invert_x/gyro_invert_y—1per invertire il relativo asse del giroscopio.gyro_space—0per gli assi locali del controller,1per lo yaw nello spazio del mondo oppure2per il blending dello yaw nello spazio del giocatore (predefinito0).gyro_tighten—1per attenuare i movimenti minimi e ridurre la deriva del sensore.gyro_accel—1per applicare fino al doppio della sensibilità durante i movimenti rapidi.
Download: css_nx v1.0.1
Download: Source code css_nx v1.0.1
Alcune parti di questo articolo sono state generate con l’aiuto dell’intelligenza artificiale. Questo articolo contiene link affiliati a Amazon. Se acquisti tramite questi link, potrei guadagnare una commissione senza costi aggiuntivi per te.🔥 Prodotti in promozione e articoli più venduti: Nintendo Switch
Vedi altri prodotti Nintendo Switch
Ultimo aggiornamento 2026-09-04 / Link di affiliazione / Immagini da Amazon Product Advertising API





