Je veux utiliser le retour de force sdl pour mon joystick et l'utiliser sur dolphin-emu
.
J'ai besoin des bibliothèques 1.3 sdl et seules les 1.2 sont disponibles. J'ai essayé de les construire, mais sans succès.
Quelqu'un peut-il aider ?
Réponse acceptée :
La meilleure chose à faire est de patcher le code source sdl 1.2 stable le plus récent et d'obtenir une sorte d'effets de retour de force avec sdl1.2. Il s'agit d'une mesure provisoire jusqu'à la sortie de la prochaine version stable de sdl, mais cela pourrait être acceptable pour vos besoins.
Cependant, il est préférable d'installer votre version compilée dans /opt
et non dans des emplacements de chemin tels que /usr
ou /usr/local
. Ainsi, vous pouvez toujours conserver l'original libsdl1.2debian
et appelez uniquement votre version compilée en utilisant LD_LIBRARY_PATH
(voir explication plus loin).
Tout d'abord, récupérez les dépendances avec
sudo apt-get build-dep libsdl1.2
sudo apt-get install build-essential checkinstall
Pour build-dep
pour fonctionner, accédez aux sources du logiciel et activez le code source en cochant la case. Ensuite, exécutez sudo apt-get update
et tout build-dep
les commandes devraient fonctionner.
La liste complète des dépendances est répertoriée ici avec de plus amples informations sur la compilation.
Maintenant, téléchargez le code source sdl et extrayez-le, puis téléchargez le correctif depuis icculus.org, extrayez le correctif et déplacez-le dans le dossier du code source sdl, et à partir de ce dossier, exécutez :
patch -p1 < sdl_1.2-haptic.diff
Ensuite, lancez
./configure --prefix=/opt/sdl-1.2 && make
Il n'est pas nécessaire d'ajouter --enable-haptic
(haptique est le terme utilisé pour le retour de force), car le patch aurait dû le permettre. Plus d'informations sur l'haptique sont disponibles ici et ici.
Pour l'installer dans /opt
(ou l'endroit spécifié avec configure), exécutez sudo checkinstall
du même dossier.
Pour utiliser cette version de sdl, vous devez exécuter votre jeu dans un wrapper comme celui-ci :
#!/bin/bash
export LD_LIBRARY_PATH=/opt/sdl-1.2/lib:$LD_LIBRARY_PATH
cd /game/folder
game
exit 0
Pour vérifier que la bonne version de sdl est en cours de chargement, exécutez-la dans le terminal
export LD_LIBRARY_PATH=/opt/sdl-1.2/lib:$LD_LIBRARY_PATH
puis exécutez ldd
sur un jeu dont vous savez qu'il utilise sdl :
ldd /usr/local/bin/rott
qui vous montre qu'il utilise votre sdl compilé :
libSDL-1.2.so.0 => /opt/sdl-1.2/lib/libSDL-1.2.so.0 (0xb7695000)
Les effets de retour de force varient considérablement et peuvent parfois ne pas être présents du tout, mais c'est à peu près le seul moyen d'obtenir certains effets pour le moment. Il est signalé qu'il fonctionne avec le port open source de Freespace2
, FreespaceOpen
, comme le montre cet article concernant les systèmes basés sur Linux (et non Mac OS X comme il le suggère).