DosBox, ScummVM et SDL + fbcon
-
Bonjour à tous, Cela fait quelques jours que je teste le portage de Dosbox sur Recalbox. Je commence enfin à obtenir des résultats. Le problème le plus long à résoudre fut d'éviter un écran noir au lancement. Apparemment, il s'agirait d'un problème de la librairie SDL avec le mode fbcon comme expliqué ici: https://github.com/raspberrypi/firmware/issues/354 J'ai donc appliqué le patch de "pssc" à SDL 1.2.15 et cela résout le problème ! De même, j'ai suivi l'explication suivante pour activer la recompilation dynamique: https://www.raspberrypi.org/forums/viewtopic.php?f=78&t=95421 Les premiers tests de Benchmark (réalisés avec TopBench) semblent concluants, selon la configuration de cycles choisie, mon RPI2 sans overclock se fait passer pour : - cycles=auto => 386 DX 40 - cycles = max => instable ... change constamment - cycles = 10000 => 486DX4 - 150 Mhz - cycles = 13310 => Pentium - 266 Mhz Et je crois qu'il y a encore moyen de pousser puisque Dosbox n'utilise pas encore tout le processeur (entre 15 et 30% selon le programme lancé). De plus, le patch SDL permet aussi d'utiliser la version standard de ScummVM au lieu de la version "vanfanel". Ce qui apporte quelques avantages: - choix du filtre graphique: http://wiki.scummvm.org/index.php/User_Manual/Appendix:_Graphic_filters - meilleure résolution et plus de lisibilité pour les menus, clavier virtuel, ... - me semble plus rapide, mais à confirmer Voilà ... je continue de tester tout cela !
-
Salut Laurent, Tes travaux m'interesse fortement mais tout me paraît confus. Comment patcher SDL? Comment installer la version standard de ScummVM? Si tu as un petit tuto, je suis prenneur! Merci d'avance!
-
Salut, Pour modifier la librairie SDL, il va falloir mettre les mains dans le cambouis. Car il est nécessaire de recompiler Recalbox ! Je te conseille de commencer par lire la section expliquant comment compiler Recalbox: https://github.com/recalbox/recalbox-os/wiki/Compilation-&-Modifications-(FR) La procédure est la suivante: Juste après avoir réaliser le git clone, tu devras ajouter les fichiers de l'archive suivante aux sources RecalBox: https://www.belgacomcloud.be/?shareObject=40a57871-c35d-1025-b7d9-15df84accb28 Ceci permet de patcher SDL (modification du fichier SDL_fbvideo.c) et d'ajouter le package dosbox. Après l'appel à "make recalbox-${arch}-defconfig", il faut exécuter "make menuconfig" puis sélectionner "dosbox" et remplacer "scummvm gls port vanfanel" par "scummvm" dans Target packages > Recalbox > Emulators. Après tu compiles comme expliqué dans la procédure. Ensuite, soit tu installes ta carte SD ou, si tu veux juste mettre à jour un système existant, le plus simple est de remplacer/ajouter les fichiers suivants du répertoire compilé "output/target" vers ton raspberry: - usr/lib/libSDL-1.2.so.0.11.4 - usr/bin/scummvm - usr/bin/dosbox Fais bien un backup des fichiers originaux avant ... on ne sait jamais ! C'est tout ... la librairie SDL est patchée, tu as l'exécutable DosBox (pas encore dans EmulationStation) et un ScummVM original. Chez moi, tout semble fonctionner mais c'est sans garantie ! De plus, la version de DosBox est optimisée uniquement pour rpi2. N'ayant pas de pi1, je n'ai rien fait pour ce matériel. Bon courage ...
-
Merci! Je vais tenter la recompil!
-
@lmerckx alors là ton patch fbcon m'intéresse terriblement ! Parce que dosbox, j'ai réussi à le faire marcher avec le patch SDL1 de vanfannel, mais gros gros gros problème sur le (double ?) buffr video. Typiquement, on ne peut pas accéder au mapping du clavier. Donc je testerai ca après la beta de la v4 sûrement. On a aussi un vrai sushi clavier dosbox, mais je crois que c'est propre à recalbox.
-
Salut subs, J'ai vérifié et mon lien ci-dessus est toujours valable: https://www.belgacomcloud.be/?shareObject=40a57871-c35d-1025-b7d9-15df84accb28 Tu y trouveras un recalbox-changes.tgz qui contient : - le patch pour le package SDL1 - le package buildroot pour dosbox ... celui-ci contient aussi un patch pour corriger les problèmes clavier J'ai encore un problème sur l'écran du mapper qui est bleu foncé sur fond noir (pas très lisible mais tout à fait utilisable). Je l'utilise pour exécuter des programmes tels que : - Prehistorik 1 - Prehistorik 2 - Rick Dangerous - Sim city 2000 - X-wing tourne pas mal en absolu mais n'est pas assez fluide pour un bon pilotage Laurent.
-
@lmerckx quand tu as ce genre de modif, il ne faut pas hésiter à venir nous en parler directement (mp, irc, issue, etc...) ou faire une pull request sur le github. Nous étions totalement passé à coté de celà Merci à toi
-
@lmerckx rhaaaaaaa le clavier c'était un des derniers trucs qui nous cassait sérieusement les noix avec dosbox ! Nous reste la vraie mise à l'échelle de l'écran, à tester avec ton package après tout 1 question cela dit : tu es parti de la 0.74 de dosbox ? Tu n'as pas été plus loin dans les commits ?
-
Ok, j'y penserai la prochaine fois. Si vous voulez, j'ai aussi le thème "PC" pour zoid et simple, avec musique, et le "emulatorLauncher" qui supporte le lancement de dosbox (pour la v3, je n'ai pas encore testé/adapté pour 4). En gros, il faut un répertoire par jeu avec l'extension ".pc" (ex: simcity2000.pc). Celui-ci doit au moins contenir un fichier "dosbox.bat" qui lancera le jeu.Il est aussi possible de définir un dosbox.cfg, qui override certaines propriétés de la configuration par défaut.
-
@Subs: je suis parti de la version 0.74 SVN (mais je pense que c'est une version stable - elle ne comprend pas les toutes dernière modifs). Je peux toujours tenté de prendre une plus récente. Pour la mise à l'échelle de l'écran, je n'ai rien du faire de particulier, cela tourne d'office en fullscreen avec SDL1 fbcon.
-
Pour dosbox, un tutoriel d'installation est en cours d'écriture, cela vous permettra de voir tous les choses que la compilation et le lancement de dosbox requiert. Il me manque quelques packages a finir, sdl_sounds et sdl_ttf. Cela bloque surtout parce que je ne sais pas faire un ./configure avant le make en buildroot. N'importe comment corriger sdl et toute sa famille sera une nécessité pour intégrer de futur émulateurs a recalbox. Que ce soit Dosbox, Openbor et autres, .... Sinon il y a un package fonctionnel pour libretro-dosbox qui permet de jouer au jeu textuel. Ce qui était déjà pas mal. Et rpix86 pour recalbox qui fait tourner presque tous les jeux de ta liste (un doute pour xwing).
-
@Florian j'ai l'impression que tu n'as pas compris ce que laurent a dit ... Il a compilé dosbox, préparé le package, a résolu les problèmes que moi j'ai eu jusque là. On attend juste son package (ou tout du moins je testerai le sien, mais là trop pris par la beta), pas envie de leecher son boulot je trouve ca malhonnête. Ta remarque sur buildroot : si ton package est bien fait, le ./configure est fait d'office, à aucun moment tu ne dois le faire manuellement ou même le solliciter dans ton package. Lis la doc de buildroot rpix86 on t'a déjà dit que c'était exclu. L'as tu seulement lancé sur recalbox ? quand ca te dit que ca ne trouve pas libX11.so.6, tu comptes compiler tout un serveur X pour le faire marcher ? parce que partir à la peche des .so a droite a gauche ca n'est pas véritablement une solution ... Donc restons raisonnables sur les fonctionnalités supplémentaires de recalbox tu veux bien ?
-
Alors je viens de regarder la doc officiel et je vois qu'il y a bien d'autres dépendances que sdl. Doc pour compiler dosbox à part si vous lui emputez de ces fonctionnalités. J'ai juste un sentiment bizarre, la version libretro à des besoins des sdl_gfx que j'ai pas retrouver ici. Maintenant buildroot, tu crois vraiment que tu est le seul au monde à savoir qu'il y a une doc pour buildroot. Et je te laisse y regarder l'article 8.12.5 et surtout le 17.5.2. Et pour rpix86, je sais même pas quoi te répondre. C'est un message sûrement écris trop vite. Donc pour éviter les débordements disons qu'il n'existe pas et en plus c'est un sujet dosbox, je fais juste un rappelle pour dire qu'il y a une solution pour jouer au jeu dos sur recalbox. Et puis définition du mot leecher aussi. Wikipedia PS: j'ai écrit 10 fois ce messages et même si la meilleur solution était de ne pas y répondre. Je prend quand même le choix d'y répondre. Sinon Laurent j'essaye juste de t'aider en évitant de refaire des trucs que de mon côté j'ai déjà fait. Et pour subs, intégrer dosbox et dosbox_libretro sont des choses différente. Enfin je dois sûrement me tromper.
-
Bonjour Laurent, J'ai à priori le même problème avec le portage de linapple (Emulateur Apple II). As-tu modifié le package buildroot de SDL pour appliquer le patch et l'as-tu publié sur recalbox-buildroot, ou comptes-tu le faire ? En tout cas, un grand merci pour ton post, tu m'évites une grosse migraine.
-
J'ai fait le PR hier (mais j'ai vu que tu l'avais vu) ... Pas de problème, je me suis tapé la migraine avant toi ... et si on peut éviter des dépenses pharmaceutiques !