Dolphin no Ubuntu 12.04 64bit - Compilando a ultima versao GIT

Iniciado por platao, 14 de Fevereiro de 2014, 01:44

tópico anterior - próximo tópico

platao

Estava dando uma olhada no Dolphin, que emulador fantastico ; ) é tudo de bom....se vc tiver uma maquina boa para rodar ele e claro...

Olhando os repositorios nao se acha versao recente do Dolphin para o 12.04, somente a antiga versao 3.5 do precise do PPA https://launchpad.net/~glennric/+archive/dolphin-emu do dolphin, tem versoes atualizadissimas para outras versoes do ubuntu, mas para o precise nao....

*Depois que eu compilei a ultima versao GIT do Dolphin e que vi que ele nao suporta mais minha placa de video....WTF!!



http://img845.imageshack.us/img845/450/2pje.png

Dependencias;

Ao tentar compilar a versao mais nova para o Dolphin e reportado que nao tem suporte para o precise, na propria pagina do desenvolvedor, as bibliotecas necessarias sao um pouco antigas, entao pode desistir de tentar compilar do modo tradicional que nao vai rolar. Se vc ainda nao atualizou o kernel e esta na versao normal 3.8,3.2 ou 3.5 vc pode nao ter problemas de dependencias, e pode partir para a compilação sem a maquina virtual mesmo, pulando uma etapa, se esta esta usando o kernel-lts-precise ou quantal principalmente, se vc vai isntalar pacotes .dev e vai mexer no libgl1-mesa-dev...é problema na certa no seu Ubuntu.

Usando a versao 12.04.4 com kernel 3.11 ao tentar instalar o recomendado temos alguns problemas;

platao@platao-ubuntu:~$ uname -r
3.11.0-14-generic

platao@platao-ubuntu:~$ sudo apt-get install libsdl1.2-dev
[sudo] password for platao:
Lendo listas de pacotes... Pronto
Construindo árvore de dependências      
Lendo informação de estado... Pronto
Os seguintes pacotes foram instalados automaticamente e já não são necessários:
 x11-apps x11-session-utils x11-xfs-utils xinit libfs6
Use 'apt-get autoremove' para removê-los.
Os pacotes extra a seguir serão instalados:
 libasound2-dev libcaca-dev libdrm-dev libgl1-mesa-dev libgl1-mesa-glx
 libgl1-mesa-glx:i386 libglapi-mesa libglapi-mesa:i386 libglu1-mesa-dev
 libkms1 libncurses5-dev libpulse-dev libslang2-dev libtinfo-dev
 libtxc-dxtn-s2tc0 libx11-xcb-dev libxcb-glx0-dev libxt-dev libxxf86vm-dev
 mesa-common-dev x11proto-dri2-dev x11proto-gl-dev x11proto-xf86vidmode-dev
 xserver-xorg-core xserver-xorg-input-evdev
Pacotes sugeridos:
 libasound2-doc ncurses-doc xfonts-100dpi xfonts-75dpi
Os pacotes a seguir serão REMOVIDOS:
 libgl1-mesa-dri-lts-quantal libgl1-mesa-dri-lts-quantal:i386
 libgl1-mesa-glx-lts-quantal libgl1-mesa-glx-lts-quantal:i386
 libglapi-mesa-lts-quantal libglapi-mesa-lts-quantal:i386
 libxatracker1-lts-quantal x11-xserver-utils-lts-quantal xorg
 xserver-common-lts-quantal xserver-xorg-core-lts-quantal
 xserver-xorg-input-all-lts-quantal xserver-xorg-input-evdev-lts-quantal
 xserver-xorg-input-mouse-lts-quantal
 xserver-xorg-input-synaptics-lts-quantal
 xserver-xorg-input-vmmouse-lts-quantal xserver-xorg-input-wacom-lts-quantal
 xserver-xorg-lts-quantal xserver-xorg-video-all-lts-quantal
 xserver-xorg-video-ati-lts-quantal xserver-xorg-video-cirrus-lts-quantal
 xserver-xorg-video-fbdev-lts-quantal xserver-xorg-video-intel-lts-quantal
 xserver-xorg-video-mach64-lts-quantal xserver-xorg-video-mga-lts-quantal
 xserver-xorg-video-modesetting-lts-quantal
 xserver-xorg-video-neomagic-lts-quantal
 xserver-xorg-video-nouveau-lts-quantal
 xserver-xorg-video-openchrome-lts-quantal
 xserver-xorg-video-r128-lts-quantal xserver-xorg-video-radeon-lts-quantal
 xserver-xorg-video-s3-lts-quantal xserver-xorg-video-savage-lts-quantal
 xserver-xorg-video-siliconmotion-lts-quantal
 xserver-xorg-video-sis-lts-quantal xserver-xorg-video-sisusb-lts-quantal
 xserver-xorg-video-tdfx-lts-quantal xserver-xorg-video-trident-lts-quantal
 xserver-xorg-video-vesa-lts-quantal xserver-xorg-video-vmware-lts-quantal
Os NOVOS pacotes a seguir serão instalados:
 libasound2-dev libcaca-dev libdrm-dev libgl1-mesa-dev libgl1-mesa-glx
 libgl1-mesa-glx:i386 libglapi-mesa libglapi-mesa:i386 libglu1-mesa-dev
 libkms1 libncurses5-dev libpulse-dev libsdl1.2-dev libslang2-dev
 libtinfo-dev libtxc-dxtn-s2tc0 libx11-xcb-dev libxcb-glx0-dev libxt-dev
 libxxf86vm-dev mesa-common-dev x11proto-dri2-dev x11proto-gl-dev
 x11proto-xf86vidmode-dev xserver-xorg-core xserver-xorg-input-evdev
0 pacotes atualizados, 26 pacotes novos instalados, 40 a serem removidos e 0 não atualizados.
É preciso baixar 6.221 kB de arquivos.
Depois desta operação, 16,3 MB de espaço em disco serão liberados.
Você quer continuar [S/n]? n

Como podemos ver ai em cima ele vai remover alguns pacotes do sistema que podem dar problema, entao vamos deixar o sistema principal sem alteração e vamos partir para o virtualbox para fazer essa compilação. Se vc tem uma maquina virtual com o 12.04 que compilamos o Mame a algum tempo atras vai servir perfeitamente, se vc nao tem, crie uma nova maquina com a ISO do 12.04.

Na maquina virtual vamos adicionar o repositorio que ja conhecemos para ajudar a resolver as dependencias;

sudo add-apt-repository ppa:glennric/dolphin-emu

depois;

sudo apt-get update

Nao isntale nada, vamos agora com;

sudo apt-get build-dep dolphin-emu

Isntale as dependencias, agora vamos ate o site oficial e vamos isntalar mais algumas;

sudo apt-get install make cmake git g++ libgtk2.0-dev libsdl1.2-dev libxrandr-dev libxext-dev libao-dev libasound2-dev libpulse-dev libbluetooth-dev libreadline-gplv2-dev libavcodec-dev libavformat-dev libswscale-dev

importante!!!

Versao normal - 4.0-precise

Versao devel - 4.0.862-precise

*Necessario a instalação do pacote libegl1-mesa-drivers-lts-quantal e libegl1-mesa-drivers-lts-quantal se vc usa kernel-lts-quantal

*Necessario a instalação do pacote libegl1-mesa se vc usa o kernel padrao 3.2,3.5 ou 3.8

Versoes;

Agora vc tem a opção de compilar a versao Normal, geralmente um pouco mais antiga, no terminal;

git clone https://code.google.com/p/dolphin-emu/ dolphin-emu

*sera criada a pasta dolphin-emu na home.

ou a versao mais recente, a daily-build do emulador;

git clone https://github.com/dolphin-emu/dolphin.git

*nessa versao e criada a pasta dolphin
*certifique-se de qual pasta foi criada na sua home

ou a versao subversion(SVN);

svn checkout http://dolphin-emu.googlecode.com/svn/trunk/ dolphin

*para a versao SVN e necessario entrar no diretorio dolphin isntalar o scons(sudo apt-get install scons) e dar o coamndo scons, alternativamente vc tbm pode usar o cmake.

e depois;

git pull origin

Vamos optar pela mais recente daily build, ao terminar de baixar temos uma nova pasta na home e vamos entrar nela para poder começar;

Adicionando as PPA's;

Pronto esta tudo atualizado, o pacote esta pronto para começar, mas sabemos que ele nao vai compilar, entao temos que fazer algumas alteraçoes, instalando a versao mais atual do cmake,g++ e gcc;

sudo add-apt-repository ppa:kalakris/cmake

depois;

sudo apt-get update

Va ate o synaptic e isntale o cmake 2.8.11 depois adicione;

sudo add-apt-repository ppa:ubuntu-toolchain-r/test

depois;

sudo apt-get update

Instale o g++-4.8 e o gcc-4.8 pelo synaptic tbm

Agora va ate /usr/bin na sua maquina virtual e apague o link simbolico para o compilador antigo, procure por g++ e gcc.

*geralmente o link simbolico tem uma seta
*confira a versao antes de apagar, clicando em propriedades.

Linkando;

Agora vamos linkar o novo g++ e o novo gcc;

sudo ln -s gcc-4.8 /usr/bin/gcc

depois;

sudo ln -s g++-4.8 /usr/bin/g++

Pronto agora o seu ubuntu na maquina virtual esta apto a começar a compilação sem erro, entre na pasta na sua home;

cd dolphin

*certifique-se que esse e o nome correto, as versoes diferentes podem criar pastas com outro nome na home.

mkdir Build && cd Build

depois;

cmake ..

depois;

make

Agora e que começa a compilação do seu dolphin, dando uma olhada no makefile, nos arquivos de configuração;

--   package 'wayland-egl' not found
--   package 'wayland-client' not found
--   package 'wayland-cursor' not found

Wayland support disabled

Olhando no makefile, temos as opçoes;

########################################
# General setup
#
cmake_minimum_required(VERSION 2.6)

option(ANDROID "Enables a build for Android" OFF)
option(USE_EGL "Enables EGL OpenGL Interface" ON)
option(USE_X11 "Enables X11 Support" ON)
option(USE_WAYLAND "Enables Wayland Support" OFF)
option(USE_UPNP "Enables UPnP port mapping support" ON)
option(DISABLE_WX "Disable wxWidgets (use CLI interface)" OFF)
option(ENABLE_PCH "Use PCH to speed up compilation" ON)

option(FASTLOG "Enable all logs" OFF)
option(OPROFILING "Enable profiling" OFF)
option(OPENMP "Enable OpenMP parallelization" ON)
option(ENCODE_FRAMEDUMPS "Encode framedumps in AVI format" ON)
########################################
# Optional Targets
# TODO: Add DSPSpy and TestSuite.
option(DSPTOOL "Build dsptool" OFF)
option(UNITTESTS "Build unitests" OFF)

Pelo que entendi da para compilar com suporte ao wayland entre outras coisas interessantes. ; )

Terminando a compilação, vc vai copiar a pasta do emulador da maquina virtual para a sua maquina real com o 12.04, e vai fazer o mesmo procedimento, adicionar os PPA's isntalar o g++ o cmake e o gcc mais novos para que a sua compilação funcione, do contrario nao vai funcionar.

So um tetalhe importante, vc nao deve apagar dessa vez o link limbolico, vc so vai isntalar as bibliotecas e tudo vai estar funcionando com a sua nova compilação do Dolphin, o Ubuntu na sua maquina real vai estar com os compiladores padrao ainda antigos e em uso, mas com os novos tbm isntalados.

Eu cogitei em fazer uma compilação estatica, mas mexer com as libs é bastante problematico, se fosse essa a opção, seria somente para o precise e olhe la se iria dar certo. ; )



http://img829.imageshack.us/img829/8223/gavn.png

Pacote;

Fiz um pacote .deb para quem quiser baixar e usar, vai poupar o trabalho de compilar na maquina virtual, mas para que ele funcione, ainda e necessario adicionar as PPA's com o g++,gcc e cmake. Se ainda faltar alguma dependencia, e so isntalar as do PPA do https://launchpad.net/~glennric/+archive/dolphin-emu porem, marcando no synaptic "somente obter pacotes" e nao isntale o emulador(dolphin-emu), isntale somente os debs com as dependencias que vc precisa desse repositorio que vao estar em /var/chache/apt/archives.


Para baixar o .deb do Dolphin 4.0.862 e so acessar o Dropbox aqui - https://www.dropbox.com/sh/73a1xaizlr65ju4/e4P8ZrSZN6


You Win!!!Agora e so desfrutar do emulador na sua ultima versao no seu Precise!!! Musica arcade para comemorar ; )

http://www.mamechannel.it/mc_radio/Grospixels%20Remix/Grospixels%20-%20Cybernoid%202%20(Main%20theme).mp3

http://www.mamechannel.it/mc_radio/Grospixels%20Remix/Grospixels%20-%20Dr%20Mario.mp3

http://www.mamechannel.it/mc_radio/Grospixels%20Remix/Grospixels%20-%20Earthworm%20Jim%20(New%20Junk%20City).mp3

Veja tbm;

https://br.dolphin-emu.org/docs/guides/settings/?cr=br
https://br.dolphin-emu.org/docs/faq/?cr=br
https://forums.dolphin-emu.org/
\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997

platao

#1
Adicionado;

- Novo pacote devel e padrao do dolphin para o Ubuntu 12.04.
- atualização no tutorial



http://img716.imageshack.us/img716/7918/xo9h.png

Para baixara nova versao e so acessar o dopbox no link acima.
\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997

Sergio Benjamim

Grande Platao! Sempre contribuindo na área de jogos.

Queria saber qual a diferença do seu dolphin compilado para o "daily build" do site oficial. Aquele lá tá marcado para o ubuntu 13.04, mas não funciona em anteriores?
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

platao

#3
Para o ubuntu tem dois, o dolphin estavel e o em desenvolvimento ou daily, o dolphin mais novo nao compila no 12.04 por causa do gcc,g++ e do cmake que sao "antigos" entao vc tem que atualizar para que vc possa compilar no 12.04, e tbm nao da para isntalar algumas bibliotecas dev que o sistema ja quer remover pacotes importantes. A ultima do dolphin que saiu para o precise e a 3.5.

Eu nao mudei nenhuma flag para compilar nesse caso, o proprio script ja cuida de identificar a arquitetura e faz as otimizaçoes, inclusive instala o recem compilado dolphin se vc quiser ; ) é so colocar make && sudo make install que ele gera as saidas e instala tudo em /usr/local automaticamente.

A diferença e nas otimizaçoes, a grosso modo vc pode ir olhando o comando correr quando vc da o cmake, ele vai listar varias coisas e procurar varias bibliotecas, se ele encontra essas bibliotecas, ele compila aquele determinado recurso, se ele nao encontra a lib ele nao compila com aquele recurso extra. Entao a compilação tradicional nao vem com essas opçoes ativas, se o cmake nao indentifica a biblioteca para aquele recurso secundario ele simplesmente passa adiante e vc fica sem aquele recurso secundario habilitado.

Entao eu fui olhando todos os erros que estavam dando por falta de libs e fui isntalando todas ate que nao ocorreram mais nenhum erro significativo(somente 1 por causa de uma lib SDL2) e os "erros" que ficaram eram erros em bibliotecas que eram subistituidas por outras.

Fora isso, no arquivo Cmakelists.txt por exemplo, antes de compilar, vc pode ligar algumas coisas se vc quiser, que vem desligadas por padrao, algumas coisas sao convenientes ligar outras nao, como o suporte ao wayland ou vc poderia aproveitar e ativar para que seja feita uma compilação para o android tbm, ali tbm tem opção para vc desenvolver uma versao debug do dolphin.

A unica coisa que habilitei que achei bacana e o suporte a EGL, esse suporte esta compilado nas duas versoes que estao no dropbox, tanto a dev quanto a normal.

Entao esssa versao que eu compilei vem com varias coisas ativas que a versao padrao nao vem, embora possa nao aparecer mas elas estao la.... ; )

Quando vc da uma sudo make isntall depois de terminado a compilação, ele gera um arquivo de texto simples com a localização de todos os arquivos instalados, ai vc pega esse log e vc pode criar manualmente todas as pastas, estutura de diretorios, cria a pasta DEBIAN o arquivo control, definir os parametros e cria o pacote deb se quiser.

exemplo;

Vc pode criar um arquivo control com o aplicativo padrao equivs-control ou entao e so copiar de uma pacote qualquer, esse arquivo e o mais importante do pacote, nao me lembro se nas distribuiçoes como o fedora existe o arquivo DEBIAN provavelmente nao!!! No Fedora por exemplo vai ser a estrutura das pastas somente, por exemplo /usr/local e o programa.

Package: dolphin-emu-master     ----> existem duas versoes a versao padrao e a master
Version: 4.0-926                       ---->versao do pacote
Architecture: amd64                  ----arquitetura
Original-Manteiner: Pierre Bourdon<delroth@gmail.com>  ----> aqui eu decidi manter o nome do mantenedor original do pacote
Installed-Size: 12288                  
Depends: g++-4.8 , gcc-4.8 , cmake (>= 2.8.8)     ----> aqui as dependencias, se alguma comflitar ou faltar ele da erro e nao isntala
Conflicts: dolphin-emu, dolphin-emu-trunk             ----> aqui por exemplo, vc nao pode ter as duas versoes instaladas
Replaces: dolphin-emu, dolphin-emu-trunk                     ao mesmo tempo
Section: games                                                  ----> a sessao que ele vai aparecer no sistema
Priority: extra                                                    ----> prioridade que o aplicativo vai ser executado
Homepage: http://dolphin-emu.org/
Description: Gamecube, Wii and Triforce emulator
Dolphin is a Gamecube, Wii and Triforce (arcade machine based on the     ----> a descrição tem sempre que começar com um espaço e a
Gamecube) emulator.                                                                                mudança de linha tem que ter um . do contrario ele nao
.                                                                                                            cria o deb, as permissoes do arquivo tem que estar    
Games compatibility is very good: a lot of Gamecube and Wii titles work,          corretas tbm.
but the emulator might require a lot of processing power in order to run
some games at full speed.    

Com o nosso executavel ja estava compilado, pois compilamos na maquina virtual, foi so isntalar algumas dependencias na maquina real para ele funcionar, é um trabalho simples que eu fiz.

Vc pode compilar estaticamente o aplicativo, assim ele nao precisa de dependencias porque elas ja vao estar junto, mas isso e um pouco complicado de fazer, e nao me aventurei nisso, alem de ser mais dificil manter a compatibilidade e de ele gerar um pacote bem maior do que o original.

O arquivo md5suns e o ultimo que vc gera antes de empacotar, eu gero ele com o masshash, nele tem o md5 de todos os aquivos do pacote e localização. O pessoal do debian tem outros metodos de empacotamento, uma politica com arquivos de verificação como o lintian e outros, o que garante mais segurança, o pacote que eu criei e bem "caseiro" mesmo, tem tbm como vc desmantelar um pacote deb e ver a estrutura e bem insteressante, se vc olhar de perto é uma arquivo compactado ar sempre composto de tres partes, debian-binary
control.tar.gz  e data.tar.gz.

Para gerar o campo depends, as dependencias que o seu programa vai ter, vc pode fazer com o ldd;

       linux-vdso.so.1 =>  (0x00007fff0f793000)
   liblzo2.so.2 => /usr/lib/x86_64-linux-gnu/liblzo2.so.2 (0x00007f56fa4f6000)
   libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f56fa2df000)
   libsfml-network.so.1.6 => /usr/lib/libsfml-network.so.1.6 (0x00007f56fa0c6000)
   libgtk-x11-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 (0x00007f56f9a8c000)
   libopenal.so.1 => /usr/lib/x86_64-linux-gnu/libopenal.so.1 (0x00007f56f4836000)
   libSoundTouch.so.0 => /usr/lib/x86_64-linux-gnu/libSoundTouch.so.0 (0x00007f56f4628000)
   libpulse.so.0 => /usr/lib/x86_64-linux-gnu/libpulse.so.0 (0x00007f56f43e0000)
   libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f56f40db000)
   libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f56f3ddf000)
   libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007f56f3bd0000)
   libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f56f39b9000)
   libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f56f35f9000)
   libpangocairo-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 (0x00007f56f33ed000)
   libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f56f31e6000)
   libatk-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0 (0x00007f56f2fc4000)
   libcairo.so.2 => /usr/lib/x86_64-linux-gnu/libcairo.so.2 (0x00007f56f2d06000)
   libgdk_pixbuf-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x00007f56f2ae5000)
   libgio-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007f56f2796000)
   libpangoft2-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 (0x00007f56f256c000)
   libpango-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0 (0x00007f56f2322000)
   libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f56f20ec000)
   libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f56f1df7000)
   libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f56f1be5000)
   libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f56f19db000)
   libXinerama.so.1 => /usr/lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007f56f17d8000)
   libXcursor.so.1 => /usr/lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007f56f15cd000)
   libXcomposite.so.1 => /usr/lib/x86_64-linux-gnu/libXcomposite.so.1 (0x00007f56f13ca000)
   libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007f56f11c7000)
   libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f56f0fbe000)
   libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f56f0da0000)
   libpulse-simple.so.0 => /usr/lib/x86_64-linux-gnu/libpulse-simple.so.0 (0x00007f56f0b9b000)
   libcaca.so.0 => /usr/lib/x86_64-linux-gnu/libcaca.so.0 (0x00007f56f08d0000)
   /lib64/ld-linux-x86-64.so.2 (0x00007f56fa739000)
   libSM.so.6 => /usr/lib/x86_64-linux-gnu/libSM.so.6 (0x00007f56f06c8000)
   libjpeg.so.8 => /usr/lib/x86_64-linux-gnu/libjpeg.so.8 (0x00007f56f0477000)
   libtiff.so.4 => /usr/lib/x86_64-linux-gnu/libtiff.so.4 (0x00007f56f0213000)
   libjack.so.0 => /usr/lib/x86_64-linux-gnu/libjack.so.0 (0x00007f56effce000)
   libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007f56efdcc000)
   libxcb-dri2.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0 (0x00007f56efbc7000)
   libxcb-xfixes.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-xfixes.so.0 (0x00007f56ef9bf000)
   libwayland_ltsq-client.so.0 => /usr/lib/x86_64-linux-gnu/libwayland_ltsq-client.so.0 (0x00007f56ef7b4000)
   libwayland_ltsq-server.so.0 => /usr/lib/x86_64-linux-gnu/libwayland_ltsq-server.so.0 (0x00007f56ef5a4000)
   libgbm.so.1 => /usr/lib/x86_64-linux-gnu/libgbm.so.1 (0x00007f56ef39d000)
   libudev.so.0 => /lib/x86_64-linux-gnu/libudev.so.0 (0x00007f56ef190000)...............
   
Se vc reparar a primeira entrada é a uma biblioteca de interface com o kernel que sempre aparece.

Para localizar essas libs vc pode usar o apt-file search;

platao@platao-ubuntu:/usr/local/bin$ apt-file search libFLAC.so.8
libflac8: /usr/lib/x86_64-linux-gnu/libFLAC.so.8
libflac8: /usr/lib/x86_64-linux-gnu/libFLAC.so.8.2.0
platao@platao-ubuntu:/usr/local/bin$

Procurando somente a libflack8 por exemplo, as duas dependencias estao no mesmo pacote como vc pode ver. A versao da lib depende do desenvolvedor, da qual ele quis usar.

Depois que vc ja fez tudo, e so empacotar seu pacote caseiro com um dpkg -b nome do pacote, isso que expliquei aqui e bem superficial!!!, se alguem quiser fazer uma observação aqui sera bem vindo!!!

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

kenner

Esse emulador é mais leve que o do PSP?

Estou utilizando o Lubuntu 13.10 a instalação do .deb funcionaria normalmente ou seria necessário adicionar alguma PPA?

platao

Kenner esse tutorial e voltado apra o 12.04 como o seu linux e mais recente, vc pode pegar tanto a versao oficial quanto a compilação diaria aqui pronto para uso;

https://br.dolphin-emu.org/download/?cr=br


Isso nao impede que vc compile a sua propria versao!!!

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

kenner

Quais jogos você roda bem nesse emulador, e se possível quais suas specs?

Baixei ele aqui mas meu processador é muito fraco, ficou muito lento.

Sergio Benjamim

No mínimo teria que ter uma placa de vídeo discreta, não? Tipo Nvidia ou ATI? Intel aqui fica lento.

Aqui roda bem com core i7 4700hq, 8 GB ram, Nvidia GT 740M.

Jogo bastante o Zelda: The Wind Waker. E corrigiram um bug importante relacionado ao efeito de chamas, um tempo atrás, me atrapalhava um pouco na jogatina :)
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

kenner

Tenho uma hd6670.

O problema realmente e o processador, dual core 2.6 não roda muita coisa.

Sergio Benjamim

#9
No PPA do glennric tem tanto a versão estável como a versão em desenvolvimento (master) para o ubuntu 13.10. Estou dando uma olhada no empacotamento debian, para ver se é fácil de portar para o trusty. Segue o conteúdo do debian/control do dolphin-emu-master:


Source: dolphin-emu-master
Section: games
Priority: optional
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
XSBC-Original-Maintainer: Glenn Rice <glennricster@gmail.com>
Build-Depends:  debhelper (>= 7.0.50),
cmake,
libao-dev,
libasound2-dev,
libavcodec-dev,
libavformat-dev,
libbluetooth-dev,
libgtk2.0-dev,
liblzo2-dev,
libopenal-dev,
libpolarssl-dev (>= 1.3),
libpulse-dev,
libreadline6-dev,
libsdl2-dev,
libsfml-dev (>= 1.6),
libsoil-dev,
libsoundtouch-dev,
libswscale-dev,
libminiupnpc-dev (>= 1.7),
libwxbase2.9-dev,
libwxgtk2.9-dev,
libxext-dev,
libxrandr-dev,
lsb-release,
pkg-config,
portaudio19-dev,
wx2.9-headers,
zlib1g-dev
Standards-Version: 3.9.4
Homepage: http://www.dolphin-emu.com

Package: dolphin-emu-master
Architecture: i386 amd64
Depends: ${shlibs:Depends}, ${misc:Depends}
Conflicts: dolphin-emu, dolphin-emu-trunk
Replaces: dolphin-emu, dolphin-emu-trunk
Description: Gamecube, Wii and Triforce emulator
Dolphin is a Gamecube, Wii and Triforce (the arcade machine based on the
Gamecube) emulator.
.
Gamecube compatibility is okay - lots of games work, many games don't work.
.
Wii compatibility is also good - a lot of games do work. Wii emulation
generally requires a bit more computing power than Gamecube emulation, though.
.
Triforce compatibility is not really known yet, but at least one game runs,
with minor glitches.


Pelo que percebi, as dependências que darão problema no trusty são a libminiupnpc-dev (no repositório tem a versão 1.6-3ubuntu2, menor que o pedido), libwxbase2.9 (2.8.12.1+dfsg-2ubuntu2 no repo), libwxgtk2.9 (2.8.12.1+dfsg-2ubuntu2 no repo), wx2.9-headers (2.8.12.1+dfsg-2ubuntu2). O libpolarssl-dev não é problema, tem a versão 1.3.4-1 no trusty.

Pelo visto é preciso instalar o PPA do glennric, para poder fazer o pacote, mesmo aqui no trusty, esperava que tudo estivesse já atualizado. Talvez daqui algum tempo essas bibliotecas serão atualizadas, visto que elas fazem parte do Universe (o libminiupnpc-dev não, esse não tenho certeza se atualizam).

Outra coisa, em debian/compat, temos o número 7 ao invés do 9. Não sei se tem algum motivo especial, ou se esqueceram de atualizar isso. Pelo menos no vba-m atualizei isso, bem como o debhelper (>= 9). Esse debhelper no precise é 9 alguma coisa, não sei porque não atualizaram isso.

Outro detalhe é em relação ao libsfml-dev, no saucy temos a versão 1.6, no trusty a versão 2.1. Será que dá problema na hora da compilação? O control diz que pode ser usado um libsfml-dev >= 1.6, mas não sei se eles portaram o dolphin para essa nova biblioteca (veja isso). Talvez seja esse o motivo de não ter pacote para o trusty ainda.

Edit: Nossa cara, esses pacotes Wx nunca irão ser atualizados, haha. Tinha gente reclamando disso desde 2011. Mas eu acho que o motivo é que a versão 2.9 não é a versão estável, eles tem uma numeração parecida com o Gnome. Aqui, dá para ver isso, só o 2.8 e 3.0 são estáveis. O negócio é esperar, ou usar o PPA mesmo.

Edit2: Acabei de ver aqui, o wxWidgets 3.0 está disponível no trusty, no repo Universe. Provavelmente dá para compilar com ele, a compatibilidade com as últimas versões do 2.9 deve ser alta, talvez tenha que mudar uma coisa ou outra no código do dolphin?

Edit3: Building 4.0.2 with wx 3.0 - Parece que o wxWidgets usa o gtk3 no lugar do gtk2. Deve ter alguma atualização no branch master do git, ou ainda em algum fork, para compilar corretamente.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

platao

#10
As vezes eu tenho a impressao que os aplicativos que ja vem instalados no ubuntu sao todos atualizados comas ultimas bibliotecas, e logico para poder funcionar, mas a medida que vc vai se distanciando dos aplicativos dos repositorios começam a aparecer os problemas de compatibilidade com libs.

E por isso qeu eu demoro para mudar de versao do Ubuntu,tenho muita coisa isntalada aqui e funcionando bem se vc muda para o trusty vai ter que resolver alguns "pepinos" com aplicativos.

O pessoal do Dolphin esta lançando versoes para o 13.04 dos pacotes ainda, nao sei o que estao esperando, nao consegui descobrir o porque ainda(estou testando aqui o Cabrio http://www.cabrio-fe.org/ ) se sair para o 13.10 vai usar provavelmente as mesmas versoes libs com uma ou outra modificação.

O debhelper nao precisa ser necessariamante atualizado, mas e uma boa manter ele atualiado.

Citação de: Sergio Benjamim online 28 de Abril de 2014, 10:28

Outro detalhe é em relação ao libsfml-dev, no saucy temos a versão 1.6, no trusty a versão 2.1. Será que dá problema na hora da compilação? O control diz que pode ser usado um libsfml-dev >= 1.6, mas não sei se eles portaram o dolphin para essa nova biblioteca (veja isso). Talvez seja esse o motivo de não ter pacote para o trusty ainda.

Edit: Nossa cara, esses pacotes Wx nunca irão ser atualizados, haha. Tinha gente reclamando disso desde 2011. Mas eu acho que o motivo é que a versão 2.9 não é a versão estável, eles tem uma numeração parecida com o Gnome. Aqui, dá para ver isso, só o 2.8 e 3.0 são estáveis. O negócio é esperar, ou usar o PPA mesmo.

Edit2: Acabei de ver aqui, o wxWidgets 3.0 está disponível no trusty, no repo Universe. Provavelmente dá para compilar com ele, a compatibilidade com as últimas versões do 2.9 deve ser alta, talvez tenha que mudar uma coisa ou outra no código do dolphin?

Edit3: Building 4.0.2 with wx 3.0 - Parece que o wxWidgets usa o gtk3 no lugar do gtk2. Deve ter alguma atualização no branch master do git, ou ainda em algum fork, para compilar corretamente.

Provavelmente sim, mas eu tentaria compilar para ver no que da!!!.

No PPA do glendic so tem a versao 4.0?? eu lembro que para o precise era a 4.0 mas seria interessante uma versao mais nova para o trusty e nao a 4.0...

tem o SVN aqui;

http://ftp.dk.debian.org/getdeb/ubuntu/pool/games/d/dolphin-emu/

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

Sergio Benjamim

O svn desse link aí é bem antigo, de 2010.

O PPA do glennric tem a versão git do dolphin para o trusty, mas é a versão 1492, no site a versão disponível é a 1624.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

#12
Novo PPA do Dolphin, pacotes para o 12.04, 14.04 e 15.04 !!!

https://launchpad.net/~dolphin-emu/+archive/ubuntu/ppa

Há 3 pacotes:

-- dolphin-emu, é a última versão estável, 4.0.2, lançada à mais de um ano (32 e 64 bits)
-- dolphin-emu-master, versão de desenvolvimento, muitas novidades, confira aqui (somente 64 bits)
-- dolphin-emu-triforce, use essa para jogar jogos do Triforce (testei Mario Kart Arcade GP 2 até agora) (pode ser instalado junto ao dolphin-emu ou ao master)

Para adicionar o PPA pelo terminal:

sudo apt-add-repository ppa:dolphin-emu/ppa
sudo apt-get update


Para os usuários do 12.04 e 14.04, é preciso instalar um outro PPA antes de instalar o dolphin-emu-master:


sudo add-apt-repository ppa:dolphin-emu/gcc-for-dolphin
sudo apt-get update


Ao instalar o dolphin-emu-master, será atualizado o pacote libstdc++6 para a versão 4.9.2. Sendo um pacote essencial do sistema, use por sua conta e risco ;)
Não precisa atualizar todos pacotes, no Synaptic marque apenas o libstdc++6 para atualizar, e após atualizado desative o PPA (irá atualizar somente o libstdc++6, gcc-4.9-base e mais um ou outro pacote).


Obs: Se você usa o PPA do glenn rice, desative-o e desinstale o dolphin antes de instalar desse PPA.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

#13
Para quem quiser testar o Mario Kart Arcade GP 2 na versão triforce do dolphin, só seguir esse passo à passo:

-- Abrir o dolphin-emu-triforce, ir em Config, aba Geral, habilitar o Cheats (Enable Cheats)

-- Em Config --> aba GameCube, escolher AM-Baseboard em SP1 e Port 1

-- Abrir o seguinte novo arquivo:

gedit ~/.dolphin-emu-triforce/GameSettings/GGPE02.ini
Ou usar outro editor, como leafpad, geany...

e copiar e colar o seguinte:


[OnFrame]
$99 credits
0x80690AC0:dword:0x00000063
$DVDInquiry Patchok
0x80286388:dword:0x3C602100
0x8028638C:dword:0x4E800020
$Ignore CMD Encryption
0x80285CD0:dword:0x93A30008
0x80285CD4:dword:0x93C3000C
0x80285CD8:dword:0x93E30010
$Disable CARD
0x80073BF4:dword:0x98650023
0x80073C10:dword:0x98650023
$Disable CAM
0x80073BD8:dword:0x98650025
$Seat Loop patch
0x800BE10C:dword:0x4800002C
$Stuck loop patch
0x8002E100:dword:0x60000000
$60times Loop patch
0x8028B5D4:dword:0x60000000
$GameTestMode Patch
0x8002E340:dword:0x60000000
0x8002E34C:dword:0x60000000
$SeatLoopPatch
0x80084FC4:dword:0x4800000C
0x80085000:dword:0x60000000
$Voice Off
0x801B6510:dword:0x38800000
[OnFrame_Enabled]
$99 credits
$DVDInquiry Patchok
$Ignore CMD Encryption
$Disable CARD
$Disable CAM
$Seat Loop patch
$Stuck loop patch
$60times Loop patch
$GameTestMode Patch
$SeatLoopPatch
$Voice Off



-- Selecionar a pasta de roms em Config --> Paths, e partir para a jogatina :)




Referências:

https://wiki.dolphin-emu.org/index.php?title=Mario_Kart_Arcade_GP_2
https://forums.dolphin-emu.org/Thread-triforce-mario-kart-arcade-gp-2
https://forums.dolphin-emu.org/Thread-triforce-mario-kart-arcade-gp-2?pid=307863#pid307863

Obs: Esse fork do Triforce é baseado numa versão antiga do dolphin, 4.0-315 e não mexem nesse fork à mais de um ano, e está sujeito à alguns problemas. A emulação do triforce não é totalmente acurada e depende de um monte de hacks. O dolphin-emu-master não roda triforce justamente pela qualidade duvidosa do código necessário para emular o sistema.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

Dá para emular aquele recurso de usar um game boy advance como controle em alguns games, como no Zelda Four Swords Adventures. O dolphin acaba usando o vba-m pra emular o gba :), ou até mesmo o higan.

No vídeo à seguir, 2 pessoas jogando esse jogo, uma tela central (do game cube), e duas telinhas representando o game boy advance:

Four Swords Misadventures - Youtube

Não sei como faz para configurar ainda, nem sei se esse recurso está no master do github ou algum fork.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !