Como executar ZSNES 1.42 no Ubuntu MATE 17.04 x64

Publicado por Fernando Di Ramos Carneiro Seixo de Britto em 03/10/2017

[ Hits: 6.874 ]

Blog: https://naopagueimposto.blogspot.com/

 


Como executar ZSNES 1.42 no Ubuntu MATE 17.04 x64



Senhores,

estou usando o Linux como meu SO principal há apenas 3 meses. Estou muito longe de ser um especialista. Espero que minhas dificuldades inicias sejam semelhantes a de outros iniciantes - o público alvo deste tópico.

Para instalar o ZSNES 1.42 no Ubuntu MATE 17.04 x64, adicione suporte à programas 32 bits no seu sistema 64 bits**, talvez seja necessário reiniciar:

sudo dpkg --add-architecture i386
$ sudo apt-get update
$ sudo apt-get install multiarch-support


Faça o download da brincadeira toda:

wget -c http://old-releases.ubuntu.com/ubuntu/pool/multiverse/z/zsnes/zsnes_1.420-2ubuntu1_i386.deb
$ wget -c http://security.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.50-1ubuntu2.14.04.2_i386.deb


Crie uma pasta e descompacte o conteúdo:

mkdir zsnesvelho
$ dpkg-deb -R libpng12-0_1.2.50-1ubuntu2.14.04.2_i386.deb zsnesvelho
$ dpkg-deb -R zsnes_1.420-2ubuntu1_i386.deb zsnesvelho


Copie os arquivos importantes para a raiz da nova posta:

cp ./zsnesvelho/usr/bin/zsnes ./zsnesvelho/zsnes
$ cp ./zsnesvelho/lib/i386-linux-gnu/libpng12.so.0.50.0 ./zsnesvelho/libpng12.so.0


Vá para dentro da pasta certa e vamos começar a brincar:

cd zsnesvelho
$ LD_LIBRARY_PATH="./:$LD_LIBRARY_PATH" ./zsnes


Você viu? A magia já aconteceu!

Chame o Zsnes modificando o LD_LIBRARY_PATH para o diretório que contenha a biblioteca libpng12.so.0:

LD_LIBRARY_PATH="/home/fernando/Downloads/zsnesvelho:$LD_LIBRARY_PATH" ./zsnes

O trecho '/home/fernando/Downloads/zsnesvelho' diz respeito ao meu computador. Os ilustríssimos presentes precisam modificar o endereço de modo coerente com a disposição dos arquivos presentes em vossas máquinas.

São poucas linhas... mas demorei alguns dias para descobri-las. E se não achasse difícil a jornada de descoberta não teria criado este tópico.

Alguém poderia se perguntar por que usar a versão 1.42 ao invés da versão 1.51. A razão é simples: a versão 1.42 foi a última versão oficialmente lançada do ZSNES com suporte nativo ao Netplay.

Eu aqui no Goiás, usando Linux com ajuda de um amigo em São Paulo usando Windows, testamos as versões do ZSNES 1.42, 1.42N e o Snes9x 1.54.1 via internet.

Tivemos subjetivamente melhor desempenho usando ZSNES 1.42 (sem o N. A versão N em teoria deveria ter melhor desempenho em rede mas não notamos melhoria). Além disso, só fomos capazes de jogar com a opção "USE UDP INSTEAD OF TCP" desmarcada!
Linux: Executar ZSNES 1.42 no Ubuntu MATE 17.04 x64
Existem algumas informações preciosas na documentação oficial:
Para encontrar pacotes antigos do Ubuntu use:
Como descobrir se o sistema é 64 bits?

Execute e descubra a arquitetura: "i386" é 32 bits e "amd64" é 64 bits.

dpkg --print-architecture

Execute e descobra se estão instaladas arquiteturas alternativas: "i386" é esperado se seguiu o tutorial.

dpkg --print-foreign-architectures

Caso queira instalar versões 32 bits no seu sistema 64, adicione ":i386" após o nome do pacote.

sudo apt-get install NomeDoPacote:i386

Veja mais em: https://wiki.debian.org/Multiarch/HOWTO

Como descobrir as bibliotecas necessárias pelo aplicativo?

ldd ./zsnes

Como compilar o ZSNES i386 no Ubuntu MATE 17.04 x64?

Ha! Zueira, mano! Não faça isso com você mesmo. Pegue o binário e seja feliz!

Caso tenha gostado da solução, distribua-a como preferir, sem me consultar. Pode inclusive dizer quer foi você quem a descobriu! Não me importo. Seja feliz!

Bônus 0: Faça download de várias versões do ZSNES

Download do ZSNES em binário para Linux:
Download do ZSNES em binário para Windows ou código fonte:
Instalar a versão atualizada do ZSNES numa distribuição GNU/Linux Ubuntu é suave.

Atualize a lista de pacotes disponíveis:

sudo apt-get update

Instale a versão mais nova do ZSNES:

sudo apt-get install zsnes

Executar qualquer versão para Windows nos Ubuntus também é bem tranqüilo: [CODE] Atualize a lista de pacotes disponíveis:

sudo apt-get update

Instale o Play On Linux e através dele instale a versão do Wine que preferir:

sudo apt-get install playonlinux

Instale o Winetricks para instalar bibliotecas Windows facilmente:

sudo apt-get install winetricks

Vá para a pasta com o emulador Windows descompactado:

wine ./zsnes.exe

Bônus 1: faça redirecionamento de portas em seu router!

Exemplo: Technicolor ADSL Router TD5130v2

A) Acesse seu modem/router através do navegador em posse do usuário e senha.
Linux: Executar ZSNES 1.42 no Ubuntu MATE 17.04 x64
ADVANCED > NAT > NAT SETUP - VIRTUAL SERVER B) Configure o servidor virtual usando as portas do seu emulador, no caso 7845, e o ip interno da sua máquina, de preferência estático, no [B]meu[/B] caso: 192.168.1.19
Linux: Executar ZSNES 1.42 no Ubuntu MATE 17.04 x64
ENABLE - VIRTUAL SERVER; APPLY; ADD
Linux: Executar ZSNES 1.42 no Ubuntu MATE 17.04 x64
ENABLE - VIRTUAL SERVER RULE; RULE NAME: ZSNES; PORTS: 7845; PROTOCOL TYPE: TCP/UDP; PRIVATE IP ADDRESS: <SEU IP EM LAN>

C) Libere a comunicação no firewall do router. São poucos os equipamentos que demandam este passo. É o caso deste.
Linux: Executar ZSNES 1.42 no Ubuntu MATE 17.04 x64
ADVANCED > FIREWALL > FIREWALL - DOS
Linux: Executar ZSNES 1.42 no Ubuntu MATE 17.04 x64
DISABLE - PING OF DEATH; DISABLE - TCP Syn Flooding; APPLY

Bônus 2: use VPN gratuitas para não precisar usar redirecionamento de portas

A) Para Windows e Linux:
B) Exclusivos para Windows:
Exemplo de configuração de servidor Windows VPN PPTP (demanda redirecionamento de porta):
Exemplo de configuração de cliente Windows VPN PPTP (não demanda redirecionamento de porta):

Bônus 3: faça auditoria em suas ROMs!

NSRT - v. 3.4:
NSRT - v. 3.3 - MANUAL:
Saúde!

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Steam com Driver Nouveau

Jogando Minecraft no Ubuntu e derivados

Quake 2 no Ubuntu 10.10

Jogando Brogue no Linux

Jogo da Forca no Linux

  

Comentários
[1] Comentário enviado por Max_Alm em 07/11/2017 - 01:39h

Funcionou perfeitamente no Debian Stretch!
Consigo imaginar o quão foi difícil mesmo. Não é nada trivial a solução .
Valeu !

[2] Comentário enviado por cvv em 08/12/2017 - 08:41h


[1] Comentário enviado por Max_Alm em 07/11/2017 - 01:39h

Funcionou perfeitamente no Debian Stretch!
Consigo imaginar o quão foi difícil mesmo. Não é nada trivial a solução .
Valeu !


Obrigado, Max_Alm, fico feliz com resultado!
abraços



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts