Desmume no Ubuntu 12.04 64bits - Compilando a ultima versao SVN

Iniciado por platao, 09 de Fevereiro de 2014, 21:05

tópico anterior - próximo tópico

platao

O DeSmuME (também conhecido como YopYop DS) é um emulador de código aberto para o Nintendo DS criado por YopYop156, o próprio emulador original é em francês assim como seu criador(com traduções de usuários para Inglês e outros idiomas) e pelo que andei lendo o desenvolvedor do emulador temia por problemas de direitos autorais e de propriedade intelectual e desistiu do desenvolvimento deixando o codigo aberto para quem desejasse continuar o seu trabalho.

YopYop156 parou desenvolvimento na versão 0.3.3 devido a uma mudança de leis sobre emulação na França, mais tarde foi descoberto que era uma piada de 1 de abril(?). Depois de receber o feedback ele finalmente decidiu sair de qualquer maneira da cena e o código fonte foi liberado da mesma forma.

Vários desenvolvedores entao vem lançando versões não-oficiais de DeSmuME com base no código original. Estes vários desenvolvedores mais tarde se uniram e fundiram os trabalhos, resultando na versão 0.5.0 como seu primeiro lançamento.

O DeSmuME suporta saves, aumentar o tamanho da tela, filtros,suporta o uso de microfone no Windows e Linux, gravação de áudio e video.

Em 18 de abril de 2010, foi então relatada por um dos colaboradores que conseguiram habilitar o Wi-Fi, confirmado no Mario Kart DS e Worms: Open Warfare 2 pode usar o Wi-Fi para jogar, embora limitado. A partir de 18 junho de 2010, Wi-Fi foi removido do emulador pelos desenvolvedores devido a ações de Nintendo

Ele também foi portado para outros sistemas, incluindo um port para o PSP, isso nao foi muito util porque o PSP não tem o poder de processamento para emular jogos em velocidade total, esse emulador e bem pesado, por assim dizer, roda com dificuldade aqui na minha maquina um core2duo 2.4ghz com 4giga de ram e placa de video Intel965 fuleira.

Compilando



http://img534.imageshack.us/img534/8241/66h3.png

A Primeira coisa é, se vc ja nao tem uma maquina virtual com o ubuntu 12.04, e melhor criar uma para evitarmos de mexer na sua instalação padrao, baixar pacotes dev que vc nao vai usar e para nao danificar o seu sistema principal, com alguma remoção indesejada de pacotes.

Estando na sua maquina virtual com 12.04 (que pode ser a que usamos para compilar o mame) vamos instalar alguns pacotes;

sudo apt-get install build-essential autoconf automake libgtk2.0-dev libglu1-mesa-dev libsdl1.2-dev libglade2-dev gettext zlib1g-dev libosmesa6-dev intltool libagg-dev libasound2-dev libsoundtouch0 libsoundtouch-dev libpcap-dev libpcap0.8-dev libosmesa6 subversion

(algumas dessas blibliotecas sao necessarias para habilitar o suporte a "caneta" o touchpad e wi-fi)

Mais algumas coisas agora;

sudo apt-get build-dep desmume

Vamos agora baixar a versao mais recente do Desmume do SVN no terminal coloque;

svn co https://svn.code.sf.net/p/desmume/code/trunk/desmume

Gerado a revisão 4984.

Havera na sua home uma pasta chamada desmume, entre nela;

cd desmume

E depois;

./autogen.sh

se vc nao quiser otimizar nada e so proceguir com o;

./configure

Depois;

make

E depois;

sudo make install

Ou vc nem precisa dar o sudo make install, vc pode simplesmente copiar a pasta gtk(que esta em /src/gtk) para a sua home da sua maquina principal e ja pode rodar o emulador que esta nela.

*O emulador cria uma pasta oculta na home em .config para guardar os saves e as configuraçoes.



Avançando

Vamos dar uma olhada no arquivo configure antes de dar o configure e o make para compilar, de uma olhada na pasta principal, arquivo configure, na altura da linha 1494 em diante, vc encontra algumas coisas interessantes para habilitar se vc quiser ; ), como suporte para Wi-fi,HUD e microfone(sao todos experimentais, mas pode ser habilitado) assim como otimizar o emulador para 64bits mudando as suas flags;

Optional Features:

 --disable-option-checking              ignore unrecognized --enable/--with options
 --disable-FEATURE                       do not include FEATURE (same as --enable-FEATURE=no)

 --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
 
--disable-dependency-tracking          speeds up one-time build
 --enable-dependency-tracking        do not reject slow dependency extractors
 --disable-nls                                do not use Native Language Support
 --enable-osmesa                          use off-screen mesa
 --enable-glx                                use hw accelerated rendering
 --enable-hud                               Enable HUD rendering, requires libagg
 --enable-openal                           enable experimental OpenAL microphone input
 --enable-glade                             enable glade frontend
 --enable-wifi                               enable experimental wifi comm support
 --enable-gdb-stub                        enable gdb stub
 --enable-hardcore                        turn on -W -Wall -Werror
 --enable-debug                           enable debug information
 --enable-gpu-debug                     enable gpu debug information
 --enable-div-debug                      enable div debug information
 --enable-sqrt-debug                     enable sqrt debug information
 --enable-dma-debug                    enable dma debug information
 --enable-maintainer-mode            enable make rules and dependencies not useful(and sometimes confusing) to the casual installer

Aqui eu uso essas e esta de bom tamanho!!!!

CXXFLAGS='-O2 -march=native -mfpmath=sse' ./configure --enable-glx --enable-hud --enable-openal --enable-wifi --enable-gdb-stub

Agora vamos compilar!!!!

make

Se quiser isntalar;

sudo make install

(se vc errar ou quiser compilar novamente apague a pasta desmume na sua home e começe tudo novamente)


E pronto agora e so desfrutar!!!!

Para quem desejar o pacote .deb pronto compilado e otimizado para o Ubuntu 12.04 x64 e so baixar aqui;

https://www.dropbox.com/s/oipdi2eo8b3vzaf/desmume_0.9.11_svn-4984_dev%2B_amd64.deb

Imagens

http://img268.imageshack.us/img268/9440/tl78.png
http://img268.imageshack.us/img268/7983/hbul.png
http://img199.imageshack.us/img199/4741/gjm5.png

Um pouco de musica de arcade para descontrair;

http://www.mamechannel.it/mc_radio/

http://www.mamechannel.it/mc_radio/Grospixels%20Remix/Grospixels%20-%20Zool%20(Rock%27n%27Zool).mp3

http://www.mamechannel.it/mc_radio/Back%20In%20Time%20%28%20C=64%20Remix%20%29/LMan%20-%20Turrican%202%20Loader%20%28LManic%20Mix%29.mp3
\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997

platao

Fiz esse pacote .deb do Desmume que compilei para o Ubuntu 12.04 x64 otimizado, quem desejar baixar e so clicar nesse link;

https://www.dropbox.com/s/oipdi2eo8b3vzaf/desmume_0.9.11_svn-4984_dev%2B_amd64.deb
\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997

pylm69

 Meu desempenho com ele é horrível  ??? fica a 10 FPS no New Super Mario Bros, enquanto o PPSSPP faz 30 FPS no Soul Calibur Broken Destiny :/ o DraStic que é um emulador de DS pra android, roda New Super Mario Bros a 45 FPS no meu Xperia L :o
Rolling Release é o máximo \o/

Sergio Benjamim

Citação de: pylm69 online 02 de Março de 2014, 12:48
Meu desempenho com ele é horrível  ??? fica a 10 FPS no New Super Mario Bros, enquanto o PPSSPP faz 30 FPS no Soul Calibur Broken Destiny :/ o DraStic que é um emulador de DS pra android, roda New Super Mario Bros a 45 FPS no meu Xperia L :o

Você tem hardware suficiente para rodar um emulador?

Essa sua comparação não serve de parâmetro, você está comparando 2 hardware diferentes... esses smartphones/tablets são mais potentes do que computadores de alguns anos atrás.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

pylm69

Citação de: Sergio Benjamim online 02 de Março de 2014, 13:13
Citação de: pylm69 online 02 de Março de 2014, 12:48
Meu desempenho com ele é horrível  ??? fica a 10 FPS no New Super Mario Bros, enquanto o PPSSPP faz 30 FPS no Soul Calibur Broken Destiny :/ o DraStic que é um emulador de DS pra android, roda New Super Mario Bros a 45 FPS no meu Xperia L :o

Você tem hardware suficiente para rodar um emulador?

Essa sua comparação não serve de parâmetro, você está comparando 2 hardware diferentes... esses smartphones/tablets são mais potentes do que computadores de alguns anos atrás.
http://www.gsmarena.com/sony_xperia_l-5363.php
Xperia L é mid end, o PC é um Celeron 847 4 GB de ram e uma Intel HD Graphics 2000, mas eu comparei mesmo foi o PPSSPP com o Desmume, o emulador de PSP faz um FPS bem melhor em um jogo de luta que tem cenários em 3D do que o emulador de DS com um jogo 2D :/
Rolling Release é o máximo \o/

Sergio Benjamim

Citação de: pylm69 online 02 de Março de 2014, 13:54
Citação de: Sergio Benjamim online 02 de Março de 2014, 13:13
Citação de: pylm69 online 02 de Março de 2014, 12:48
Meu desempenho com ele é horrível  ??? fica a 10 FPS no New Super Mario Bros, enquanto o PPSSPP faz 30 FPS no Soul Calibur Broken Destiny :/ o DraStic que é um emulador de DS pra android, roda New Super Mario Bros a 45 FPS no meu Xperia L :o

Você tem hardware suficiente para rodar um emulador?

Essa sua comparação não serve de parâmetro, você está comparando 2 hardware diferentes... esses smartphones/tablets são mais potentes do que computadores de alguns anos atrás.
http://www.gsmarena.com/sony_xperia_l-5363.php
Xperia L é mid end, o PC é um Celeron 847 4 GB de ram e uma Intel HD Graphics 2000, mas eu comparei mesmo foi o PPSSPP com o Desmume, o emulador de PSP faz um FPS bem melhor em um jogo de luta que tem cenários em 3D do que o emulador de DS com um jogo 2D :/

Humm, mas mesmo assim, é difícil comparar 2 arquiteturas diferentes. O PSP usa um processador MIPS, enquanto que o Nintendo DS usa um ARM. Qual será mais fácil de emular?
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

#6
Platao, você já tentou rodar linux no Desmume?

Olha aí: http://www.dslinux.org/
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

platao

Nao estou vendo o link  :o manda para mim ver!!!

É linux sendo emulado no desmume??? Ou o pessoal hackeou um aparelho e botou linux nele??? o que nao e de se duvidar!!!!
\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997

Sergio Benjamim

Citação de: platao online 04 de Março de 2014, 14:14
Nao estou vendo o link  :o manda para mim ver!!!

É linux sendo emulado no desmume??? Ou o pessoal hackeou um aparelho e botou linux nele??? o que nao e de se duvidar!!!!

arrumei, vê lá

acho que é hack mesmo, tá rodando linux nativamente.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

pylm69

http://free60.org/Main_Page
Não é de duvidar mesmo, esse projeto ai é pra fazer um port de GNU/Linux para o Xbox 360.
Rolling Release é o máximo \o/

platao

#10
Citação de: pylm69 online 04 de Março de 2014, 15:07
http://free60.org/Main_Page
Não é de duvidar mesmo, esse projeto ai é pra fazer um port de GNU/Linux para o Xbox 360.
Citação de: Sergio Benjamim online 04 de Março de 2014, 14:32
Citação de: platao online 04 de Março de 2014, 14:14
Nao estou vendo o link  :o manda para mim ver!!!

É linux sendo emulado no desmume??? Ou o pessoal hackeou um aparelho e botou linux nele??? o que nao e de se duvidar!!!!

arrumei, vê lá

acho que é hack mesmo, tá rodando linux nativamente.

Pelo que eu li no site ele, nao roda em emulador, so no aparelho fisico mesmo, ou seja, vc tem que ter o Nintendo Ds para experimentar o linux nele. E o cara que esta desenvolvendo ainda nao consegue fazer funcionar perfeitamente, da uma olhada na lista dos desenvolvedores, que eles comentam, nao teve movimentação esse ano ainda.

Agora imagina so, como o cara para desenvolver um negocio desses tem que ter uma equipe ou ser um cara muito bom em diversas areas.

\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997

risislunit

Olá platao !!!

Excelente tópico e agradeço ao post que por sinal funcionou muito bem no ubuntu 14.04 !
Gostaria de lhe perguntar mais uma coisa!
Você conseguiu usar a wifi conection do DeSmuME ??? ?
porque compilei o meu e está funcionando, porém quando tento testar a conexão
obtenho o código 52000 que significa não conseguir um IP na rede!!! 

Desde já agradeço

platao

Ola esse post e voltado para o 12.04 ainda, mas os passos para o 14.04 sao praticamente os mesmos. A propria nintendo se eu nao estiver enganado, finalizou o suporte a rede Nintendo Network para o Wii e DS a algum tempo atras, ou seja, nem quem tem o console portatil pode se conectar a rede oficial.

O que o pessoal fazia era comprar um adaptador da propria nintendo, ligava no roteador para criar um ponto de acesso para o DS, esse dispositivo foi clonado e usado em uma ferramenta que emula o firmware desse dispositivo, entao se vc tivesse o desmume compilado com wifi habilitado e esse software vc jogava online, agora parece que a festa acabou ; )

Nao sei como o pessoal esta fazendo, quem sabe criando uma network privada, como aconteceu na epoca quando o playstation 3 foi destravado.

Quem tinha o console com firmware alternativo do play3 nao podia conectar na rede oficial que era banido, entao era orientado a conectar a uma network exclusiva so para consoles destravados, concorrendo com a playstation network( que hj deve se chamar SEN ou algo assim).

Entao mesmo que vc faça tudo correto nao vi rolar, vc pode andar pelas comunidades ai para ver como eles estao lidando com isso, ver se ha algum meio novo de continuar jogando, fora isso os tutoriais que eu vi para criar o ponto de acesso eram todos para windows, um ou outro tutorial para linux mas pareceu um pouco complicado e sem garantia que iria funcionar. O principio de funcionamento era o mesmo do Windows, nao sei de uma forma facil de fazer isso.

Tenta pesquisar para ver se descobre o que esta rolando agora, como o pessoal esta se conectando( se e que esta!)
\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997

risislunit

Obrigado pela resposta platao, irei pesquisar sobre o assunto!!!

Além disso, você mandou um

$ sudo checkinstall

para gerar o pacote?

Se sim, o que você colocou nas dependências do pacote?
Aqueles pacotes que você menciona para instalar no tutorial?

platao

#14
Uma dica para vc compilar um programa direto das fontes e usar o sudo apt-get build-dep aplicativo, como no nosso caso, o desmume embora uma versao antiga, faz parte dos repositorios oficiais do ubuntu. Todo o aplicativo que esta no repositorio vc pode usar esse recurso.

No synaptic, nas opçoes vc deixa marcado para que ele baixe os "fontes" e deixa marcado os outros repositorios da comunidade, como na foto.

http://img842.imageshack.us/img842/2248/3a68.png

Assim quando vc der um apt-get build-dep aplicativo o apt vai baixar e isntalar todos os pacotes necessarios para compilar, sem que vc fique quebrando a cabeça com dependencias ou ter que ir ate o site do desenvolvedor para ver, na maioria das vezes funciona bem. Se o aplicativo nao esta nos repositorios do Ubuntu, vc pode adicionar um PPA, que funciona da mesma forma.

No caso, depois do aplicativo compilado, vc nem precisa criar o deb, e so executar e pronto. Se vc estiver querendo isntalar o que vc compilou em outra maquina, pode fazer um script simples para baixar as dependencias, um arquivo "install" que executado baixa as dependencias. Geralmente nao sao todas as que sao usadas para compilar, somente as principais.   

Se vc quiser criar um deb "caseiro" para o seu uso pode criar a estrutura de pastas que e onde o aplicativo vai ficar no sistema, exemplo, /usr/local/games por exemplo, e pode deixar tudo ali se quiser e criar um arquivo control dentro da pasta debian e alimentar esse arquivo com as dependencias que vc insatalou com o build-dep. Depois que vc criou todas as pastas e so dar o comando dpkg -b nome do pacote e ele gera o deb caseiro. Baixe o deb do desmume do meu dropbox ou do repositorio do ubuntu e extraia na sua home o pacote deb e veja como e a estrutura de diretorios, vc pode modificar e criar novamente o deb com o dpkg -b .

Vc tbm pode criar um pacote padrao do launchpad que e mais rigoroso e tem que ser submetido para aprovação, esses seguem algumas regras de controle rigidas para garantir a integridade do aplicativo e a segurança.
\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997