Go to file
Paul Dino Jones 532baed356 Add rpm workflow 2026-01-12 15:04:37 -05:00
.github/workflows Add rpm workflow 2026-01-12 15:04:37 -05:00
conf working custom serial 2025-10-20 19:37:28 -04:00
src Adding support for Logitech G29 Wheel 2026-01-06 21:14:10 -05:00
tests fix serial receiving 2025-07-14 00:15:47 -04:00
tools add libxml2 dependency 2026-01-12 12:00:37 -05:00
udev Add Simagic GT Neo to the udev rules, opening hidraw 2025-06-15 22:59:41 -04:00
.gitignore Initial work 2024-09-19 18:53:04 -04:00
.gitmodules Update .gitmodules 2023-09-29 12:12:47 -04:00
.valgrindrc clean up argument parsing a little 2025-09-01 17:24:26 -04:00
CMakeLists.txt Re-enable shared memory test prog 2025-04-28 20:38:34 -04:00
HOW-TO-USE.md Provide instructions to set up monocoque (#24) 2025-08-31 21:57:41 -04:00
LICENSE.rst Moved to GPLv3 2022-12-23 22:42:37 +00:00
README.md update README 2026-01-09 16:41:58 -05:00
install.sh feat: Add universal installer and TUI manager (#26) 2025-12-23 17:11:51 -05:00

README.md

Monocoque

___   |/  /____________________________________ ____  ______ 
__  /|_/ /_  __ \_  __ \  __ \  ___/  __ \  __ `/  / / /  _ \
_  /  / / / /_/ /  / / / /_/ / /__ / /_/ / /_/ // /_/ //  __/
/_/  /_/  \____//_/ /_/\____/\___/ \____/\__, / \__,_/ \___/ 
                                           /_/

Cross Platform device manager for driving and flight simulators, for use with common simulator software titles.

📚 Usage Documentation: spacefreak18.github.io/simapi/

Features

  • Updates at 60 frames per seconds.
  • Modular design for support with various titles and devices.
  • Supports bass shakers, tachometers, several wheels and pedals, simlights, simwind etc, through usb and arduino serial.
  • Tachometer support is currently limited to the Revburner model. Supports existing revburner xml configuration files.
  • Includes utility to configure revburner tachometer
  • Can send data to any serial device. So far only tested with arduino. and ESP32. Includes sample arduino sketch for sim lights, simwind, and simhaptic effects for motors.
  • Support for custom arduino (or any serial) device, with a custom lua format for sending data
  • Convincing shaker effects for noise tranducers for wheel slip, wheel lock, and abs, as well as engine rpm and gear shifts.
  • Support for many wheels and pedals including Clubsport Elite V3, Logitech G29, and Moza R5.

Quick Install

One-Line Installation:

curl -fsSL https://raw.githubusercontent.com/Spacefreak18/monocoque/master/install.sh | bash

AUR Package following git master: https://aur.archlinux.org/packages/monocoque-git

Or download and review first:

wget https://raw.githubusercontent.com/Spacefreak18/monocoque/master/install.sh
chmod +x install.sh
./install.sh

TUI Manager: After installation, use the interactive manager:

monocoque-manager

Supported Games Supported Sims please note on Linux some titles will require a compatibility exe from simshmbridge to be setup. Please follow the linked Documentation for installation instructions

Building

Dependencies

  • libserialport - arduino serial devices
  • hidapi - usb hid devices (hidraw)
  • portaudio - sound devices (haptic bass shakers)
  • libpulse - sound devices (haptic bass shakers)
  • libuv base event loop
  • libxml2
  • argtable2
  • libconfig
  • xdg-basedir
  • lua
  • slog (static)
  • simshmbridge - for sims that need shared memory mapping like AC and Project Cars related.
  • simapi
pacman -Syu git cmake pulse-native-provider libxdg-basedir libserialport libconfig libuv argtable hidapi lua

This code depends on the shared memory data headers in the simapi repo. When pulling lastest if the submodule does not download run:

git submodule sync --recursive
git submodule update --init --recursive

Then to compile simply:

mkdir build; cd build
cmake ..
make

User Setup Guide

See the dedicated How To for detailed instructions to set up and run 'monocoque`

Testing

./monocoque test -vv # Make sure that ~/.config/monocque/monocoque.config only contains the devices you have connected.

Logs file location

~/.cache/monocoque/*.log

Static Analysis

    mkdir build; cd build
    make clean
    cmake -Danalyze=on ..
    make

Valgrind

    cd build
    valgrind -v --leak-check=full --show-leak-kinds=all --suppressions=../.valgrindrc ./monocoque play

Join the Discussion

Sim Racing Matrix Space

ToDo

  • add frequency cap (low pass filter) to sound haptic effects
  • add road and kerb sound haptic effects
  • windows port
  • more memory testing
  • cleanup tests which are basically just copies of the example from their respective projects
  • much, much more