Quiero usar sdl force feedback para mi joystick y usarlo en dolphin-emu
.
Necesito las bibliotecas 1.3 sdl y solo 1.2 están disponibles. Traté de construirlos, pero sin suerte.
¿Alguien puede ayudar?
Respuesta aceptada:
Lo mejor que puede hacer es parchear el código fuente sdl 1.2 estable más reciente y obtener algún tipo de efecto de retroalimentación de fuerza con sdl1.2. Esta es una medida provisional hasta que salga la próxima versión estable de sdl, pero podría ser aceptable para sus propósitos.
Sin embargo, es mejor instalar su versión compilada en /opt
y no en ubicaciones de rutas como /usr
o /usr/local
. Por lo tanto, aún puede conservar el libsdl1.2debian
original y solo llame a su versión compilada usando LD_LIBRARY_PATH
(ver explicación posterior).
Primero, obtenga las dependencias con
sudo apt-get build-dep libsdl1.2
sudo apt-get install build-essential checkinstall
Para build-dep
para trabajar, vaya a las fuentes de software y habilite el código fuente marcando la casilla. Luego ejecuta sudo apt-get update
y cualquier build-dep
los comandos deberían funcionar.
La lista completa de dependencias se incluye aquí con más información sobre la compilación.
Ahora, descargue el código fuente de sdl y extráigalo, luego descargue el parche de icculus.org, extraiga el parche y muévalo a la carpeta del código fuente de sdl, y desde esa carpeta ejecute:
patch -p1 < sdl_1.2-haptic.diff
A continuación, ejecuta
./configure --prefix=/opt/sdl-1.2 && make
No es necesario agregar --enable-haptic
(háptico es el término utilizado para la retroalimentación de fuerza), ya que el parche debería haberlo habilitado. Más información sobre la háptica está disponible aquí y aquí.
Para instalarlo en /opt
(o el lugar especificado con configure), ejecute sudo checkinstall
de la misma carpeta.
Para usar esta versión de sdl, debes ejecutar tu juego en un contenedor como este:
#!/bin/bash
export LD_LIBRARY_PATH=/opt/sdl-1.2/lib:$LD_LIBRARY_PATH
cd /game/folder
game
exit 0
Para comprobar que se está cargando la versión correcta de sdl, ejecútelo en la terminal
export LD_LIBRARY_PATH=/opt/sdl-1.2/lib:$LD_LIBRARY_PATH
y luego ejecute ldd
en un juego que conoces usa sdl:
ldd /usr/local/bin/rott
lo que muestra que está usando su sdl compilado:
libSDL-1.2.so.0 => /opt/sdl-1.2/lib/libSDL-1.2.so.0 (0xb7695000)
Los efectos de Force Feedback variarán mucho y, en ocasiones, es posible que no estén presentes en absoluto, pero esta es la única forma de obtener algunos efectos en este momento. Se informa que funciona con el puerto de código abierto de Freespace2
, FreespaceOpen
, como muestra esta publicación en relación con los sistemas basados en Linux (no Mac OS X como sugiere).