GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Quando saranno disponibili le librerie Sdl 1.3 (implementando il Force Feedback) o come compilarle?

Voglio usare sdl force feedback per il mio joystick e usarlo su dolphin-emu .

Ho bisogno delle librerie 1.3 sdl e solo 1.2 sono disponibili. Ho provato a costruirli, ma senza fortuna.

Qualcuno può aiutare?

Risposta accettata:

La cosa migliore da fare è correggere il codice sorgente sdl 1.2 stabile più recente e ottenere una sorta di effetto force feedback con sdl1.2. Questa è una misura provvisoria fino all'uscita della prossima versione stabile di sdl, ma potrebbe essere accettabile per i tuoi scopi.

Tuttavia, è meglio installare la tua versione compilata in /opt e non in percorsi come /usr o /usr/local . In questo modo puoi ancora mantenere l'originale libsdl1.2debian e chiama solo la tua versione compilata usando LD_LIBRARY_PATH (vedi spiegazione successiva).

Innanzitutto, ottieni le dipendenze con

sudo apt-get build-dep libsdl1.2
sudo apt-get install build-essential checkinstall

Per build-dep per funzionare, vai alle sorgenti software e abilita il codice sorgente selezionando la casella. Quindi esegui sudo apt-get update e qualsiasi build-dep i comandi dovrebbero funzionare.

L'elenco completo delle dipendenze è elencato qui con ulteriori informazioni sulla compilazione.

Ora, scarica il codice sorgente sdl ed estrailo, quindi scarica la patch da icculus.org, estrai la patch e spostala nella cartella del codice sorgente sdl, e da quella cartella esegui:

patch -p1 < sdl_1.2-haptic.diff

Quindi, esegui

./configure --prefix=/opt/sdl-1.2 && make

Non è necessario aggiungere --enable-haptic (haptic è il termine usato per force feedback), poiché la patch dovrebbe averlo abilitato. Maggiori informazioni sull'aptico sono disponibili qui e qui.

Per installarlo in /opt (o il luogo specificato con configure), esegui sudo checkinstall dalla stessa cartella.

Per utilizzare questa versione di sdl, devi eseguire il gioco in un wrapper come questo:

#!/bin/bash

export LD_LIBRARY_PATH=/opt/sdl-1.2/lib:$LD_LIBRARY_PATH
cd /game/folder
game
exit 0

Per verificare che venga caricata la versione sdl corretta, esegui nel terminale

export LD_LIBRARY_PATH=/opt/sdl-1.2/lib:$LD_LIBRARY_PATH

e quindi esegui ldd su un gioco che conosci usa sdl:

ldd /usr/local/bin/rott

che ti mostra che sta usando il tuo sdl compilato:

libSDL-1.2.so.0 => /opt/sdl-1.2/lib/libSDL-1.2.so.0 (0xb7695000)

Gli effetti del feedback di forza variano notevolmente e talvolta potrebbero non essere affatto presenti, ma questo è l'unico modo per ottenere alcuni effetti al momento. Si dice che funzioni con il port open source di Freespace2 , FreespaceOpen , come mostra questo post relativo ai sistemi basati su Linux (non Mac OS X come suggerisce).

Correlati:Partizioni per Ubuntu e Windows 7 Dual Boot su Ssd + Installazione HDD in Ubuntu?
Ubuntu
  1. Come eseguire un equivalente di `head -z` quando non ho l'opzione `-z` disponibile?

  2. Debian:come prevedere quando uscirà la prossima versione di Debian?

  3. Quali miniature aggiuntive sono disponibili e come installarle?

  4. Come riavviare/ricaricare Apache quando non è possibile determinare il nome di dominio?

  5. Come funzionerà Deja-dup durante il backup su un'unità USB esterna?

Come compilare un kernel - Il modo Debian

Come elencare i nomi dei colori disponibili?

Come mostrare Ascii Art nella parte superiore del terminal quando è aperto?

Come eseguire un file .sh all'inizio della sessione?

Come si installa l'app Terminal su un telefono Ubuntu?

Come reindirizzare l'output di un comando a un file quando il comando richiederà gli input dell'utente?