Kega-Fusion - Jogando Mega-Drive no Ubuntu 11.04/11.10/12.04 64bit

Iniciado por platao, 14 de Setembro de 2011, 21:59

tópico anterior - próximo tópico

Sergio Benjamim

#45
Platao, consegui resolver o problema de interface gráfica do Gens-GS. Bastou instalar o gtk-engines-murrine para 32 bits, agora ele está de acordo com o sistema. Experimentei abrir o Gens-GS pelo terminal, e aparecia essa mensagem:

Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine"

Bastou procurar na internet, e achei a resposta para o problema. O ia32-libs provavelmente instalava esse pacote por padrão:

sudo apt-get install --reinstall gtk2-engines-murrine:i386


OBS: Também estava dando outro warning:

Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap"

Procurei na net e parece que esse erro está relacionado ao pacote gtk2-engines-pixbuf, logo:

sudo apt-get install --reinstall gtk2-engines-pixbuf:i386

Mas mesmo com esse warning, tava funcionando legal. Bom, instalei por desencargo de consciência.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !


Sergio Benjamim

#47
Esse problema de tema quebrado no Gens-GS foi resolvido, entrei em contato com o GetDeb e me responderam. Hoje fui ver as atualizações do sistema, e o Gens estava entre elas. Agora o gtk2-engines-murrine:i386 e gtk2-engines-pixbuf:i386 são dependências do pacote gens-gs. Muito legal!

Platao, existe algum responsável pelo Kega ainda? Creio que esses pacotes não sejam dependência dele, lembro que dava o mesmo problema com ele. Nossa, esqueci que não há .deb para ele, é no .tar.gz mesmo.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

#48
Fui tentar rodar o Kega aqui no Xubuntu 13.10, deu esse problema:

./Fusion: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory

Achei algo relacionado aqui: http://forums.linuxmint.com/viewtopic.php?t=97457&p=755023

O libglu1-mesa estava instalado aqui no sistema, mas não o de 32 bits (i386). Logo:

sudo apt-get install libglu1-mesa:i386

Agora está rodando!

Detalhe: quem estiver usando o Bumblebee para suporte à tecnologia Optimus da Nvidia, é preciso rodar o primusrun ou optirun -b prime antes de rodar o Kega.

---

Achei outro problema para rodá-lo, o som simplesmente não funcionava, mesmo eu tentando habilitar pelo menu Sound --> Disable Sound. Achei algo em: http://ubuntuforums.org/showthread.php?t=1329747. Basta ir na pasta de configuração do Kega (.Kega Fusion no seu diretório pessoal, arquivo Fusion.ini) e alterar a linha:

ALSADeviceName=plughw

para:

ALSADeviceName=default

Pode alterar o SoundDisabled=1 para 0 também, quando abrir o emulador ele já vai estar com som.

---

Mais outro problema: as músicas dos jogos de Sega CD não estavam rodando. Parece que o libmpg123.so.0 mudou de local, no Fusion.ini alterei a linha:

libmpg123path=/usr/local/lib/libmpg123.so

para:

libmpg123path=/usr/lib/i386-linux-gnu/libmpg123.so.0

O pacote libmpg123-0:i386 precisa estar instalado no sistema:

sudo apt-get install libmpg123-0:i386

---

Platao, no total são 4 pacotes que são necessários para o Kega funcionar corretamente no Ubuntu 13.10 (a lembrar: libglu1-mesa:i386, libmpg123-0:i386, gtk2-engines-murrine:i386 e gtk2-engines-pixbuf:i386, fora as configurações no Fusion.ini). Você pode atualizar o procedimento de instalação aqui no tópico?
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

platao

Grande dica Sergio!!! coloquei la no post principal. O problema e que tive que deletar algumas linhas do post original antigo, porque aqui no forum so pode haver 20000 caracteres por post, é o limite.

Entao encaixei o seu post la :), obrigado pelo tutorial!!! Aqui sempre instalo no 12.04 pelo repositorio do Ubuntu games la do coringao, que e quem ajuda a manter o Ubuntu games, inclusive se vc quiser aprender sobre empacotamento pode falar com ele, atravez das redes sociais ou do forum ubuntugames, vcs podem fazer uma sessao e ele te passa algumas dicas!!!

Inclusive ele e quem empacota o kega para a comunidade em .deb....

Ando muito ocupado por aqui...com muito pepino para descascar!!!

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

platao

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

platao

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

Sergio Benjamim

Fui tentar rodar o Kega Fusion no 14.04 64 bits, como não há mais aquele ia32-libs, resolvi verificar exatamente quais são as dependências dele. Pelo que parece, são essas 8:

Citar* libglu1-mesa:i386
* libsm6:i386
* libgtk2.0-0:i386
* libasound2:i386
* libasound2-plugins:i386
* libmpg123-0:i386
* gtk2-engines-murrine:i386
* gtk2-engines-pixbuf:i386

Pelo menos condiz com o pacote do Arch Linux. Um detalhe é esse libmpg123-0:i386, lá eles não usam a biblioteca do sistema, o pacote usa uma versão anterior, libmpg123.so.0.11.4, daí eles jogam esse arquivo em uma das pastas kega fusion lá no sistema, no caso /usr/lib/kega-fusion/. No ubuntu a biblioteca se chama libmpg123.so.0.38.4. Será que dá problema usar a mais recente? Teria que testar. Com a antiga está funcionando muito bem aqui.

Para instalar esses pacotes em um sistema de 64 bits, precisa primeiro liberar os pacotes de 32 bits no sistema:

sudo dpkg --add-architecture i386
sudo apt-get update


E aí é só instalar as dependências do Kega Fusion:

sudo apt-get install libglu1-mesa:i386 libsm6:i386 libgtk2.0-0:i386 libasound2:i386 libasound2-plugins:i386 libmpg123-0:i386
sudo apt-get install --reinstall gtk2-engines-murrine:i386 gtk2-engines-pixbuf:i386


Se você usa o ubuntu 14.04 32 bits ou superior, é só usar o apt-get install direto:

sudo apt-get install libglu1-mesa libsm6 libgtk2.0-0 libasound2 libasound2-plugins libmpg123-0 gtk2-engines-murrine gtk2-engines-pixbuf

---

Platao, sugiro atualizar o título do tópico, aqui no meu 14.04 funcionou.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

O pessoal do Arch Linux usam um Fusion.ini no próprio pacote deles, em conjunto com um script maroto para chamar o kega:

ALSADeviceName=default
libmpg123path=/usr/lib/kega-fusion/libmpg123.so.0.11.4
AlternateTiming=3
SoundDisabled=0

Fusion.ini

#!/bin/sh

kega_libdir="/usr/lib/kega-fusion"
kega_sharedir="/usr/share/kega-fusion"
kega_localdir="$HOME/.Kega Fusion"

# create local plugins directory if not present
mkdir -p "$kega_localdir/Plugins"

# create links for every included plugin
if [ $(ls -1A $kega_libdir/plugins | wc -l) -gt 0 ]; then
  for i in $kega_libdir/plugins/*; do
    ln -sf "$i" "$kega_localdir/Plugins/$(basename "$i")"
  done
fi

# copy configuration file if not present
if ! [ -f "$kega_localdir/Fusion.ini" ]; then
  cp $kega_sharedir/Fusion.ini "$kega_localdir"
fi

# here we go!
$kega_libdir/Fusion "$@"

kega-fusion.sh

Eles renomeiam esse kega-fusion.sh para kega-fusion e jogam lá em /usr/bin. O que o script faz basicamente é copiar o Fusion.ini do sistema, que está em /usr/share/kega-fusion/Fusion.ini, para a sua pasta de usuário, se não houver o arquivo já existente em ~/.Kega Fusion. E também copia os plugins para sua pasta local.

Muito espertinho eles.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

Processador chegando fácil aos 90 °C rodando uma rom do mega drive. E é um core i7 ainda...

Ele era assim?
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

platao

No topico ha menção desse consumo excessivo de processamento veja se resolve;

"Pelo menos aqui no meu notebook notei um problema de consumo excessivo de processamento com o Kega, para resolver e interessante ficar de olho no monitor do sistema e marcar ou desmarcar as opçoes Use Alternate Timing e Sleep While Waiting que o processamento caira drasticamente.

Outro detathe e que o Kega-fusion, quando rodando, faz uso intensivo do sistema de som nao deixando qualquer outro processo ou aplicativo usar a placa de som, portanto se vc receber a notificação por exemplo, de que algum de seus contatos entrou no messenger ou iniciar o Banshee com o Kega rodando nao havera som algum nesses aplicativos.

Nesse caso vc tera problemas por exemplo, em ver videos em flash, como no You-tube direto no navegador com o emulador rodando, o Fusion "crasha" o Firefox aqui nos testes.

O contrario tbm e verdadeiro, se vc tem o Banshee tocando e iniciar o Kega o emulador vai ficar marcado como "mudo" e vai rodar sem audio ate que o player seja desligado."
\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997

Sergio Benjamim

#56
Caramba, habilitei o Sleep While Waiting, a temperatura reduziu de 90 para 50 °C   :o :o :o

Nem lembrei que já conversamos à respeito.

Mas parece que o vídeo não fica fluido. Provavelmente se deve ao window compositor padrão do Xubuntu 14.04.

Olha a documentação:


SLEEP WHILE WAITING - Normally, when Fusion has finished rendering a frame
it will begin waiting until it's time to start rendering the next one. The
timing required here is very precise. Because during this time Fusion is
not completely inactive (it's constantly saying 'Are we there yet?') this
results in a high CPU usage measured in the Windows Task Manager. This is
not a problem, Fusion will give time up to other applications that need
it - still, some people don't seem to like, or understand, this.
SLEEP WHILE WAITING means that Fusion will instead go to sleep at the end
of rendering a frame, giving much lower CPU usage measurements. But do
understand that if you enable this feature, it is not possible to get the
precise timing needed, and Fusion *can not* wake up in time to render the
next frame. The frame rate will be 'choppy' at best. I leave it up to you
to decide which you prefer.


Esse emulador vai cair no esquecimento se o Steve não retomar o desenvolvimento dele...
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

#57
Fiz um pacote .deb para o kega, segue o link para download:

kega-fusion_3.63-2_i386.deb

Se for instalar em sistema de 64 bits, vai ter que rodar os seguintes comandos antes de tentar instalar:

sudo dpkg --add-architecture i386
sudo apt-get update


Após isso, dê duplo clique no pacote, vai abrir pela Central de Programas, se o seu sistema não tem nenhum pacote de 32 bits, pode ser que demore um pouco a instalação (vai baixar uns 38 MB só de libs 32 bits).

Se algo der errado:

cd ~/local-do-download
sudo dpkg -i kega-fusion_3.63-2_i386.deb



Eu usei o que tinha no AUR do Arch Linux como base, então ele vai aparecer no menu de programas com um ícone inclusive, e quando você abrir o Kega na primeira vez, já vai abrir configurado com plugins (scale2x, hqx4...), áudio habilitado e o caminho do libmpg123 configurado (usado nos jogos do Sega CD). Se precisar da documentação, como o History ou Readme, está em /usr/share/doc/kega/fusion/.

É só carregar uma rom e sair jogando ;)

---

Edit: Pacote atualizado, 2 novos plugins e a opção "Sleep While Waiting" habilitada por padrão, para o Kega consumir menos CPU.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

O pessoal do Eidolon's Inn atualizou a página de download, agora tem o pacote .deb do Kega Fusion :)

http://www.carpeludum.com/kega-fusion/
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

platao

Heeheh boa!!! Vc ajudou a galera a fazer o pacote Sergiovisk ; ) ? quem tomou a iniciativa? vi que eles mudaram o forum tbm!!

PS: Foi vc né!!! ahhaha Baixei o seu pacote, parabens!!!
\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997