Steam Link usi alternativi – Kodi, RetroArch, Mame4all

Appunti Cerebrali No Comments

Per chi non conoscesse la Steam Link ecco una brevissima descrizione.

Per far prima non metto foto, scrivo il testo e basta.

Qualche anno fa Valve decise di produrre un piccolo apparato che permettesse di streammare (inviare un flusso video tramite rete lan o wifi) i giochi presenti sul pc nel proprio catalogo Steam in un televisore dotato di presa hdmi. L’idea in sé non fu affatto male, anche se a distanza di anni non è che abbia avuto un grandissimo successo. Ora infatti è possibile scaricare l’app Steam Link per smartphone android e fare praticamente la stessa cosa senza dover acquistare l’hardware dedicato. Stessa cosa è fattibile con televisori android.
Premesso che, la Steam Link funziona, fa quello che dice e se usata con il cavo lan le prestazioni sono ottime. È presente anche un buon wifi 802.11ac 2×2 (MIMO), Bluetooth 4.0, 3 prese USB, 1 Presa LAN, 1 HDMI. La cpu è un ARMv7 senza pretese con 512 MB di ram e 4GB di spazio totale.

Ormai si trova a prezzi ridicoli sia sullo store Valve (quando è disponibile) che in qualche negozio di giochi e tutto sommato per meno di 20 Euro spedita si ha una console capace di fare anche altro, oltre alla sua funzione primaria. Potrebbe essere paragonabile ad un Raspberry PI più potente dello Zero, ma meno potente del Pi3, completo di case, alimentatore, cavo hdmi e cavo di rete forniti nella confezione.

Quello che descriverò ora funziona in parte ed è del tutto sperimentale, però ci saranno dei buoni risultati.

Ho selezionato alcune app (non ce ne sono molte) sviluppate da utenti, alcune sono dei porting, che permettono di usare la Steam Link come:
– un mediacenter KODI
– una retro console usando RETROARCH e MAME4ALL

I risultati sono soddisfacenti considerando che l’hardware non ha la decodifica h265 e fa fatica anche con h264, ma con lo streaming web va molto bene.

COME SI INSTALLANO LE APP SULLA STEAM LINK?

Semplicissimo, occorre una PENDRIVE USB sulla quale bisognerà copiare i file delle varie app da installare banalmente creando alcune cartelle.

Ammettiamo che la PENDRIVE USB abbia la lettera F:

1- nella root principale (cioè in F: direttamente) si crea la prima cartella denominata: steamlink
2- si entra nella cartella steamlink e si crea una seconda cartella chiamata: apps
3- dentro la cartella apps si copiano le varie applicazioni da installare che saranno sempre in formato .tgz, ad es. usbmount.tgz

È possibile installarne anche una per volta in modo da configurare un’app per volta.

Le applicazioni che consiglio perciò sono:

kodi.tgz (versione kodi 17.6)
mame4all.tgz (versione mame4all-2018-02-03)
retroarch.tgz (versione 1.7.4retroarch-liveusb)
usbmount.tgz (l’unica che ho trovato funzionante)

Ripeto: tutte questi file dovranno essere copiati dentro una Pendrive USB dentro F:\steamlink\apps\

Bene, ora con la Steam Link spenta collego la Pendrive USB e accendo. Se installate un’applicazione per volta (consigliato) non ci metterà molto ad avviarsi e nella homepage comparirà l’icona. Una volta installate ricordatevi di rimuovere i file tgz dalla Pendrive perché le applicazioni saranno native e funzioneranno anche senza Pendrive.

L’applicazione USBMOUNT.TGZ è molto utile poiché permette di caricare periferiche usb da utilizzare con RETROARCH.

FONDAMENTALE dopo aver installato le applicazioni è abilitare SSH per accedere via rete alla Steam Link e poter copiare, spostare, lanciare comandi unix, ecc…

COME ATTIVARE SSH SULLA STEAM LINK?

Semplicissimo, dobbiamo creare un file di testo

enable_ssh.txt

All’interno bisognerà scrivere:

enable_ssh

Poi il file andrà copiato nella Pendrive USB dentro questa cartella (dentro system che è la sottocartella di config e steamlink):

F:\steamlink\config\system

Come per la applicazioni, inserire la pendrive usb nella Steam Link spenta, accenderla e sarà possibile accedere via SSH con le seguenti credenziali:

utente: root
password: steamlink123

Per accedere via SSH si possono usare il classico PUTTY oppure meglio ancora WinSCP che permette sia la shell comandi che l’accesso diretto alle cartelle. Scaricatevi anche le versioni Portable.

È consigliabile cambiare la password ssh con il solito comando: passwd

Se fate errori oppure volete disattivare SSH dovrete fare un factory reset della Steam Link.

CONFIGURAZIONE DELLE APPLICAZIONI

1-KODI 17.6

Non c’è da fare nulla di particolare se non installarsi gli add-ons preferiti come se fosse la versione su pc/smartphone

Per scaricare KODI 17.6 andate nella discussione sul forum di Steam a questo indirizzo

2-MAME4ALL

Anche per questo non c’è molto da configurare, al massimo potrete modificare il percorso della vostra cartella con le rom nel file di configurazione via ssh che troverete in:

/home/apps/mame4all/

ricordatevi di visualizzare i file nascosti con WinSCP

n.b. ricordo che roms e bios non sono presenti su questo sito e non si possono utilizzare senza permesso dei produttori.

Per scaricare MAME4ALL andate nella discussione sul forum di Steam a questo indirizzo

3-RETROARCH

Per quanto riguarda Retroarch dico subito che con la versione compilata e trovata sul forum Steam, non si potranno fare i miracoli, ma è già fornita di varie librerie libretro (core) funzionanti.

Con questa versione ci sono già tutti gli assets, i cores compatibili (non tutti vanno benissimo), i temi (xmb è quello default). Il mio consiglio per fare spazio sulla Steam Link è quello di eliminare via SSH i temi che non servono (circa 80 MB recuperati)

Il file di configurazione di RetroArch è situato dentro:

home/apps/retroarch/.home/.config/retroarch/

Accessibile sempre via SSH e modificabile con un editor di testo tipo notepad ++

Nel config, per chi è minimo pratico di RetroArch, sarà possibile modificarsi i percorsi tipo quello della cartella ROMS. Una è sulla SteamLink, ma è poco capiente forse meno di 1GB, l’altra invece potrebbe essere su una qualsiasi periferica USB da montare con USBMOUNT prima di lanciare RetroArch. Per cercare i dispositivi USB montati bisogna andare in MNT/DISK nella root principale della Steam Link.

Per esempio il puntamento alla cartella principale delle roms potrebbe essere così:

rgui_browser_directory = "/mnt/disk/roms" (questa è per la Pendrive USB)

rgui_browser_directory = "/home/apps/roms" (questa se volete tenervi comunque una cartella con qualche roms direttamente nella Steam Link)

n.b. per conoscere lo spazio delle cartelle e la relativa % di spazio libero usate il comando df via ssh

In linea di massima è un RetroArch a tutti gli effetti che funziona benissimo anche con gli adattatori usb dei joypad ps1/ps2 rilevati senza fare nulla. Non ha una grande potenza, ma emula diverse console. Se non sapete usare RetroArch allora è meglio che prima facciate un giro sul sito https://www.retroarch.com/

Per scaricare RetroArch 1.7.4 andare a pagina 7 della discussione sul forum di Steam a questo indirizzo

4-USBMOUNT

Per usare questa applicazione e montare una periferica USB basterà collegare la perifica e cliccare sull’icona dell’app. Va sempre fatto prima di lanciare RETROARCH.

Per scaricare USBMOUNT andate nella discussione sul forum di Steam a questo indirizzo

Bene, per ora è tutto. Secondo me per il prezzo di vendita attuale (ora non è più disponibile nello store, ma volte in sconto a 5 euro+spese di spedizione) è un prodotto da prendere e da utilizzare per la sua funzione primaria, ma alla luce di queste applicazioni funzionanti direi che non si trova nulla di così completo che permetta una emulazione base + Kodi web. Ok, non saremo ai livelli di Raspberry Pi3, ma bisogna anche ammettere che ora costa molto meno ed è completa di tutto, sempre che si trovi ancora in qualche store.

p.s. Rileva anche le tastiere wireless oltre ai Joypad usb.

Dimenticavo che queste app sono native per la Steam Link, ma potrete sempre streammare i contenuti dal vostro pc nella modalità tradizionale. Così facendo non avrete problemi per h265, h264, emulazioni varie, Netflix, Prime Video, ecc… Lo svantaggio è che dovrete tenere acceso il pc che elaborerà il video da streammare (usate il cavo LAN se potete!)

Un facile server HTTP con MiniWeb

Appunti Cerebrali, Web No Comments

Senza dilungarmi troppo, ho trovato questo fantastico programma che praticamente permette di creare un server http in un batter d’occhio. A cosa serve fare un server http? Per quanto mi riguarda serve a condividere nella LAN contenuti testuali o immagini con qualsiasi dispositivo esistente dotato di browser web.

Faccio un esempio pratico.

Mettiamo di voler visualizzare un testo su un monitor/tv dotato di connessione internet e browser web. Non tutti gli smart tv supportano la lettura di pdf, doc, ecc… dipende molto dal OS che utilizzano, ma una cosa che hanno praticamente tutti è il browser internet.

Ecco che allora un programma del genere ci viene in aiuto permettendoci di creare un banalissimo file index.htm all’interno del quale scrivere il testo da visualizzare. Chi conosce un po’ di codice http potrà benissimo creare pagine web in pochi minuti con tanto di fotografie. Ci sono anche software che generano pagine web già pronte con le fotografie. Ci si può sbizzarrire con il codice http.

Come si usa?

Semplicissimo! Si clicca su questa pagina di sourceforge.net, si clicca poi su Download per scaricare il programma.

È un archivio zip, si decomprime in una cartella a piacere e già cliccando sul file miniweb.exe il programma partirà già configurato.
La pagina di esempio, contenuta nella cartella htdocs, sarà visionabile da qualsiasi browser di qualsiasi dispositivo della LAN. Se avete un firewall potrebbe essere necessario permettere al programma di ricevere connessioni.
L’indirizzo da inserire nella barra URL (di Firefox, Chrome, Iexplorer, Edge, Safari) sarà il vostro IP, quello del pc su cui avete eseguito miniweb.exe, ad esempio:


192.168.1.10:8000
10.10.0.2:8000

Importante mettere i due punti e il numero della porta in ascolto che è di default la numero 8000

Come modifico i contenuti?

La cartella HTDOCS contiene alcuni file di esempio. Modificando il file index.htm a mano con notepad – per chi lo sa fare – oppure con un software di editing web, si potranno creare pagine personalizzate. Tutti i files da visualizzare nel browser dovranno essere copiati in questa cartella.

Le caratteristiche tecniche di MiniWeb sono queste:

small footprint HTTP server written in C
GET & POST actions with basic HTTP authentication
user-defined request handler routines
cross-platform compatibility
basic HTTP audio and video streaming
serial UART to HTTP gateway

Interessante è anche la possibilità di vedere o ascoltare flussi audio/video base.

Un altro utilizzo potrebbe essere quello di creare delle presentazioni in http invece che in PowerPoint da mostrare a chiunque abbia un tablet, smartphone, smart tv, computer, dotato di browser web.

Le pagine http semplici sono super leggere e anche dispositivi lenti potranno visualizzarle. Si possono creare degli indici, creare un mini sito con dei libri da leggere, gallerie fotografiche, condividere la propria lista dei preferiti (Firefox già genera un file html che potrà essere modificato e letto senza problemi). In un ufficio poi si potrebbe trasmettere in broadcast un comunicato senza doverlo inviare a tutti via e-mail. Non ho testato quante connessioni supporta, ma per piccole realtà non credo ci siano problemi. Per i più esigenti chiaramente non sarà una soluzione ottimale, c’è sempre roba come WAMP server, ma per chi mastica poco php, mysql, perl, potrebbe essere una valida soluzione per ottenere qualcosa che funziona in poco tempo.

Insomma è un programma talmente semplice da usare che quasi dispiace non venga più aggiornato dal 2013.

EmulationStation anche su Windows? Sì, però con gli emulatori a scelta!

Appunti Cerebrali 5 Comments

Mi è capitato di installare le nuove Ubuntu LTS 14 e 16 su un vecchio laptop mezzo guasto. Nonostante le innumerevoli prove, forse qualcuna mi sarà pure sfuggita, ho dovuto lasciar perdere a causa di un bug noto che non fa spegnere o riavviare il laptop (ho modificato di tutto e di più, ma molto probabilmente è il laptop che è troppo vecchio).

Comunque tra una prova e l’altra ho voluto provare a vedere di creare una installazione che permettesse anche l’utilizzo di qualche vecchio gioco. Così ho cercato i pacchetti che compongono LAKKA TV e li ho installati manualmente. Come frontend ho utilizzato EmulationStation e come librerie per l’emulazione ho scelto RetroArch e Libretro. È andato tutto bene, anche se le prestazioni per certi emulatori non erano un granché. Dipende molto anche dall’hardware, ma soprattutto dal driver grafico più o meno compatibile.

Così mi sono chiesto se la stessa cosa fosse possibile farla con una base Windows 7, ma senza utilizzare le librerie di Libretro e nemmeno RetroArch. Certamente è più comodo usare un solo emulatore per tutto, ma su Windows esistono tantissimi emulatori dedicati che vanno molto bene, proprio perché sono appunto dedicati.

Perciò come frontend ho scaricato EmulationStation dal sito ufficiale (sì, lo so in giro c’è anche di meglio come frontend tipo Kodi ecc…). Una cosa importante da ricordare è il percorso che crea durante l’installazione per il file di configurazione che sarà in:

C:\utenti\nomedelvostroutente\.emulationstation

Dentro questa cartella c’è il file delle impostazioni che dovrà essere creato a mano. Praticamente EmulationStation non è altro che una interfaccia che rileva i giochi e poi tramite un comando fa partire l’emulatore. Normalmente si userebbe RetroArch con Libretro, ma come ho detto prima preferisco scegliere degli emulatori dedicati che spesso e volentieri funzionano meglio oppure hanno delle funzioni in più. Chi volesse optare per RetroArch sappia che dovrà installarlo nella cartella .emulationstation\system\Retroarch, mentre le librerie di Libretro andranno dentro la cartella \Retroarch\cores.

Il file da modificare è: es_systems.cfg

Per chi non è pratico suggerisco come predisporre il proprio laptop per poter utilizzare il file config che troverete in fondo alla discussione. Utilizzando gli stessi nomi e percorsi, la configurazione dovrebbe risultare più facile. Occorrono comunque un po’ di conoscenze che do per scontate, altrimenti devo scrivere la Divina Commedia.

1- Occorre avere installata una versione di Windows 7 64bit
2- Creare una partizione secondaria alla quale assegnare la lettera G: (G come giochi :D)
3- In questa partizione vuota creare tre cartelle:

Emulatori
emulationstation
CartoniAnimati

4- Dentro la cartella \Emulatori creare le cartelle dove installare i vari emulatori

2

5- Dentro la cartella \emulationstation creare le cartelle dove mettere le rom dei giochi

1

Molte cartelle le ho create seguendo la guida per RetroArch che poi non ho utilizzato, ma le ho lasciate con lo stesso nome suggerito sul sito EmulationStation. Per comodità conviene crearsi la cartella \bios nella quale poi inserire i vari bios che occorreranno per alcuni emulatori. I bios sono fondamentali e devono essere quelli giusti altrimenti i giochi non partiranno oppure partiranno, ma con errori come ad esempio quelli del neogeo.

6- La cartella CartoniAnimati è una semplice cartella dove mettere dei video che poi saranno lanciati sempre dal frontend di EmulationStation

7- La scelta degli emulatori, come dicevo prima, è molto personale e dipende da numerosi fattori. A fianco di ogni nome di Console scrivo il nome dell’emulatore da utilizzare (sono solo una parte):

Mame -> mame64 versione 160
Sega megadrive -> KFusion 3.64
Nintendo 64 -> Project64 1.6 oppure Mupen64 (da usare con la GUI M64Py)
Sony playstation 1 -> Psxfin 1.13
Sega MegaCD -> KFusion 3.64Super Nintendo -> Snes9x-1.53-x64

Per vedere i video invece ho scelto l’ottimo Mplayer senza GUI

Ogni emulatore va lanciato e configurato autonomamente. Tipo la grafica, la risoluzione, i tasti di gioco, se partirà in fullscreen, ecc…

8- Fatto ciò bisogna cercarsi delle rom da mettere nelle cartelle. Ricordarsi di installare il programma 7zip che permetterà l’apertura dei file .7z. Per certe roms conviene estrarre il contenuto e lasciare i files decompressi. Ad esempio per lo SNES e il Megadrive rispettivamente .smc e .gen. Per quelle del Mame invece non conviene. Le estensioni delle roms sono importanti perché andranno inserite nel file es_systems.cfg

9- Ora bisogna crearsi il file di configurazione di EmulationStation. La difficoltà maggiore è stata trovare la stringa corretta per dare il comando dell’emulatore e nello stesso tempo dirgli che deve caricare una rom. Per certi emulatori è sufficiente utilizzare i parametri suggeriti dal sito tipo %ROM%, %BASENAME%, mentre per certi emulatori ho dovuto improvvisare con un file .bat.

Questo è un esempio standard per l’emulatore psxfin:

<system>
<name>psx</name>
<fullname>Sony Playstation</fullname>
<path>g:/emulationstation/psx</path>
<extension>.iso .cue .bin</extension>
<command>g:/Emulatori/pSX_1_13-1220/psxfin.exe %ROM%</command>
<platform>psx</platform>
<theme>psx</theme>
</system>

 

Questo invece è quello del Mame64 160 senza GUI:

<system>
<name>mame</name>
<fullname>Mame</fullname>
<path>g:/emulationstation/mame</path>
<extension>.zip .ZIP .7z .7Z .rar .rom</extension>
<command>g:\Emulatori\Mame\mame64.cmd %BASENAME%</command>
<platform>mame</platform>
<theme>mame</theme>
</system>

In questa config ho dovuto utilizzare un file batch mame64.cmd che permettesse di cambiare la directory prima di caricare le roms, altrimenti l’emulatore non partiva e dava errore.

Il file mame64.cmd è composto così e deve stare nella stessa cartella dell’emulatore del Mame (ricordarsi che richiama l’eseguibile senza GUI, quindi NON mameui64.exe (MAMEUI 64 0.160 nella quale c’è anche l’eseguibile mame64.exe):

g:
cd g:\emulatori\mame
mame64.exe %1

10- Per quanto riguarda la visione dei video con Mplayer sarà sufficiente inserire il comando come se fosse una Console:

<system>
<name>Cartoni</name>
<fullname>Cartoni Animati</fullname>
<path>g:/CartoniAnimati/</path>
<extension>.mp4 .avi .mpg .mpeg .flv</extension>
<command>c:/Programmi/MPlayer37853/mplayer.exe %ROM%</command>
<platform></platform>
<theme>video</theme>
</system>

Siccome non esiste alcun template per i video, bisogna crearsene uno. Si può fare una copia di quello per PC che si trova nella cartella .emulationstation e modificarlo con l’immagine di sfondo preferita (pc1_art.jpg) . Basterà sostituire le immagini già presenti facendo attenzione di rinominare le nuove come le vecchie. Stessa cosa per il file ibmpc.svg che dovrà essere sostituito con un logo a piacere, sempre formato .SVG e di circa le stesse dimensioni. Sbagliando qualcosa non si farà danno, ma semplicemente non si vedrà nulla quando si scorre il menu di EmulationStation.

Configurando tutto a dovere, impostando EmulationStation in esecuzione automatica, si riesce a creare un “sistemino” facile e utilizzabile anche da chi è poco esperto permettendo di giocare ai vecchi titoli ormai del retrogaming e guardarsi anche qualche video senza dover uscire dall’interfaccia ES.

Qui di seguito ecco i files già pronti e utilizzabili se si mantengono gli stessi nomi della partizione, dei files e cartelle, oppure modificabili a piacere. Almeno con qualcosa di già pronto è più facile capire come funziona ES.

Come far partire un gioco del pc, ad es. Street Of Rage Remake o Broken Sword 2.5

Per chi non li conoscesse sono due giochi amatoriali per pc liberamente scaricabili.

È possibile far partire i giochi direttamente da EmulationStation creando una voce all’interno del file es_systems.cfg. Prima però si dovrà creare una cartella chiamata linkpc che per comodità sarà dentro la cartella g:\emulationstation\linkpc (ognuno poi può crearsela come gli pare, se però si mantiene lo stesso percorso e lettera del disco sarà tutto più rapido per chi vorrà copiare la configurazione). Nella cartella linkpc i collegamenti, che hanno estensione .lnk, potete rinominarli come meglio credete. Ho usato il tema pc, ma è possibile scegliere quello che vi pare oppure crearsene uno dedicato come ho fatto per video ed mplayer.

<system>
<name>PC GAME</name>
<fullname>Pc game </fullname>
<path>g:/emulationstation/linkpc/</path>
<extension>.lnk</extension>
<command>%ROM%</command>
<platform>pc</platform>
<theme>pc</theme>
</system>

 

EmulationStation installata su vecchi laptop che supportano Windows 7 32bit

Con un po’ di cesello e pazienza è possibile installare emulationstation anche su laptop un po’ datati con 32 Mega di Ram video e 512 Mega di Ram di sistema totali. Il problema principale è che anche se si avvia non si vede alcuna immagine o logo perché il laptop non ce la fa a gestire le risorse.

Allora come fare? Semplicemente creandosi un template ad hoc solo testuale partendo da questo tema:

es-theme-spare-master

(si trova scaricabile in giro)

Quello che conta poi è eliminare i riferimenti alle immagini dentro il file xml del template in modo che emulationstation mostri solo i testi, ad esempio ecco come modificare un tema a caso, quello nella cartella megadrive. Aprire il file theme.xml e modificarlo come segue:

<theme>
<formatVersion>4</formatVersion>
<include>./../spare.xml</include>
<view name="system, basic, detailed">
</view>
</theme>

Così facendo verranno ignorati i riferimenti alle immagini e loghi.

Per diminuire ancora di più le risorse è possibile decidere di far partire emulationstation all’avvio in sostituzione di explorer, modificando il registro di sistema in questo modo:

1- Aprite regedit
2- Cercate HKEY_Local_Machine\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon
3- Cercate Shell
4- Modificate la voce che punta a explorer.exe con il percorso di emulationstation.exe, solitamente sarà c:\programmi\… ecc… ecc… (tra apici il link se contiene spazi)

Ovviamente all’avvio non partirà più explorer.exe e se vorrete lanciarlo per gestire il computer sarà sufficiente chiudere emulationstation, fare ctrl+alt+canc e lanciare explorer.exe da esegui comando. Questa procedura di sostituzione andrebbe fatta quando tutto è funzionante e non ci sarà la necessità di ulteriori modifiche del pc. Coì si avrà un laptop dedicato esclusivamente al retrogaming e non. EmulationStation è molto versatile in questo e se ben configurato permetterà di avere un frontend utilizzabile anche da chi non sa nulla di pc.

Come scelta per gli emulatori da configurare a parte, considerando le esigue risorse del laptop consiglio di utilizzare il mame senza GUI, lo zsnes per il Super Nintendo, il Fusion per il megadrive, PSXFin per la Playstation 1, il project 64 per il Nintendo 64. Allego come esempio il file di configurazione lowram, dal quale potrete attingere informazioni. Tutti rigorosamente per sistemi a 32 bit.

File di Configurazione per EmulationStation:

es_systems
es_systems-lowram

File Batch per convertire i file 7zip in zip da lanciare nella stessa cartella dei file da convertire

convert.bat

File Batch da usare per Mame64

mame64.cmd

Template già pronto per Mplayer da copiare in .emulationstation dove ci sono gli altri

video

Page 1 of 2012345...1020...Last »