Когда будут доступны библиотеки sdl 1.3 (с обратной связью) или как их скомпилировать?

Я хочу использовать обратную связь по силе для моего джойстика и использовать его на dolphin-emu.

Мне нужны библиотеки 1.3 sdl, и доступны только 1.2. Я пытался их построить, но безуспешно.

Кто-нибудь может помочь?

1
задан 2 January 2013 в 23:30

1 ответ

Лучше всего сделать исправление самого последнего стабильного исходного кода 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, как предлагается).

0
ответ дан 2 January 2013 в 23:30

Другие вопросы по тегам:

Похожие вопросы: