Instalacja FFB-Bridge
FFB-Bridge jest dostępny jako samodzielny instalator dla Windows, plik AppImage dla systemu Linux i obraz DMG dla macOS (Apple Silicon). Wszystkie trzy zawierają środowisko działania .NET 10. W przypadku obsługiwanych joysticków USB force feedback w nowoczesnych systemach Windows, Linux lub macOS nie trzeba pobierać żadnego sterownika.
Zanim zaczniesz
Potrzebujesz:
- Obsługiwany sprzęt obejmuje MOZA AB6, AB9, AY90, AY210; Microsoft SideWinder Force Feedback 2; Logitech G940, Force 3D Pro i WingMan Force 3D; obsługiwane urządzenia DirectX firmy Brunner oraz wybrane adaptery SideWinder Force Feedback Pro. Możliwości i dowody z testów fizycznych różnią się w zależności od konkretnego modelu i platformy. Zanim uznasz, że dana funkcja jest potwierdzona, zajrzyj do przewodnika po sprzęcie. Kwalifikujące się joysticki spoza listy wymagają włączenia opcji eksperymentalnej. strona sprzętu.
- Obsługiwany symulator: Microsoft Flight Simulator 2024, Microsoft Flight Simulator 2020, X-Plane 11 lub X-Plane 12. DCS, Prepar3D i wcześniejsze wersje Flight Simulator nie są obsługiwane. W systemie macOS obsługiwany jest tylko X-Plane — MSFS łączy się tylko w systemach Windows i Linux.
- Jeden z systemów:
- Windows 11.
- Dowolna współczesna dystrybucja systemu Linux z
evdev— czyli praktycznie każda popularna dystrybucja desktopowa. - macOS na komputerach z Apple Silicon (M1 lub nowszy), z X-Plane i obsługiwanym urządzeniem. Komputery Mac z procesorami Intel nie są obsługiwane. Potwierdzenia działania i ograniczenia dla konkretnych modeli znajdziesz w przewodniku po sprzęcie.
Instalacje w systemie Windows i spakowane instalacje AppImage w systemie Linux mogą po twojej zgodzie pobrać, zweryfikować i zainstalować aktualizację, a następnie uruchomić aplikację ponownie. W systemie macOS aktualizacje są sprawdzane automatycznie, a aplikacja otwiera podpisany plik do pobrania.
Windows Instalator
Pobieranie
Po zarejestrowaniu się na stronie głównej, wyślemy ci e-mailem link do pobrania z tokenem. Kliknij link do instalatora dla Windows, aby zapisać plik ffb-bridge-setup-1.6.0-x64.exe (54 MB)
Uruchomienie instalatora
Kliknij dwukrotnie instalator. Zobaczysz kreator Inno Setup, a w przypadku zupełnie nowych podpisanych kompilacji Windows może też wyświetlić ostrzeżenie SmartScreen dotyczące reputacji:
- Sprawdzenie wydawcy. Instalator dla Windows jest podpisany cyfrowo tożsamością wydawcy Rohsam. Zanim przejdziesz dalej, upewnij się, że Windows wyświetla Rohsam Inc. lub RohsamInc jako wydawcę.
- Ostrzeżenie SmartScreen dotyczące reputacji. Nowe podpisane kompilacje mogą nadal być oznaczane jako nierozpoznane, dopóki ten konkretny plik nie zyska historii pobrań. Jeśli źródłem jest ffb-bridge.com, skrót (hash) się zgadza, a wydawcą jest Rohsam, kliknij Więcej informacji, a następnie Uruchom mimo to.
- Język instalatora. Instalator najpierw pyta o swój język i wstępnie wybiera język wyświetlania systemu Windows. Każdy ekran instalatora jest dostępny we wszystkich szesnastu językach interfejsu aplikacji, w tym w kanadyjskiej odmianie francuskiego. Licencja i informacje o komponentach innych firm pozostają w języku oryginału.
- Kreator instalacji Inno Setup. Kliknij
Dalej na obu stronach. Domyślna lokalizacja instalacji to
%LOCALAPPDATA%\Programs\ffb-bridge— instalacja dla bieżącego użytkownika, bez uprawnień administratora.
Jeśli używasz systemu Windows 11 z funkcją Inteligentna kontrola aplikacji (SAC) włączoną w trybie aktywnym, Windows może nadal blokować zupełnie nową podpisaną kompilację, dopóki nie zyska ona reputacji. Podpis kodu potwierdza tożsamość wydawcy Rohsam; nie gwarantuje jednak, że każdy nowy skrót (hash) pliku ma reputację SmartScreen lub SAC od pierwszego dnia.
Oficjalne wskazówki firmy Microsoft opisują działanie Inteligentnej kontroli aplikacji oraz miejsce, w którym możesz przejrzeć jej ustawienia (Ustawienia → Prywatność i zabezpieczenia → Zabezpieczenia Windows → Kontrola aplikacji i przeglądarki → Ustawienia Inteligentnej kontroli aplikacji):
Microsoft: często zadawane pytania dotyczące Inteligentnej kontroli aplikacji
Jeśli SAC całkowicie blokuje nową kompilację na twoim komputerze, poczekaj, aż kompilacja zyska reputację, albo użyj innego urządzenia z systemem Windows, na którym możesz zweryfikować podpis Rohsam i podjąć świadomą decyzję.
Uruchamianie
Skrót w menu Start o nazwie FFB-Bridge trafia do grupy programów FFB-Bridge. Możesz też bezpośrednio uruchomić plik
%LOCALAPPDATA%\Programs\ffb-bridge\FfbBridge.Desktop.exe.
Niektóre programy antywirusowe oznaczają nowe pliki wykonywalne lub pliki o niskiej reputacji. Jeśli twój program od razu przenosi instalator do kwarantanny (a nie tylko ostrzega), wyślij e-mailem oznaczoną próbkę na adres
support·ffb-bridge.com (replace the ·
with an @) so we can investigate.
Odinstalowywanie
Otwórz Aplikacje i funkcje w Ustawieniach systemu Windows, wyszukaj FFB-Bridge, a następnie wybierz Odinstaluj. Twoje profile i preferencje w folderze
%APPDATA%\ffb-bridge pozostają na miejscu, więc ponowna instalacja znów z nich skorzysta; jeśli chcesz zacząć od zera, usuń ten folder ręcznie.
Linux AppImage
Pobieranie
Taki sam proces rejestracji jak w przypadku systemu Windows — kliknij link dla systemu Linux w wiadomości e-mail, a otrzymasz plik AppImage z numerem wersji, np.
FfbBridge-1.6.0-x86_64.AppImage.
Nadanie uprawnień wykonywania i instalacja
Pliki AppImage muszą mieć ustawiony bit wykonywalności, zanim system Linux je uruchomi. Następnie plik AppImage programu FFB-Bridge może sam zainstalować się w katalogach XDG pulpitu twojego konta użytkownika:
chmod +x 'FfbBridge-1.6.0-x86_64.AppImage' && ./'FfbBridge-1.6.0-x86_64.AppImage' --install
Opcja --install kopiuje plik AppImage do katalogu
~/Applications, tworzy plik .desktop
programu uruchamiającego, instaluje dołączoną ikonę i odświeża pamięć podręczną pulpitu, jeśli dostępne są odpowiednie narzędzia pomocnicze. Następnie
FFB-Bridge powinien pojawić się jako wpis w menu aplikacji obok innych aplikacji z interfejsem graficznym.

Reguła udev (zalecana)
System Linux wymaga uprawnień do wybranego węzła /dev/input/event*, a także do kanału TTY zasad firmware używanego przez obsługiwane bazy MOZA oraz do interfejsów hidraw używanych przez Logitech G940 i bazy Brunner. Sekcja Wsparcie → Kontrole stanu pokazuje podgląd kanonicznej reguły dla obsługiwanych urządzeń i może ją zainstalować po monicie polkit. Jeśli dopuszczono kwalifikujący się joystick spoza listy i jest on podłączony, jego wiersz wejścia jest dopisywany podczas instalacji.
# /etc/udev/rules.d/71-ffb-bridge.rules
SUBSYSTEM=="input", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="001b", TAG+="uaccess"
SUBSYSTEM=="input", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c287", TAG+="uaccess"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c287", TAG+="uaccess"
SUBSYSTEM=="input", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c2a8", TAG+="uaccess"
SUBSYSTEM=="input", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c286", TAG+="uaccess"
SUBSYSTEM=="input", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c283", TAG+="uaccess"
SUBSYSTEM=="input", ATTRS{idVendor}=="cafe", ATTRS{idProduct}=="4004", TAG+="uaccess"
SUBSYSTEM=="input", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="204e", TAG+="uaccess"
SUBSYSTEM=="input", ATTRS{idVendor}=="346e", ATTRS{idProduct}=="1000", TAG+="uaccess"
SUBSYSTEM=="tty", ATTRS{idVendor}=="346e", ATTRS{idProduct}=="1000", TAG+="uaccess", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="346e", ATTRS{idProduct}=="1002", TAG+="uaccess"
SUBSYSTEM=="tty", ATTRS{idVendor}=="346e", ATTRS{idProduct}=="1002", TAG+="uaccess", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="346e", ATTRS{idProduct}=="1001", TAG+="uaccess"
SUBSYSTEM=="tty", ATTRS{idVendor}=="346e", ATTRS{idProduct}=="1001", TAG+="uaccess", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="346e", ATTRS{idProduct}=="1003", TAG+="uaccess"
SUBSYSTEM=="tty", ATTRS{idVendor}=="346e", ATTRS{idProduct}=="1003", TAG+="uaccess", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="25bb", ATTRS{idProduct}=="00d2", TAG+="uaccess"
SUBSYSTEM=="input", ATTRS{idVendor}=="25bb", ATTRS{idProduct}=="0120", TAG+="uaccess"
SUBSYSTEM=="input", ATTRS{idVendor}=="25bb", ATTRS{idProduct}=="0121", TAG+="uaccess"
SUBSYSTEM=="input", ATTRS{idVendor}=="25bb", ATTRS{idProduct}=="00ca", TAG+="uaccess"
# Brunner CAN-over-HID vendor interface (USB interface 1), any grip and USB mode.
SUBSYSTEM=="hidraw", KERNEL=="hidraw*", ATTRS{modalias}=="usb:v25BBp*in01", TAG+="uaccess"
# G940 signed 10-bit stick axes; preserve other calibration fields.
ACTION!="remove", SUBSYSTEM=="input", KERNEL=="event*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c287", ENV{EVDEV_ABS_00}="-512:511", ENV{EVDEV_ABS_01}="-512:511", RUN{builtin}+="keyboard"
Starsza reguła jest zgłaszana jako OSTRZ., gdy brakuje w niej aktualnego uprawnienia urządzenia, np. wierszy TTY dla MOZA lub dostępu hidraw używanego przez Logitech G940 i bazy Brunner, albo gdy jej nazwa pliku sprawia, że jest stosowana zbyt późno, by zapewnić dostęp w sesji pulpitu, jak w przypadku dawnego pliku 99-ffb-bridge.rules. Użyj opcji „Napraw…”, nawet jeśli plik już istnieje; aplikacja instaluje pełną wygenerowaną regułę jako 71-ffb-bridge.rules i usuwa dawny plik.
Po udanej naprawie reguła jest aktywna, a aplikacja zaleca ponowne uruchomienie. „Uruchom ponownie teraz” otwiera joystick ponownie z nowymi uprawnieniami i porzuca wszelkie rozwiązania zapasowe użyte przy uruchomieniu; wybór „Uruchomię ponownie później” jest bezpieczny, gdy najpierw musisz kontynuować pracę.




NixOS odczytuje reguły udev z konfiguracji systemu. Ignoruje pliki umieszczone bezpośrednio w katalogu
/etc/udev/rules.d. Dodaj odpowiednik do pliku
configuration.nix:
services.udev.extraRules = ''
SUBSYSTEM=="input", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="001b", TAG+="uaccess"
SUBSYSTEM=="input", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c287", TAG+="uaccess"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c287", TAG+="uaccess"
SUBSYSTEM=="input", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c2a8", TAG+="uaccess"
SUBSYSTEM=="input", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c286", TAG+="uaccess"
SUBSYSTEM=="input", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c283", TAG+="uaccess"
SUBSYSTEM=="input", ATTRS{idVendor}=="cafe", ATTRS{idProduct}=="4004", TAG+="uaccess"
SUBSYSTEM=="input", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="204e", TAG+="uaccess"
SUBSYSTEM=="input", ATTRS{idVendor}=="346e", ATTRS{idProduct}=="1000", TAG+="uaccess"
SUBSYSTEM=="tty", ATTRS{idVendor}=="346e", ATTRS{idProduct}=="1000", TAG+="uaccess", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="346e", ATTRS{idProduct}=="1002", TAG+="uaccess"
SUBSYSTEM=="tty", ATTRS{idVendor}=="346e", ATTRS{idProduct}=="1002", TAG+="uaccess", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="346e", ATTRS{idProduct}=="1001", TAG+="uaccess"
SUBSYSTEM=="tty", ATTRS{idVendor}=="346e", ATTRS{idProduct}=="1001", TAG+="uaccess", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="346e", ATTRS{idProduct}=="1003", TAG+="uaccess"
SUBSYSTEM=="tty", ATTRS{idVendor}=="346e", ATTRS{idProduct}=="1003", TAG+="uaccess", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="25bb", ATTRS{idProduct}=="00d2", TAG+="uaccess"
SUBSYSTEM=="input", ATTRS{idVendor}=="25bb", ATTRS{idProduct}=="0120", TAG+="uaccess"
SUBSYSTEM=="input", ATTRS{idVendor}=="25bb", ATTRS{idProduct}=="0121", TAG+="uaccess"
SUBSYSTEM=="input", ATTRS{idVendor}=="25bb", ATTRS{idProduct}=="00ca", TAG+="uaccess"
# Brunner CAN-over-HID vendor interface (USB interface 1), any grip and USB mode.
SUBSYSTEM=="hidraw", KERNEL=="hidraw*", ATTRS{modalias}=="usb:v25BBp*in01", TAG+="uaccess"
# G940 signed 10-bit stick axes; preserve other calibration fields.
ACTION!="remove", SUBSYSTEM=="input", KERNEL=="event*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c287", ENV{EVDEV_ABS_00}="-512:511", ENV{EVDEV_ABS_01}="-512:511", RUN{builtin}+="keyboard"
'';
Następnie uruchom sudo nixos-rebuild switch i ponownie podłącz drążek.
Odinstalowywanie
Uruchom zainstalowany plik AppImage z opcją --uninstall w celu usunięcia programu uruchamiającego i ikon, a następnie usuń plik AppImage z katalogu
~/Applications (jeśli już go nie potrzebujesz). Profile i preferencje w katalogu ~/.config/ffb-bridge są zachowywane na potrzeby ponownej instalacji.
Obraz DMG dla macOS (Apple Silicon)
Kompilacja dla macOS łączy się z X-Plane. Działa na komputerach z Apple Silicon (M1 lub nowszy) i łączy się z
X-Plane 12 przy użyciu obsługiwanego sprzętu force feedback. Dokładny zakres obsługi urządzeń i funkcji znajdziesz w przewodniku po sprzęcie. Jest dostarczana jako podpisany i poświadczony notarialnie plik
.dmg, więc Gatekeeper akceptuje go bez obejścia z użyciem polecenia „Otwórz” w menu kontekstowym.
Pobieranie i instalacja
Użyj tego samego procesu rejestracji co na innych platformach — kliknij link dla macOS w wiadomości e-mail, aby pobrać obraz DMG z numerem wersji, np.
FfbBridge-1.6.0-arm64.dmg. Następnie:
- Kliknij dwukrotnie plik DMG, aby go zamontować. Otworzy się okno, w którym zobaczysz aplikację FFB-Bridge oraz folder Aplikacje w postaci skrótu.
- Przeciągnij FFB-Bridge na skrót folderu Aplikacje w celu instalacji.
- Wysuń obraz DMG, a następnie uruchom FFB-Bridge z programu Launchpad lub z folderu Aplikacje.
Ponieważ kompilacja jest poświadczona notarialnie z użyciem identyfikatora Developer ID firmy Rohsam Inc., macOS przy pierwszym uruchomieniu weryfikuje ją przez sieć i otwiera normalnie. Jeśli przy pierwszym uruchomieniu twój Mac jest offline, połącz się z internetem, aby Gatekeeper mógł dokończyć sprawdzanie.
Odinstalowywanie
Przeciągnij FFB-Bridge z folderu Aplikacje
do Kosza. Profile i preferencje w katalogu
~/.config/ffb-bridge pozostają na miejscu na potrzeby ponownej instalacji; aby zacząć od zera, usuń ten folder ręcznie.
Weryfikacja instalacji
Uruchom FFB-Bridge. Dokończ potwierdzenie bezpieczeństwa i kontrole przy uruchomieniu, a następnie przejdź przez wprowadzenie powitalne (omówione w następnej sekcji). Jeśli aplikacja w ogóle się nie uruchamia lub ulega awarii przy starcie, przejdź od razu do sekcji Rozwiązywanie problemów.