Я хочу использовать обратную связь по силе для моего джойстика и использовать его на dolphin-emu
.
Мне нужны библиотеки 1.3 sdl, и доступны только 1.2. Я пытался их построить, но безуспешно.
Кто-нибудь может помочь?
Лучше всего сделать исправление самого последнего стабильного исходного кода sdl 1.2 и получить некоторый эффект обратной связи по силе с sdl1.2. Это временная мера, пока не выйдет следующая стабильная версия sdl, но она может быть приемлемой для ваших целей.
Однако лучше установить скомпилированную версию в /opt
, а не в пути, такие как /usr
или /usr/local
. Таким образом, вы все равно можете сохранить оригинал libsdl1.2debian
и вызывать только скомпилированную версию, используя LD_LIBRARY_PATH
(см. Дальнейшее объяснение).
Во-первых, получите зависимости с помощью
sudo apt-get build-dep libsdl1.2
sudo apt-get install build-essential checkinstall
Для работы build-dep
перейдите к источникам программного обеспечения и включите исходный код, установив флажок. Затем запустите sudo apt-get update
и все команды build-dep
должны работать.
Полный список зависимостей приведен здесь здесь с дополнительной информацией о компиляции.
Теперь загрузите исходный код sdl и распакуйте его, затем загрузите исправление с icculus.org , извлеките исправление и переместите его в папку исходного кода sdl из этой папки запустите:
patch -p1 < sdl_1.2-haptic.diff
Далее запустите
./configure --prefix=/opt/sdl-1.2 && make
Нет необходимости добавлять --enable-haptic
(haptic - это термин, используемый для обратной связи по силе), так как патч должен включили это. Больше на тактильном доступно здесь и здесь .
Чтобы установить его в /opt
(или в место, указанное с помощью configure), запустите sudo checkinstall
из той же папки.
Чтобы использовать эту версию sdl, вам нужно запустить свою игру в обёртке, например:
#!/bin/bash
export LD_LIBRARY_PATH=/opt/sdl-1.2/lib:$LD_LIBRARY_PATH
cd /game/folder
game
exit 0
Чтобы проверить, загружается ли правильная версия sdl, запустите в терминале
export LD_LIBRARY_PATH=/opt/sdl-1.2/lib:$LD_LIBRARY_PATH
, а затем запустите ldd
в игре, которую вы знаете, использует sdl:
ldd /usr/local/bin/rott
, которая показывает, что вы используете ваш скомпилированный sdl:
libSDL-1.2.so.0 => /opt/sdl-1.2/lib/libSDL-1.2.so.0 (0xb7695000)
Эффект обратной связи по силе будет сильно различаются, а иногда могут и вовсе не присутствовать, но в данный момент это единственный способ получить некоторые эффекты. Сообщается, что он работает с портом с открытым исходным кодом из Freespace2
, FreespaceOpen
, как в этом посте показывает, относящееся к системам на основе Linux (не Mac OS X, как предлагается).