GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Wann werden die Sdl 1.3-Bibliotheken verfügbar sein (Implementierung von Force Feedback) oder wie werden sie kompiliert?

Ich möchte SDL Force Feedback für meinen Joystick verwenden und es auf dolphin-emu verwenden .

Ich benötige die 1.3 SDL-Bibliotheken und nur 1.2 sind verfügbar. Ich habe versucht, sie zu bauen, aber ohne Erfolg.

Kann jemand helfen?

Akzeptierte Antwort:

Das Beste, was Sie tun können, ist, den neuesten stabilen Quellcode von SDL 1.2 zu patchen und mit SDL1.2 eine Art Force-Feedback-Effekt zu erhalten. Dies ist eine vorläufige Maßnahme, bis die nächste stabile Version von sdl herauskommt, könnte aber für Ihre Zwecke akzeptabel sein.

Es ist jedoch am besten, Ihre kompilierte Version in /opt zu installieren und nicht in Pfadpositionen wie /usr oder /usr/local . Dabei können Sie immer noch die originale libsdl1.2debian behalten und rufen Sie Ihre kompilierte Version nur mit LD_LIBRARY_PATH auf (siehe spätere Erklärung).

Holen Sie sich zuerst die Abhängigkeiten mit

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

Für build-dep Um zu funktionieren, gehen Sie zu den Softwarequellen und aktivieren Sie den Quellcode, indem Sie das Kontrollkästchen aktivieren. Führen Sie dann sudo apt-get update aus und alle build-dep Befehle sollten funktionieren.

Die vollständige Liste der Abhängigkeiten mit weiteren Informationen zur Kompilierung finden Sie hier.

Laden Sie jetzt den SDL-Quellcode herunter und extrahieren Sie ihn, laden Sie dann den Patch von icculus.org herunter, extrahieren Sie den Patch und verschieben Sie ihn in den SDL-Quellcodeordner und führen Sie in diesem Ordner Folgendes aus:

patch -p1 < sdl_1.2-haptic.diff

Führen Sie als Nächstes

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

Es ist nicht notwendig, --enable-haptic hinzuzufügen (Haptik ist der Begriff für Force Feedback), da der Patch dies hätte ermöglichen sollen. Mehr zur Haptik gibt es hier und hier.

Um es in /opt zu installieren (oder der mit configure angegebene Ort), führen Sie sudo checkinstall aus aus demselben Ordner.

Um diese Version von sdl zu verwenden, müssen Sie Ihr Spiel in einem Wrapper wie diesem ausführen:

#!/bin/bash

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

Um zu überprüfen, ob die richtige SDL-Version geladen wird, führen Sie im Terminal

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

und führen Sie dann ldd aus bei einem Spiel, von dem Sie wissen, dass es sdl verwendet:

ldd /usr/local/bin/rott

was Ihnen zeigt, dass es Ihr kompiliertes SDL verwendet:

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

Die Force-Feedback-Effekte variieren stark und sind manchmal überhaupt nicht vorhanden, aber dies ist im Moment die einzige Möglichkeit, einige Effekte zu erzielen. Es wird berichtet, dass es mit dem Open-Source-Port von Freespace2 funktioniert , FreespaceOpen , wie dieser Beitrag zeigt, in Bezug auf Linux-basierte Systeme (nicht Mac OS X, wie es suggeriert).

Verwandte:Partitionen für Ubuntu und Windows 7 Dual Boot auf Ssd + Hdd Setup in Ubuntu?
Ubuntu
  1. So finden Sie heraus, welche ausführbaren Dateien der dynamischen Bibliotheken beim Ausführen geladen werden

  2. Debian – Wie können wir vorhersagen, wann die nächste Debian-Veröffentlichung erscheinen wird?

  3. Ubuntu – Wie kann man den Laptop in den Ruhezustand versetzen, wenn er einen niedrigen Batterieschwellenwert erreicht?

  4. So stellen Sie eine Monitorauflösung ein, die im Dialogfeld "Anzeigeeinstellungen" nicht verfügbar ist

  5. Wann wird die kommende Ubuntu-Version verfügbar sein?

Wie man einen Kernel kompiliert – Der Debian-Weg

Wie listet man die verfügbaren Farbnamen auf?

Wie zeige ich ASCII-Kunst oben im Terminal, wenn es geöffnet ist?

Die Größe der Fenster wird nicht geändert, wenn ich sie nach oben oder an die Seite des Bildschirms ziehe?

Wie führe ich eine .sh-Datei aus, wenn die Sitzung beginnt?

Wie installiert man die Terminal-App auf einem Ubuntu-Telefon?