La PlayStation 3 continua ad essere una delle console più amate dalla scena homebrew e, nonostante siano passati quasi vent’anni dal suo debutto, la community continua a sviluppare strumenti capaci di migliorarne l’esperienza d’uso.

Tra questi spicca PS3xPAD, il celebre plugin VSH (PRX) sviluppato da OsirisX che consente di utilizzare sulla console un’ampia gamma di controller normalmente non supportati dal sistema, inclusi quelli Xbox.
PS3 Release – PS3xPAD unofficial update by mrkoeliehttps://t.co/swWZxFz0y0
"I have added support for a few other controllers(8bitdo/Gamesir), and i did try to fix some bugs (and i am sure i have introduced some new ones). Let me know if it works for you."— PSX-Place (@PSXPlace) July 10, 2026
Uno dei limiti storici della PlayStation 3 è sempre stato il supporto esclusivo ai controller DualShock. Con PS3xPAD questo problema viene completamente superato, permettendo di collegare e utilizzare controller compatibili con lo standard XInput, come Xbox 360, Xbox One e Xbox Series, oltre a numerosi altri gamepad USB.
Il plugin non si limita a garantire il semplice funzionamento dei controller, ma introduce una serie di funzionalità avanzate che migliorano notevolmente l’esperienza di gioco.
Tra le caratteristiche principali troviamo il remapping completo dei pulsanti, che consente di personalizzare la disposizione dei comandi in base alle proprie preferenze, il supporto alla vibrazioneù, due modalità operative chiamate Custom e Native, un pratico menu VSH e in-game per modificare rapidamente le impostazioni e la compatibilità con il controller DualShock 4 in modalità wireless utilizzando un adattatore Bluetooth USB.
Inoltre, PS3xPAD include profili dedicati che migliorano la compatibilità con titoli particolarmente popolari come Grand Theft Auto V e Red Dead Redemption, rendendo il gameplay ancora più fluido.
Il plugin si integra perfettamente anche con webMAN MOD, offrendo una gestione semplice e immediata direttamente dal sistema della console.
Le configurazioni dei pulsanti possono essere salvate e richiamate rapidamente, mentre il menu di configurazione permette di modificare le impostazioni senza interrompere la sessione di gioco.
Per installare PS3xPAD è necessario possedere una PlayStation 3 con Custom Firmware, come Rebug o Evilnat.
Sebbene sia consigliata la presenza di webMAN MOD per una gestione più semplice dei plugin, è sufficiente copiare il file PRX nella cartella /dev_hdd0/plugins/, abilitarlo tramite il proprio gestore di plugin e collegare il controller desiderato.
L’accesso al menu di configurazione avviene generalmente tramite la combinazione di tasti
+
+
. Per chi desidera utilizzare la modalità Native sono richiesti invece un kernel DEX e un EBOOT avviato in modalità debug, una configurazione destinata agli utenti più esperti.
Controller supportati
Integrati (XInput cablati / XTYPE_XBOX360):
- Controller cablato Microsoft Xbox 360 (
045e:028e) e i numerosi controller e arcade stick di terze parti compatibili che ne replicano il funzionamento, inclusi la maggior parte dei gamepad generici “Compatibili Xbox 360” e i ricevitori wireless a 2,4 GHz come GameSir T4 Pro/G3w e gli 8BitDo USB Wireless Adapter 1/2 in modalità X. - Logitech Gamepad F310 (
046d:c21d), F510 (046d:c21e), F710 (046d:c21f) e Chillstream (046d:c242). - Controller e adattatori USB 8BitDo in modalità X: Ultimate Wireless / Pro 2 cablato (
2dc8:3106), dongle Ultimate Wireless BT (2dc8:3109), dongle Ultimate 2C a 2,4 GHz (2dc8:301c,2dc8:310a), dongle Ultimate 2 a 2,4 GHz (2dc8:310b) e SN30 Pro (2dc8:6001). - GameSir T4 Kaleid (
3537:1004) e Nova 2 Lite (3537:100f). - Controller PDP / Pelican: Afterglow (
0e6f:0113,0e6f:0213,0e6f:f900,12ab:0301), Rock Candy (0e6f:011f,24c6:fafe), PL-3601 TSZ (0e6f:0201), Logic3 (0e6f:0301,0e6f:0401) e PDP Xbox 360 Controller (0e6f:0501). - Controller PowerA: MINI PROEX (
24c6:5300), Pro EX (24c6:530a,24c6:531a), Mini Pro Elite (15e4:3f00), Airflo (15e4:3f0a) e FUS1ON Tournament (24c6:5397). - Controller Razer: Onza TE / Classic (
1689:fd00,1689:fd01), Sabertooth (1532:0037,1689:fe00,24c6:5d04) e Atrox Arcade Stick (24c6:5000). - Arcade stick Hori: Fighting Stick EX2 (
0f0d:000d), Real Arcade Pro.EX (0f0d:0016), Real Arcade Pro VX (0f0d:001b), VX-SA (24c6:5501), EX 2 con Turbo (24c6:5500) e Fighting Edge (24c6:5503). - Controller Mad Catz: gamepad cablati Xbox 360 (
0738:4716,0738:4738,1bad:f016), MicroCon (0738:4736), SFIV FightPad (0738:4728,1bad:f028), SFIV FightStick SE / TE (0738:4718,1bad:f038) e JOYTECH NEO SE (0738:beef). - Thrustmaster GP XID (
044f:b326) e GPX (24c6:5b02). - Nacon GC-100XF (
11c9:55f0), BigBen XBOX 360 Controller (146b:0601), Joytech Neo-Se Take2 (162e:beef), Gamestop (1bad:f901) e Tron (1bad:f903). - Per i giochi musicali sono supportati anche Harmonix Rock Band Drumkit (1bad:0003), Harmonix Xbox 360 Controller (
1bad:f900), RedOctane Guitar Hero X-plorer (1430:4748) e RedOctane Controller (1430:f801).
Integrati (Ricevitore wireless Microsoft per 4 controller / XTYPE_XBOX360W)
- Ricevitore Wireless Xbox 360 (
045e:0291,045e:0719): supporta fino a 4 controller contemporaneamente per ogni ricevitore. Le porte virtuali dei controller vengono assegnate solo quando un gamepad viene effettivamente associato al ricevitore.
È inoltre possibile aggiungere il supporto per controller aggiuntivi senza ricompilare il plugin, modificando il file xpad_devices.txt (vedere la sezione dedicata).
Dispositivi non supportati
- Controller Xbox One e dispositivi che utilizzano il protocollo GIP (ad esempio GameSir G7 SE e gli adattatori 8BitDo in modalità Xbox One).
- Controller della Xbox originale.
- Passthrough del DualShock.
- Controller e adattatori 8BitDo in modalità Switch (protocollo Nintendo). Per questi dispositivi è necessario utilizzare la modalità X. La modalità Switch non viene rilevata correttamente oppure può disconnettersi in modo casuale per limiti del protocollo, non a causa di un bug del plugin.
Installazione
- Scaricare e copiare il file
xpad.sprxnella cartella/dev_hdd0/plugins/. - Aggiungere il plugin al file dei plugin di avvio, ad esempio
/dev_hdd0/boot_plugins.txt, inserendo la seguente riga:/dev_hdd0/plugins/xpad.sprx
- Facoltativamente, copiare il file
xpad_devices.txtnella cartella/dev_hdd0/plugins/per aggiungere manualmente il supporto ai controller senza dover ricompilare il plugin. - Per abilitare il supporto sperimentale alla vibrazione (rumble), copiare anche il plugin
xpad_game.sprxin/dev_hdd0/plugins/. Non aggiungerlo all’elenco dei plugin di avvio, poiché viene caricato all’interno del processo del gioco e non durante l’avvio della console. Il plugin va caricato in un gioco già avviato tramite la pagina “Game Plugins” di webMAN MOD (consultare il file game/readme.md). - L’iniezione automatica tramite PS3MAPI è disattivata per impostazione predefinita ed è opzionale. Per abilitarla, creare un file vuoto chiamato
/dev_hdd0/plugins/xpad_auto_inject.txt. Su alcuni Custom Firmware, la syscall di caricamento dei moduli PS3MAPI può bloccarsi all’interno del loader LV2; quando ciò accade, la console può bloccarsi all’avvio di qualsiasi applicazione fino al riavvio. Per questo motivo è consigliabile attivare questa funzione solo se il caricamento manuale del plugin funziona già in modo stabile sul proprio sistema. - Riavviare la console. Circa 10 secondi dopo il caricamento della XMB dovrebbe comparire la notifica “XPAD Loaded!”. Se l’inizializzazione USB non va a buon fine, verrà visualizzato un messaggio di errore contenente il codice dell’errore in formato esadecimale e l’identificativo VID:PID del dispositivo che ha causato il problema. Il plugin attende circa 10 secondi affinché il sottosistema USB sia pronto e, se USBD segnala che l’inizializzazione è ancora in corso (errore
0x80110001), riprovare automaticamente la registrazione per altri 30 secondi circa. Di conseguenza, nei riavvii più lenti o a freddo, la notifica “XPAD Loaded!” potrebbe comparire con qualche secondo di ritardo. - Quando un controller viene riconosciuto, viene visualizzata una notifica con il nome del dispositivo, il relativo VID:PID e la porta assegnata. Una notifica analoga viene mostrata anche quando il controller viene scollegato.
Informazioni sull’errore 0x80110006
- Il codice
0x80110006(decimale -2146369530) corrisponde all’erroreCELL_USBD_ERROR_LDD_ALREADY_REGISTERED. Significa che un driver con la stessa identità è già stato registrato, generalmente perché un altro plugin sta utilizzando gli stessi ID del dispositivo oppure perché è rimasta una registrazione da una precedente istanza del plugin terminata in modo anomalo o ricaricata. - Nelle versioni precedenti, questo errore veniva interpretato erroneamente come un problema di inizializzazione dell’USB. Il plugin tentava quindi di ripetere l’intera procedura di registrazione, ma falliva nuovamente con lo stesso errore, poiché i dispositivi registrati con successo al primo tentativo entravano in conflitto con se stessi. Di conseguenza veniva mostrato il messaggio “USB init failed (-2146369530)”, anche se il controller era già stato rilevato correttamente.
- Nelle versioni più recenti, un conflitto sugli ID del dispositivo non viene più considerato un errore critico. Il plugin ignora semplicemente il dispositivo in conflitto, registra tutti gli altri dispositivi compatibili e continua a funzionare normalmente.
Informazioni sull’errore 0x801100FF
- Il codice
0x801100FFviene restituito dalla funzionecellUsbdRegisterExtraLdd()quando la tabella interna LDD di cellUsbd è piena. - Questa tabella ha una dimensione fissa ed è condivisa tra tutti i plugin installati sulla console. Sulle console retail è stato osservato un limite di circa 22 registrazioni, mentre l’elenco dei controller integrato in XPAD è più lungo.
- Raggiungere questo limite è un comportamento previsto e non rappresenta un errore critico. Tutti i controller registrati prima del riempimento della tabella continueranno a funzionare correttamente; il plugin resterà attivo ma non potrà registrare ulteriori identificativi VID/PID.
- Per questo motivo l’elenco dei dispositivi è ordinato in modo strategico. I controller più utilizzati, come il controller cablato Xbox 360, i gamepad Logitech e i più recenti adattatori 8BitDo e GameSir a 2,4 GHz, vengono registrati per primi. I controller meno diffusi, come vecchi arcade stick, chitarre e numerosi cloni, vengono registrati successivamente e sono i primi a essere esclusi se la tabella raggiunge il limite.
- Quando ciò accade, il log di debug registra un messaggio simile a “LDD table full, low-priority device IDs skipped”, indicando anche il numero di dispositivi esclusi.
- Nelle versioni precedenti questo errore veniva considerato fatale e provocava l’annullamento dell’intera registrazione, lasciando il plugin inattivo anche se il controller desiderato era già stato registrato con successo.
- Anche i controller aggiunti manualmente tramite
xpad_devices.txtvengono registrati dopo quelli integrati. Se la tabella LDD è già piena, anche questi verranno ignorati. Se il proprio controller rientra tra quelli esclusi, è consigliabile liberare spazio disattivando altri plugin che registrano driver USB.
Log di debug
- Il plugin salva un registro dettagliato di tutte le operazioni nel file
/dev_hdd0/plugins/xpad.log. - Il log include:
- Risultati della registrazione dei dispositivi.
- Eventi di rilevamento, collegamento e scollegamento dei controller.
- Interfacce ed endpoint USB selezionati.
- Codici di completamento delle operazioni
SET_CONFIGURATIONeSET_INTERFACE. - Il primo report di input ricevuto da ogni controller.
- Eventuali errori durante i trasferimenti USB.
- Ogni circa 2 secondi, il processo del gioco o dell’applicazione nel quale viene caricato
xpad_game.sprxper il supporto alla vibrazione. Questa informazione viene registrata prima del caricamento del plugin, così se l’avvio di un gioco provoca il blocco della console, l’ultima riga del log indicherà quale processo stava ricevendo l’iniezione. - Tutte le notifiche visualizzate sullo schermo vengono riportate anche nel file di log.
- Il log viene ruotato automaticamente a ogni riavvio della console, anziché essere sovrascritto:
xpad.log→ registro della sessione corrente.xpad.log.1→ registro della sessione precedente.xpad.log.2→ registro della sessione ancora precedente.
- I file
.1e.2conservano solo gli ultimi due log precedenti; quelli più vecchi vengono eliminati automaticamente. - Se la console si blocca durante l’avvio di un gioco, dopo il riavvio è consigliabile consultare
xpad.log.1(oxpad.log.2) per verificare quali operazioni stava eseguendo il plugin nel momento del blocco. - In caso di segnalazione di un problema agli sviluppatori, è consigliabile allegare questi file, recuperandoli tramite un file manager come webMAN MOD oppure via FTP.
- I timestamp presenti nel log rappresentano i secondi trascorsi dall’avvio del plugin, rendendo semplice individuare eventi come, ad esempio, un controller rilevato e scollegato pochi secondi dopo.
Aggiungere un controller (xpad_devices.txt)
- All’avvio, il plugin legge automaticamente il file
/dev_hdd0/plugins/xpad_devices.txt. - Ogni controller deve essere inserito su una riga separata
VID, PID, NAME, XTYPE
0x2dc8, 0x310c, My 8BitDo pad, XTYPE_XBOX360
- Il simbolo
#indica l’inizio di un commento. Le righe vuote, gli spazi superflui e le virgolette non necessarie vengono ignorati. I nomi dei controller possono contenere anche delle virgole. - Gli eventuali duplicati di dispositivi già presenti nell’elenco integrato vengono ignorati automaticamente e senza notifiche. Altri problemi, come valori non validi, righe duplicate o tipi di controller non supportati, generano invece una notifica che indica la riga interessata. Al termine dell’avvio della console viene inoltre mostrato un riepilogo degli eventuali errori riscontrati.
- Regola XBOX360 e XBOX360W: il tipo
XTYPE_XBOX360Wè riservato esclusivamente al protocollo utilizzato dal ricevitore wireless ufficiale Microsoft per Xbox 360, che gestisce gli eventi di connessione e utilizza un formato dei report differente. - Gli adattatori wireless a 2,4 GHz di terze parti, come quelli prodotti da 8BitDo, GameSir e altri marchi, anche se il controller è wireless comunicano sempre tramite il normale protocollo XInput cablato. Per questo motivo devono essere configurati come
XTYPE_XBOX360. - Se un adattatore di terze parti viene configurato erroneamente come
XBOX360W, si verificano i classici problemi di compatibilità: il controller non viene mai rilevato oppure si disconnette improvvisamente durante l’utilizzo. - Per evitare questi inconvenienti, il parser applica automaticamente questa regola: se un dispositivo con VID diverso da quello Microsoft viene definito come XBOX360W, verrà registrato come XBOX360 (modalità cablata) e verrà visualizzato un messaggio di avviso.
- Se un controller utilizza lo stesso VID:PID sia in modalità cablata sia tramite il proprio adattatore wireless (ad esempio 8BitDo Ultimate con identificativo
2dc8:3106), è sufficiente inserirlo una sola volta nel file di configurazione.
Trovare un VID/PID
- Collegare il controller alla PS3: se è presente un driver compatibile registrato, la notifica di collegamento mostrerà il nome del dispositivo seguito da VID:PID.
- Se invece il controller non viene riconosciuto:
- Su PC Windows aprire Gestione dispositivi → selezionare il controller → Proprietà → scheda Dettagli → ID hardware. Verrà mostrato un valore simile a
VID_2DC8&PID_310C. - Su Linux è possibile utilizzare il comando
lsusbper ottenere gli stessi identificativi.
- Su PC Windows aprire Gestione dispositivi → selezionare il controller → Proprietà → scheda Dettagli → ID hardware. Verrà mostrato un valore simile a
Mappatura dei pulsanti
- La configurazione standard converte i comandi XInput nei controlli DualShock:
= 
= 
= 
= 
- I grilletti vengono convertiti in
/
con supporto alla pressione analogica. - Gli stick analogici mantengono una corrispondenza 1:1.
- Il pulsante Xbox Guide funziona come pulsante
/Home. Entrambi i parser dei controller impostano il parametro CELL_PAD_CTRL_LDD_PS, ovvero il metodo ufficialmente previsto affinché i controller virtuali possano generare la pressione del tasto PS. - La pressione singola del pulsante apre la XMB. Il comportamento della pressione prolungata (menu per uscire dal gioco) non è ancora stato verificato con il percorso LDD.
- Il LED del controller indica la porta assegnata (1-4). Se vengono collegati più di quattro controller, due dispositivi condivideranno lo stesso schema LED, poiché il sistema dispone solamente di quattro indicatori disponibili.
Limitazioni conosciute
- La vibrazione (rumble) è implementata, ma non è ancora stata verificata completamente su hardware reale.
- Il sistema operativo PS3 non inoltra ai controller virtuali LDD il comando
cellPadSetActDirectdatainviato dai giochi, quindi il solo driver VSH non dispone di un canale diretto per ricevere i valori dei motori della vibrazione. - Per questo motivo il supporto rumble utilizza una struttura a due plugin, simile a quella introdotta nelle versioni successive di PS3xPAD sviluppate da OsirisX:
xpad.sprxè il driver principale caricato nella VSH. Gestisce i controller USB, invia i comandi di vibrazione al dispositivo e crea una coda di eventi lv2 nominata per ricevere i valori degli attuatori.xpad_game.sprxsi trova nella cartellagame/e viene caricato all’interno del processo del gioco. Intercetta la funzionecellPadSetActDirect, interpreta i valori dei motori di vibrazione generati dal gioco e li inoltra al driver tramite la coda di comunicazione.
- Entrambi i plugin sono sviluppati per lavorare insieme e condividono lo stesso protocollo IPC definito nel file
src/xpad_rumble.h. - Le parti a basso livello, come i pacchetti USB della vibrazione e l’hook lato gioco, devono ancora essere validate su console reali. Per questo motivo il supporto alla vibrazione deve essere considerato sperimentale.
Per il caricamento di xpad_game.sprx è consigliato consultare il file game/readme.md. Il metodo raccomandato è il caricamento manuale tramite la pagina “Game Plugins” di webMAN MOD dopo aver avviato il gioco.
Il driver VSH può anche caricare automaticamente xpad_game.sprx tramite PS3MAPI alcuni secondi dopo l’avvio di un gioco, ma questa funzione è disattivata per impostazione predefinita e deve essere abilitata manualmente creando il file vuoto: /dev_hdd0/plugins/xpad_auto_inject.txt
Su alcuni Custom Firmware, la syscall PS3MAPI LOAD_PROC_MODULE può bloccarsi all’interno del loader LV2 anche quando il gioco è completamente avviato. Un blocco del loader impedisce l’avvio di qualsiasi processo successivo, causando il congelamento della console fino al riavvio.
Il ritardo di stabilizzazione e il thread dedicato all’iniezione riducono il rischio del problema (l’input del controller continua a funzionare), ma non possono impedire completamente il blocco a livello kernel. Per questo motivo l’iniezione automatica è stata resa una funzione opzionale.
Per utilizzare l’iniezione automatica sono necessari:
- il file
xpad_game.sprxpresente in/dev_hdd0/plugins/; - un Custom Firmware con supporto PS3MAPI (Cobra/Mamba con webMAN MOD).
Altre limitazioni
- I sensori di movimento restituiscono valori neutri e non sono supportati.
- Gli adattatori wireless a 2,4 GHz rimangono registrati anche quando il controller viene spento. Di conseguenza, un controller in standby mantiene assegnata la propria porta PS3 finché l’adattatore non viene scollegato.
- Sono supportati fino a 7 controller contemporaneamente (
CELL_PAD_MAX_PORT_NUM).
Download: PS3xPAD Alpha v001
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: Xbox Series
Vedi altri prodotti Xbox Series
Ultimo aggiornamento 2026-08-15 / Link di affiliazione / Immagini da Amazon Product Advertising API


![[Scena Switch] Sphaira si aggiorna su Nintendo Switch: Supporto MSP, nuove opzioni e fix per l’avvio degli NRO](https://www.biteyourconsole.net/wp-content/uploads/homebrew1900-238x178.webp)


![[Scena Switch] Sphaira si aggiorna su Nintendo Switch: Supporto MSP, nuove opzioni e fix per l’avvio degli NRO](https://www.biteyourconsole.net/wp-content/uploads/homebrew1900-100x75.webp)