Suite à mon passage sur fedora 64 bits, j'en profite pour créer un post pour recenser les problèmes rencontrés sous linux avec les émulateurs thomson.
Certains possèdent un makefile qu'il faut modifier, d'autres rencontrent des problèmes divers. En espérant que cela puisse aider certains.
Pour résoudre les problèmes de son liés à /dev/dsp introuvable et pulseaudio :
Certains emulateurs utilisent /dev/dsp pour le son mais avec pulse audio, ce dernier n'est plus présent. résultat plus de son sur les émulateurs.
La solution très simple consiste à utiliser padsp , qui est un wrapper. Pour l'utiliser avec vos émulateurs (pas forcément thomson), faire
padsp ./votreprogramme
et voilà le son reviens .
Ou de créer un petit lanceur
Exemple pour thom,
créer un fichier gothom.sh avec
padsp ./thom
puis faire chmod 755 gothom.sh.
Pour la compilation des différentes émulateurs, certains ont placé l'option -W -Werror, enlevez là car même si elle est sensée elle peut bloquer la compilation (les warnings sont considérés comme des erreurs).
J'utilise souvent le parametre -m=native pour compiler pour mon processeur, supprimez là si vous voulez compiler pour que cela soit compatible quelque soit le type de processeur
Emulateur Thom :
Recompilation avec succès en modifiant le makefile :
Code : Tout sélectionner
#ifdef PGCC
# OFLAGS = -mcpu=pentium -O6 -ffast-math
#else
#ifdef PENTIUMONLY
# OFLAGS = -march=pentium -O2 -funroll-loops -ffast-math
#else
OFLAGS = -march=native -O2 -pipe -fomit-frame-pointer -ffast-math
#endif
#endif
Code : Tout sélectionner
OFLAGS = -march=native -O2 -pipe -fomit-frame-pointer -ffast-math
Dans le makefile.lnx,
supprimer les -W et -WERROR
Modifier la ligne contenant OGFLAGS :
OFLAGS = -march=native -pipe -O2 -fomit-frame-pointer
Et voila beaucoup de warnings mais ça compile et fonctionne.
Teo 1.7.6 et Teo 1.8.2
Modifier le makefile comme j'ai indiqué dans le poste
http://forum.system-cfg.com/viewtopic.php?f=24&t=4611
Edit : Apres test, la version 1.8.2 fonctionne très bien. Afin d'éviter tout bug d'affichage il est primordial d'utiliser un gestionnaire de fenêtre proposant un mode composite et s'assurer qu il soit activé (gnome3, kde.., xfce, unity peut être).
si ce n'est pas le cas, Installer compton (léger) ,xcompmgr (plus ancien), ou compiz règlera le soucis.
voir http://doc.ubuntu-fr.org/xcompmgr
ou encore https://wiki.archlinux.org/index.php/Compton
Pour la version 1.7.6 modifier en plus le fichier main.h dans include/linux à la ligne 59, et virer le mot static car il semblerait que gcc 4.x ne l'aime pas.
Emuto8
En cours de patch. Apparemment il semblerait que le problème en plus du makefile se situe dans le fichier video.h. l'incrementation de pointeur dans les define poserait des problèmes :
Code : Tout sélectionner
#define PUTPIXEL_BPP2(ptr, data) *(tt_u16 *)ptr++ = data
Code : Tout sélectionner
erreur: lvalue required as increment operand
Je suis donc en investigation pour ce dernier.
Je vous invite à partager les problèmes rencontrés sous linux, et les solutions trouvées
bonne soirée.