Il developer XorTroll ha realizzato una sostituzione/reimplementazione personalizzata e open-source di qlaunch (il menu HOME della console Switch).
Il progetto è stato esteso con una straordinaria funzionalità orientata agli homebrew composto da due applet di libreria, un’applicazione di sistema e un’applet di sistema, il tutto personalizzato e realizzato al fine di sostituire il menu HOME della console con uno orientato agli homebrew.
- Questo non è un estensione del menu HOME, injection, patch, ecc.. uLaunch è semplicemente una reimplementazione completa, al 100% open-source, che prende anche in carico l’applet eShop, il Parental control e il titolo del sistema flog (tutti sono praticamente inutili con questa reimplementazione) per la sua funzionalità estesa.
- Il progetto è concesso in licenza come GPLv2.
- Per coloro che sono interessati a come è stata realizzata l’interfaccia utente, questo progetto è, come Goldleaf, un buon esempio di quanto possano essere potenti le librerie di Plutonium al fine di creare splendide interfacce utente.
Caratteristiche
Elenco delle funzioni del menu HOME uLaunch
- Avvio corretto e gestione in primo piano: avvio, sospensione e chiusura di titoli e applet.
- Corretta la gestione generale dei canali (alcuni potrebbero non essere implementati): sleep, shutdown, reboot, rilevamento della stampa del menu HOME …
- Impostazioni:
- Mostra il nome della rete WiFi connessa.
- Apri l’applet di connessione nel caso in cui l’utente desideri modificare le impostazioni di rete.
- Cambia la lingua della console e mostra quella attiva.
- Cambia il nickname della console e mostra quello attuale.
- Caratteristiche dell’utente:
- Consenti la creazione dell’utente nel menu di avvio.
- Mostra la pagina dell’utente (per modificare nickname, icona, amici …).
Elenco delle funzioni del menu HOME non (ancora) implementate
- Gestione del controller.
- Album.
Invio di rapporti di riproduzione periodica (così a lungo, telemetria!).
Questa è la quantità di funzionalità che uLaunch contiene, rispetto al menu HOME originale:
- Supporto homebrew.
- Avvio come applet (non è necessario l’album!).
- Avvio come applicazioni (non è necessario alcun titolo per farlo!).
- Menu homebrew di base personalizzato.
- Opzione per aggiungere accessi NRO personalizzati al menu principale (homebrew o articoli personalizzati facilmente accessibili, non è più necessario i forwarders!).
- UI
- Temi (diversi dai temi del menu HOME ufficiale/NXThemes).
- Icone personalizzate, risorse di menu e grafica (immagini personalizzate, colori, dimensioni, posizioni …), sfondo …
- Musica di sottofondo personalizzata ed effetti sonori!
- Cartelle per organizzare il tuo menu principale!
- Temi (diversi dai temi del menu HOME ufficiale/NXThemes).
- Users
- Accesso simile a un PC all’avvio (selezionare l’utente e utilizzarlo per tutto, disconnettersi, registrarsi/cambiare/rimuovere la password …).
- Supporto password utente! (fino a 15 caratteri)
- Extra vari
- Navigazione web (via web-applet) direttamente dal menu principale!
- Acquisizione in primo piano dal PC stesso (solo Windows) tramite cavo USB-C e QForegroundViewer!
Disclaimer
Acquisizione di ‘flog’ come applicazione homebrew
uLaunch consente di avviare homebrew come un’applicazione, sfruttando il titolo dell’applicazione flog del sistema, che è stato eliminato ma non rimosso, quindi il suo contenuto può essere sostituito tramite LayeredFS e avviato.
Dal momento che il lancio di questo titolo dovrebbe essere impossibile, potrebbe comportare il divieto di rischio. uLaunch ha questa opzione disabilitata di default, quindi abilitala e usala a tuo rischio e pericolo. Assicurati sempre di essere al sicuro dai ban (utilizzando strumenti come 90DNS) prima di utilizzare uLaunch per evitare possibili rischi.
FAQ
- Come disinstallare i titoli installati? Come cancello gli account utente?
- uLaunch non li supporta (e non li supporterà), poiché esiste già un homebrew che funge da gestore del titolo o dell’utente, come Goldleaf.
- Come posso cambiare i miei controller, accedere all’eShop o visualizzare l’album?
- Questi sono tutti TODO per uLaunch (non ancora supportato), tranne l’eShop, che per quel che vale non sarà supportato. Se vuoi usare eShop, rimuovi uLaunch e usa il menu HOME originale.
Progetti e sottoprogetti
uLaunch è suddiviso, come detto sopra, in diversi sottoprogetti:
QDaemon (SystemAppletQDaemon)
Questo sottoprogetto sostituisce qlaunch, alias titolo 0100000000001000.
Questa è la reimplementazione tecnicamente effettiva di qlaunch. In realtà, viene utilizzato come back-end per il progetto, che fa esattamente ciò che il menu attuale (QMenu) gli dice di fare. Doveva essere così, poiché qlaunch è l’unico che può accedere a determinate funzionalità essenziali come il lancio del titolo, quindi QMenu deve accedervi, quindi comunica con questo back-end per eseguirlo e ottenere il suo risultato.
QMenu (LibraryAppletQMenu)
Questo sottoprogetto utilizza l’applet della biblioteca di eShop come titolo del donatore, ovvero 01000000000000100B.
Questo è il menu HOME “reale” che l’utente vedrà e interagirà. Contiene tutta la UI e sounc funzionalità, password, temi …
QHbTarget
Questo è il nome per due progetti correlati, il cui obiettivo è quello di indirizzare e lanciare NRO homebrew in modo semplice. Può essere considerato un wrapper semplice e utile attorno al codice di nx-hbloader:
Applicazione di sistema (SystemApplicationQHbTarget)
Questo sottoprogetto sostituisce l’applicazione di sistema “flog”, nota anche come titolo 01008BB00013C000.
Questo è il processo che viene eseguito invece di flog, che viene utilizzato per avviare homebrew come applicazioni.
Applet della libreria (LibraryAppletQHbTarget)
Questo sottoprogetto sostituisce l’applet della libreria “dataErase”, noto anche come titolo 0100000000001001.
Questo è lo stesso processo ma, come nel normale menu HOME e Album, esegue homebrew come applet. Tuttavia, l’uscita da homebrew qui uscirà dal menu HOME invece di uscire da hbmenu.
QForegroundViewer
Il processo di backend di QDaemon, a parte la gestione della funzionalità del menu HOME, invia anche il display in primo piano della console tramite USB (se abilitato nelle impostazioni) come un buffer RGBA8888 1280×720~3,5 MB grezzo.
QForegroundViewer è lo strumento per PC (Windows Form) che intercetta i buffer inviati e li esegue il rendering, è un po’ lento, ma può essere molto, molto utile per fare screenshot veloci!
Questa opzione è disabilitata per impostazione predefinita perché l’homebrew che utilizza USB (come Goldleaf o nxmtp) interferirebbe con la connessione. Se vuoi davvero usarlo, abilitalo dalle impostazioni.
Questo strumento è stato utilizzato per acquisire le schermate mostrate sopra, tutte in piena qualità a 1280×720.
A differenza degli altri progetti, questo non è essenziale e uLaunch sarebbe perfettamente utilizzabile ignorando questi dati inviati.
Per ulteriori informazioni tecniche su uLaunch e qlaunch, controlla questo.
Voci di menu personalizzate
uLaunch supporta l’aggiunta di collegamenti personalizzati. Ciò significa che puoi mostrare le voci con un’icona personalizzata, che avvia un NRO con un certo argv, cosa potrebbe essere potenzialmente usato per cose come l’emulatore ROM shorcuts.
Le voci consistono in file JSON (uno per voce) situati in sd:/ulaunch/entries
(il nome non ha importanza, ma l’estensione deve essere *.json
!). Sono utilizzati per due scopi principali:
- Aggiunta di accessi homebrew (come indicato sopra) al menu principale.
- Specificare che un accesso homebrew o un normale gioco/applicazione installata vanno all’interno di una cartella.
Se vuoi accedere da solo, crea un file JSON nella cartella delle voci (il nome non ha importanza) in questo modo:
{
"type": 2,
"nro_path": "<path-to-nro>",
"nro_argv": "<custom-argv>",
"icon": "<custom-icon-256x256>",
"name": "Name (511 bytes max.)",
"author": "Author (255 bytex max.)",
"version": "Version (15 bytes max.)"
}
Nota che:
- Il type deve essere sempre 2 (1 = titolo installato, altri valori non sono validi) e quel
type
enro_path
devono essere sempre presenti. Gli altri parametri sono tutti opzionali. - Se i campi
name
,author
oversion
non sono impostati, verranno caricati dal file NRO, quindi mostrerebbe il nome del core RetroArch, ecc.., lo stesso con l’icona. - La stringa argv non deve includere il percorso NRO. Il normale comportamento homebrew sarebbe
<nro-path> <arg-1> <arg-2> <...>
, ma uLaunch stesso aggiunge il percorso NRO prima dell’argv specificato quando si avvia la voce di menu, quindi è necessario fornire<arg -1> <arg-2> <...>
.
Traduzioni
uLaunch è per impostazione predefinita in inglese. Tuttavia, puoi effettuare traduzioni modificando le stringhe del file di traduzione LangDefault.json e inserendole in sd:/ulaunch/langs
chiamato come codice della lingua (“en-US” per l’inglese americano, “es” per lo spagnolo, “fr” per Francese … elenco corretto qui.
Esempio: sd:/ulaunch/lang/es.json
per stringhe personalizzate (che verrebbe visualizzato se la lingua della console è lo spagnolo).
Installazione e rimozione
Per verificare l’installazione di uLaunch, dovrai prestare attenzione alla directory dei titles
del CFW che stai utilizzando.
Come faccio a sapere se è installato?
Controllare se esistono le cartelle 0100000000001000
, 010000000000100B
, 0100000000001001
e 01008BB00013C000
(e che non sono vuoti, o almeno contengono un file exefs.nsp
).
Come lo rimuovo?
- Eliminare le seguenti cartelle:
010000000000100B
,0100000000001001
e01008BB00013C000
. - Eliminare solo il file
exefs.nsp
dalla directory0100000000001000
(se è presente una cartellaromfs
, potrebbe trattarsi di un normale tema del menu HOME).
Errori
Se si verifica un arresto anomalo utilizzando uLaunch, controllare:
- Se il titolo del crash è
0100000000001000
,010000000000100B
,0100000000001001
o01008BB00013C000
e sai per certo che hai questo progetto nella tua SD, allora è molto probabilmente correlato a questo progetto. - Nota che
0100000000001001
e01008BB00013C000
sono gli ID dei processi utilizzati da uLaunch per indirizzare l’homebrew, quindi se ottieni un crash da questi usando uLaunch probabilmente significa un crash dall’homebrew che stavi usando.
Download: QForegroundViewer v0.1
Download: uLaunch v0.1
Download: Source code uLaunch v0.1
Fonte: gbatemp.net