Última versão do VBA-M

Iniciado por Sergio Benjamim, 20 de Março de 2014, 17:50

tópico anterior - próximo tópico

Sergio Benjamim

Humm, blz, vou tentar, valeu!

No meu notebook estou usando o ubuntu 13.10, mas em outro desktop o xubuntu 14.04. Vou testar em uma máquina virtual para tentar isolar o problema.

Esse comando com env só afeta o usuário logado né? Teria que procurar uma solução mais abrangente, de preferência na hora da instalação.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

Estou jogando Kingdom Hearts: Chain of Memories, recomendo! :D
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

platao

Outra coisa a se levar em consideração, e que nesse aplicativo as vezes(eu nao olhei ainda) é usado o gtk2.0 e houve uma migração do 2.0 pra o gtk3.0 e ha incompatibilidades entre as versoes, vc lembra do ia 32libs? entao, ate ele se tornar o multiarquitetura houve um periodo de transição meio confuso. Se a aplicação e antiga ela usa o 2.0 ainda e o 14.04 usa o gtk3.0 se nao me engano, mas tudo isso e preliminar.

O negocio e tentar entender, se vc tem um game boy para poder ver ele funcionando como ele lida com os games, se tem slowdon em algum game, a estrutura do sistema como e montada, coisas que so o hardware original pode oferecer, para conhecer o emulador vc tem que dar uma olhada no que o desenvolvedor focou o desenvolvimento, se e para ele ser compativel e ter fidelidade na emulação ou se e para ter rapidez na emulação com varios workarrouns, e compilar ele para a sua maquina e ver o que acontece, talvez no 12.04 e posteriormente no 14.04 apra ver se ha alguma diferença.

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

platao

#18
O comando que passei so afeta aquela aplicação, na verdade nao afeta nada, e so um comando que vai dizer para o sistema rodar aquele aplicativo com aquele determinado argumento, mais nada, mas tem que ver certinho se e isso mesmo. Se vc quiser compilar ele no 12.04 que usa algumas coisas mais antigas tbm e bom pra testar.

Me passa depois alguma coisa documentação para podermos ver, links inportantes, para nao perder tempo refazendo o que ja foi feito. Se o problema for simples podemos ate resolver mas se for mais complexo entao, mesmo que vc for um entusiasta...vc pode chegar ate certo ponto..depois, so tendo um conhecimento mais aprofundado, entao e recomendado entrar em contato com os desenvolvedores e tentar entender.
\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997

Sergio Benjamim

Esse comando não deu certo no 13.10. Os menus continuam no painel.


sergio@sergio-X750JB:~/.config/gvbam$ env UBUNTU_MENUPROXY=/usr/bin/gvbam
XDG_VTNR=7
LC_PAPER=fr_FR.UTF-8
SSH_AGENT_PID=2263
LC_ADDRESS=fr_FR.UTF-8
UNITY_LOW_GFX_MODE=1
XDG_SESSION_ID=c2
LC_MONETARY=fr_FR.UTF-8
CLUTTER_IM_MODULE=xim
SESSION=ubuntu
GPG_AGENT_INFO=/run/user/1000/keyring-Qk9dFM/gpg:0:1
TERM=xterm
VTE_VERSION=3406
XDG_MENU_PREFIX=gnome-
SHELL=/bin/bash
WINDOWID=79699972
LC_NUMERIC=fr_FR.UTF-8
UPSTART_SESSION=unix:abstract=/com/ubuntu/upstart-session/1000/2189
GNOME_KEYRING_CONTROL=/run/user/1000/keyring-Qk9dFM
GTK_MODULES=overlay-scrollbar:unity-gtk-module
USER=sergio
LC_TELEPHONE=fr_FR.UTF-8
DEBEMAIL=sergio_br2@yahoo.com.br
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
SSH_AUTH_SOCK=/run/user/1000/keyring-Qk9dFM/ssh
DEFAULTS_PATH=/usr/share/gconf/ubuntu.default.path
SESSION_MANAGER=local/sergio-X750JB:@/tmp/.ICE-unix/2349,unix/sergio-X750JB:/tmp/.ICE-unix/2349
XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg
DESKTOP_SESSION=ubuntu
PATH=/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
LC_IDENTIFICATION=fr_FR.UTF-8
PWD=/home/sergio/.config/gvbam
JOB=dbus
XMODIFIERS=@im=ibus
GNOME_KEYRING_PID=2184
LANG=en_US.UTF-8
GDM_LANG=en_US
MANDATORY_PATH=/usr/share/gconf/ubuntu.mandatory.path
LC_MEASUREMENT=fr_FR.UTF-8
UBUNTU_MENUPROXY=/usr/bin/gvbam
COMPIZ_CONFIG_PROFILE=ubuntu
IM_CONFIG_PHASE=1
GDMSESSION=ubuntu
SESSIONTYPE=gnome-session
SHLVL=1
HOME=/home/sergio
XDG_SEAT=seat0
LANGUAGE=en_US:en
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
UPSTART_INSTANCE=
UPSTART_EVENTS=started xsession
LOGNAME=sergio
COMPIZ_BIN_PATH=/usr/bin/
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-iWAE9PBL81
XDG_DATA_DIRS=/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/
QT4_IM_MODULE=xim
DEBFULLNAME=Sérgio Benjamim
INSTANCE=
TEXTDOMAIN=im-config
UPSTART_JOB=gnome-session
XDG_RUNTIME_DIR=/run/user/1000
DISPLAY=:0.0
XDG_CURRENT_DESKTOP=Unity
GTK_IM_MODULE=ibus
LC_TIME=fr_FR.UTF-8
TEXTDOMAINDIR=/usr/share/locale/
LC_NAME=fr_FR.UTF-8
XAUTHORITY=/home/sergio/.Xauthority
COLORTERM=gnome-terminal
_=/usr/bin/env
OLDPWD=/home/sergio/Projects/lp/fixes


Era para aparecer isso tudo no terminal?
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

Testei no Xubuntu 14.04, os menus estão OK. Inclusive, o Open --> Recent está funcionando de acordo. Esqueci de falar antes, mas no 13.10 aparece uma lista que não tem relação com as últimas ROM's.

O problema está mesmo nesse menu bizarro do Unity. No 14.04 (unity), a aparência dos menus do Load e Save State está igual ao do 13.10. Mas com um agravante:

- Abra um jogo, salve o jogo no primeiro slot (menu Emulation --> Save state --> 1)
- Salve em outro ponto do jogo, no segundo slot (ou outro)
- Tente carregar o 1º state (menu Emulation --> Load state --> 1), você vai notar que o emulador não irá carregar
- Movimente a janela ou alterne para outra janela (Alt + Tab), e volte, você vai notar que o emulador carregou o state que você tentou carregar anteriormente

Bizarro.

Eu tentei desativar o global menu pelo Unity (novo recurso dele), e o menu foi parar na janela. Pensei que ia ficar como antigamente, mas o menu fica junto da barra da janela (do lado dos botões de minimizar e fechar). E o erro continua.

Ao menos não está dando crash ao fechar, e a configuração está mantendo.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

Citação de: platao online 23 de Março de 2014, 11:04
Outra coisa a se levar em consideração, e que nesse aplicativo as vezes(eu nao olhei ainda) é usado o gtk2.0 e houve uma migração do 2.0 pra o gtk3.0 e ha incompatibilidades entre as versoes, vc lembra do ia 32libs? entao, ate ele se tornar o multiarquitetura houve um periodo de transição meio confuso. Se a aplicação e antiga ela usa o 2.0 ainda e o 14.04 usa o gtk3.0 se nao me engano, mas tudo isso e preliminar.

Ele continua usando o gtk2.

Citação de: platao online 23 de Março de 2014, 11:04
O negocio e tentar entender, se vc tem um game boy para poder ver ele funcionando como ele lida com os games, se tem slowdon em algum game, a estrutura do sistema como e montada, coisas que so o hardware original pode oferecer, para conhecer o emulador vc tem que dar uma olhada no que o desenvolvedor focou o desenvolvimento, se e para ele ser compativel e ter fidelidade na emulação ou se e para ter rapidez na emulação com varios workarrouns, e compilar ele para a sua maquina e ver o que acontece, talvez no 12.04 e posteriormente no 14.04 apra ver se ha alguma diferença.

Eu tinha um game boy advance SP, mas quebrou. Vou tentar comprar outro (os europeus rodam os jogos americanos?). Seria bacana para comparar.

Em relação à emulação do GBA, pelo que percebo, é bem fiel. Nunca peguei um jogo que desse problema na emulação (comparando com outros mais problemáticos, como o Dolphin ou o Yabause).

Os problemas que encontrei residem no front-end, no unity.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

Você falou da documentação, acho que o que podemos encontrar está nos links que postei lá no começo. Tem alguma coisa no fórum do VBA-M. Estou usando o canal do IRC também, #vba-m. No sourceforge é possível ver os bugs abertos e patches, bem como pedidos de recursos.

Tem alguma coisa na pasta doc/

As modificações feitas por mim estão registradas no meu branch do launchpad. Para baixar o código (precisa instalar o bzr):

bzr branch lp:~sergio-br2/vbam/fixes

A comunidade do Arch Linux andou mexendo um pouco também, veja:

https://www.archlinux.org/packages/community/x86_64/vbam-gtk/
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

#23
Consegui fazer funcionar bem no ubuntu 14.04 (unity):

sudo -H gedit /usr/share/applications/gvbam.desktop

Troquei o:

Exec= gvbam %f

Por:

Exec=env UBUNTU_MENUPROXY= gvbam %f

Ou ainda:

Exec=env UBUNTU_MENUPROXY=0 gvbam %f

Repare que tem um espaço entre o = e gvbam. Esqueci de colocar esse espaço anteriomente, por isso não funcionou.

Tinha que passar esse problema para o upstream (unity), mas não sei por onde começar (tinha que reportar usando um programa gtk2 oficial dos repo, com mesmo problema).

---

E não está perdendo as configurações também. Como é que um problema no menu pode afetar as configurações do emulador?

---

Será que dá problema usar esse argumento em outros desktops? Testei no Xfce, não deu problema.

Se não der problema, daria para modificar o src/gtk/gvbam.desktop.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

platao

#24
Citação de: Sergio Benjamim online 23 de Março de 2014, 23:16
Testei no Xubuntu 14.04, os menus estão OK. Inclusive, o Open --> Recent está funcionando de acordo. Esqueci de falar antes, mas no 13.10 aparece uma lista que não tem relação com as últimas ROM's.

O problema está mesmo nesse menu bizarro do Unity. No 14.04 (unity), a aparência dos menus do Load e Save State está igual ao do 13.10. Mas com um agravante:

- Abra um jogo, salve o jogo no primeiro slot (menu Emulation --> Save state --> 1)
- Salve em outro ponto do jogo, no segundo slot (ou outro)
- Tente carregar o 1º state (menu Emulation --> Load state --> 1), você vai notar que o emulador não irá carregar
- Movimente a janela ou alterne para outra janela (Alt + Tab), e volte, você vai notar que o emulador carregou o state que você tentou carregar anteriormente

Bizarro.

Eu tentei desativar o global menu pelo Unity (novo recurso dele), e o menu foi parar na janela. Pensei que ia ficar como antigamente, mas o menu fica junto da barra da janela (do lado dos botões de minimizar e fechar). E o erro continua.

Ao menos não está dando crash ao fechar, e a configuração está mantendo.

Entao, e provavel que o erro esteja no Ubuntu mesmo, no menu global, que nao esta conseguindo lidar com os menus, mais ou menos o que eu sugeri anteriormente como sendo o problema. As aplicaçoes gtk 2.0 antigas as vezes dao problema com o menu global, isso e fato, ja vi varias vezes esse erro no snes9x, no kega e outros emuladores antigos e aplicativos como Firefox e Crome tbm.

Vc como ja deve ter pecebido esta atuando como um desenvolvedor da aplicação, e para isso vc percebeu que e sempre bom ter alguns sistemas prontos(Ubuntu12.04,Ubuntu14.04,Xubuntu), instalados, seja em maquina virtual, seja uma instalação no HD em outra partição para testar como o aplicativo se comporta em interfaces diferentes, com e sem compiz, com e sem menu global, isso e importante tbm.

A melhor coisa quando vc tem esses problemas e testar em outra interface que nao use o compiz e que nao use o menu global por padrao(nao sei se o xubuntu usa) para ver se o erro e na aplicação ou no sistema.

Para os companheiros que nao sabem do que esta sendo falado aqui, o menu global e o menu integrado na barra como esse exemplo;

http://1.bp.blogspot.com/-x0NJk6DYGbU/T5kwmr-NWdI/AAAAAAAAIwA/2It-jL3BrJE/s1600/libreoffice-global-menu.png

Em vez de o menu tradicional que vc encontra por exemplo no Mint ou no antigo Ubuntu 10.04.

http://1.bp.blogspot.com/_lh7jyvHkwS4/Sw6kQhEiUSI/AAAAAAAAAmA/jATbTnnTSng/s1600/wasp+theme+ubuntu+10.04.png

Os amigos reparem que o menu fica na janela da aplciaçao em um espaço reservado.

Faz todo sentido Sergio dar esses problemas que vc esta relatando, porque toda vez que vc faz alguma alteração nas preferencias do programa ele tenta salvar imediatamente ou posteriormente quando vc fecha a aplicação no arquivo de controle do programa, geralmente oculto na home.

Como o programa fica confuso com os menus, o maximo que ele vai salvar e o que ja estava sendo reproduzido anteriormente, chegando as vezes ate a travar, crashar mesmo. Por isso que e bom vc testar o pacote em varios Ubuntu's diferentes e com outras interfaces, se por exemplo vc nao conseguir acertar o problema, vc pode tentar acertar para uma versao especifica do Ubuntu, muitos programas acontecem isso, por exemplo, pegue um programa de terceiros do Ubuntu e isntalale no Xubuntu, tem sempre uma chance de ter alguma funcionalidade comprometida, o que e o caso que estamos vendo aqui, entao nesse caso se nao conseguir acertar, vc tera que optar por fazer o pacote para aquela versao especifica do Ubuntu.

Vc pode tentar de duas maneiras,

- Usar uma forma de burlar os menus, fazendo a aplicação nao usar o menu global, usar o menu da janela com o env UBUNTU_MENUPROXY=.

- Ou reportar no launchpad um bug e esperar a correção

- Ou as duas coisas ; ), fazer o pacote com o atalho env UBUNTU_MENUPROXY= e reportar o bug, nao acho que vai dar problema porque o env UBUNTU_MENUPROXY= e um recurso do proprio sistema, nao vai alterar em nada, e ele so vale apra aquela aplicação, no caso o VBA-M as outras aplciaçoes permanecem padrao, usando o menu global.

Citação de: Sergio Benjamim online 24 de Março de 2014, 08:37
Consegui fazer funcionar bem no ubuntu 14.04 (unity):

sudo -H gedit /usr/share/applications/gvbam.desktop

Troquei o:

Exec= gvbam %f

Por:

Exec=env UBUNTU_MENUPROXY= gvbam %f

Ou ainda:

Exec=env UBUNTU_MENUPROXY=0 gvbam %f

Repare que tem um espaço entre o = e gvbam. Esqueci de colocar esse espaço anteriomente, por isso não funcionou.

Tinha que passar esse problema para o upstream (unity), mas não sei por onde começar (tinha que reportar usando um programa gtk2 oficial dos repo, com mesmo problema).

---

E não está perdendo as configurações também. Como é que um problema no menu pode afetar as configurações do emulador?

---

Será que dá problema usar esse argumento em outros desktops? Testei no Xfce, não deu problema.

Se não der problema, daria para modificar o src/gtk/gvbam.desktop.

E isso mesmo vc vai empacotar ele com o atalho ja no menu de inicialização do aplicativo, ou seja, no gvbam.desktop vc vai fazer a alteração, so testa bastante antes de empacotar e enviar para o launchpad para depois nao ter que ficar tendo trabalho extra para arrumar.

Um programa que tem esse defeito dos menus sao varios, snes9x ate pouco tempo atras tinha esse problema e foi acertado, entao se vc puder entra em contato com o desenvolvedor que ele pode te passar mais detalhes.

Tem ate na documentação oficial esse workarround e varios problemas relatados com o menu global;

https://wiki.ubuntu.com/DesktopExperienceTeam/ApplicationMenu  (da uma olhada no final da pagina)

Se vc quiser relatar o bug da uma olhada aqui tbm;

https://bugs.launchpad.net/indicator-appmenu

https://launchpad.net/~jorge

No final da pagina tem onde vc pode ancontrar ajuda e relatar o bug.

Converse com o mantenedor do VBA-M e veja se ele esta disposto a acertar o erro, muitas vezes eles esperam que outro programador possa ajudar a resolver os problemas que ele esta tendo e nao consegue, quando entra uma pessoa com pouco menos de conhecimento(noob) e compicado ele ter que explicar tudo(muita coisa vc nao vai entender) para chegar no ponto em que ele esta parado, entao na verdade, eles gostam de pessoas que vao ajudar nas soluçoes e nao ficar fazendo perguntas ehehehe ; ) Entao pode ser isso o mau humor dele ; ) embora eles tbm gostem de pessoas interessadas no que esta sendo desenvolvido, essa e minha opiniao, apenas.

estou terminando de ler tudo e que vc escreveu.
\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997

Sergio Benjamim

Engraçado, não estou conseguindo reproduzir o problema de perda de configuração no 14.04, mesmo sem o workaround do env. Será que só dá esse problema no 13.10 ? Testarei isso quando chegar em casa.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

platao

Como vc sabe o 14.04 e diferente do 13.04 e 13.10 que usam so o menu global, agora os menus no 14.04 aparecem tanto na janela quanto no menu global.

http://www.webupd8.org/2014/02/ubuntu-1404-gets-locally-integrated.html

Porem, isso nao significa que mesmo o menu estando na janela sera como no Ubuntu 10.04.
\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997

Sergio Benjamim

Consegui reproduzir, mas está mais difícil. Ontem estava acontecendo à todo momento.

Esse problema é do emulador mesmo. Abra no gedit o arquivo .config/gvbam/config, abra o emulador e feche, o Gedit vai acusar que o arquivo foi modificado, mesmo que esteja 100% igual. O emulador deve alterar o arquivo ao abrir ou ao fechar, mesmo que você não altere as opções.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

platao

Sera que isso e um bug? Nao estou certo disso, varias aplicacoes tem esse comportamento, so se ele estiver com erros depois que vc salva alguma coisa, ao rodar novamente o emu, dar erro ai pode ser problema mesmo.....
\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997

Sergio Benjamim

Citação de: platao online 24 de Março de 2014, 13:54
Sera que isso e um bug? Nao estou certo disso, varias aplicacoes tem esse comportamento, so se ele estiver com erros depois que vc salva alguma coisa, ao rodar novamente o emu, dar erro ai pode ser problema mesmo.....

Então, não é exatamente um bug esse comportamento, mas acho que seria mais esperado ele alterar o config somente quando você alterasse algo. Pude confirmar aqui, ele salva ao fechar mesmo.

Mas tem algo a mais aí, que pode estar relacionado ao ubuntu. Por algum motivo ele não está fechando corretamente, e altera o config, como vc falou.

O apport acusou de novo um bug, o mesmo SIGSEV in malloc_consolidate().
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !