TUTORIAL: Adeus Hub USB, olá NFS!!!
Um dos pontos fracos do OUYA é ter apenas uma porta USB, o que torna difícil se alguém quiser usar um controle USB e ao mesmo tempo usar uma grande coleção de ROMs. Se você não usar um HUB com alimentação própria poderá ter problemas. Além disso, a velocidade de transferência cai muito.
Depois de ficar muito irritado com um HUB USB, decidi tentar usar algum compartilhamento de arquivos pela rede com OUYA e encontrei outro script antigo que funciona perfeitamente, usando NFS.
** ATENÇÃO: ** Não irei abordar a parte do servidor NFS. Se você usa Linux, consulte as instruções para sua distribuição. Se você usa Windows, procure saber como configurar um servidor NFS, mas minha recomendação é usar Linux, muito fácil.
Como no caso do tutorial para usar um wiimote no OUYA:
PRIMEIRO:
Faça root do OUYA conforme explicado aqui:
https://www.s-config.com/root-the-ouya-google-play/
** ATENÇÃO: ** Não instale o google play ou a coleção de mod e não use o busybox de lá, em vez disso, use o busybox dos links abaixo:
adb install busybox-1.31.1-46.apk
(
https://github.com/meefik/busybox/releases/download/1.31.1/busybox-1.31.1-46.apk)
adb install Universal-initd.apk
(
https://github.com/Androguide/Universal-init.d/blob/master/Universal-initd.apk)
Baixe o script ouya-nfs-mount-script aqui:
https://www.progressivethink.in/on/ouya/and/ouya-nfs-mount-script/
ENTÃO:
adb shell
su
mount -o rw, remount -t ext4 /dev/block/platform/sdhci-tegra.3/by-name/APP
cd /system/etc
mkdir init.d
chmod -R 755 init.d
cd init.d/
vi nfsmount
Pressione "i" no teclado e copie e cole o código do script.
Você deve alterar as seguintes partes:
Logo no início do script, temos:
SERVERIP = "192.168.0.101"
Substitua 192.168.0.101 entre aspas pelo endereço IP do servidor NFS.
** ATENÇÃO: ** Mantenha as aspas.
Por exemplo, no meu caso, o servidor NFS é meu laptop, então mudei para ser o IP do meu notebook.
Um pouco abaixo temos:
If [! -d /mnt/sdcard/emu]; then
echo "Creating emu folder”" >> $ LOGGER
mkdir -p /mnt/sdcard/emu
fi
Esta parte verifica se existe um diretório /mnt/sdcard/emu e se não existe cria-o. Este é o diretório onde o compartilhamento será visualizado pelo OUYA. Se quiser, mude o nome do emu para o que quiser, como roms, obtendo o caso assim:
If [! -d /mnt/sdcard/roms]; then
echo "Creating emu folder”" >> $ LOGGER
mkdir -p /mnt/sdcard/roms
fi
Abaixo temos:
/system/xbin/busybox mount -o nolock, rw, hard, intr, vers=3 -t nfs "${SERVERIP}:/c/emu" "/mnt/sdcard/emu" >> $ LOGGER
Esta é a linha que configura o compartilhamento em OUYA. Aqui, altere "/c/emu" para o diretório que está sendo compartilhado no servidor NFS.
Por exemplo, no meu laptop, o diretório com os ROMs está em /srv/nfs/roms, então esta linha se parece com isto para mim:
/system/xbin/busybox mount -o nolock, rw, hard, intr, vers = 3 -t nfs "${SERVERIP}:/srv/nfs/roms/" "/mnt/sdcard/emu" >> $ LOGGER
OBS.: Se você usar um roteador com porta USB e com o OpenWRT, retire o ver=3 da linha em questão, ficando assim no exemplo acima:
/system/xbin/busybox mount -o nolock, rw, hard, intr -t nfs "${SERVERIP}:/srv/nfs/roms/" "/mnt/sdcard/emu" >> $ LOGGER
** ATENÇÃO: ** Mais uma vez, mantenha as aspas. E se você alterou o nome do diretório onde o compartilhamento estará no início do script, altere aqui também.
Use o comando: wq para salvar o arquivo e sair do vi.
chmod 755 nfsmount
cd /
mount -o ro, remount -t ext4 /dev/block/platform/sdhci-tegra.3/by-name/APP
DEPOIS:
exit
exit
FINALMENTE:
Inicie o Universal Init.d, dê permissão de root a ele e defina-o para ser executado na inicialização (a opção ON / OFF no Universal Init.d). Se tudo estiver correto, basta acessar a pasta de compartilhamento com FilePW e você verá seus ROMs lá.
Eu testei com RetroArch aqui e funcionou normalmente: Pequenos jogos como SNES e Genesis carregam como se tivéssemos o flashdrive plugado em OUYA. Jogos maiores (NeoGeo, CPS1, CPS2 e CPS3) levam cerca de 10 segundos no máximo, mas rodam perfeitamente. Não testei o desempenho ao usar jogos em CD
Todos os méritos para o criador do roteiro, Eldon McGuinness:
https://www.progressivethink.in/authors/eldonmcguinness/