# SpaceMouse Support in [[Solus]] ***Last Updated: [[2024-03-23]] *** >[!WARNING] > I documented all this and it should work, but there appears to be problems with the Gnome stack which breaks compatibility with many input devices. When Budgie forks Gnome, these problems may be fixed. They should not be an issue on KDE or other configurations. There is an open [package request](https://github.com/getsolus/packages/issues/547) for it, but in the meantime [[Solus]] does not ship with any of the `spacenav` libraries or tools so they must be installed manually. Additionally, Solus does not support libaries in `/usr/local/lib` so you will either need to build a custom package or configure `spacenav` to install into `/usr/lib` directly. ```shell git clone https://github.com/FreeSpacenav/libspnav.git cd libspnav ./configure --prefix=/usr/ make sudo make install git clone https://github.com/FreeSpacenav/spacenavd.git cd spacenavd ./configure --prefix=/usr/ make sudo make install git clone https://github.com/FreeSpacenav/spnavcfg.git cd spnavcfg ./configure --prefix=/usr/ make sudo make install ``` ## Unreal Engine & SpaceMouse Dealing with UE is a wild thing. You will [need](https://github.com/microdee/UE4-SpaceMouse/blob/master/LINUX.md) to *uninstall* all of your Linux development tools. Why? Because Unreal Engine ships with its own version of LLVM/Clang and it will get confused and blow up if there is another toolchain available. You can probably accomplish the same thing is with a `chroot` and/or some other trickery, or even just removing LLVM, but I haven't tested it. ***THIS WILL PROBABLY UNINSTALL THINGS YOU DO NOT EXPECT*** So keep an eye on what it actually removes that happen to rely on those dev packages. We also need the `udev` development libraries. ```sh sudo eopkg rm -c system.devel # this may cause severe side effects! sudo eopkg install libgudev-devel git submodule add https://github.com/microdee/UE4-SpaceMouse.git Plugins/SpaceMouse cd UE4-SpaceMouse /opt/pkg/Unreal/Engine/Build/BatchFiles/RunUAT.sh BuildPlugin \ -Plugin="$PWD/SpaceMouse.uplugin" \ -Package="$PWD/Out/Linux" sudo eopkg install -c system.devel # reinstall dev tools ``` To install the plugin: ```sh mkdir $ueprojectfolder/Plugins cp -r Out/Linux $ueprojectfolder/Plugins/SpaceMouse ``` Put this into `/usr/lib/udev/ruules.d/90-3dconnexion.rules` in order to ensure your user has permissions (maybe not needed): ```ini # 3D Connexion vendor devices KERNEL=="hidraw*", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c603", MODE="0666" KERNEL=="hidraw*", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c605", MODE="0666" KERNEL=="hidraw*", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c606", MODE="0666" KERNEL=="hidraw*", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c621", MODE="0666" KERNEL=="hidraw*", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c623", MODE="0666" KERNEL=="hidraw*", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c625", MODE="0666" KERNEL=="hidraw*", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c626", MODE="0666" KERNEL=="hidraw*", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c627", MODE="0666" KERNEL=="hidraw*", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c628", MODE="0666" KERNEL=="hidraw*", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c629", MODE="0666" KERNEL=="hidraw*", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c62b", MODE="0666" KERNEL=="hidraw*", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c62e", MODE="0666" KERNEL=="hidraw*", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c62f", MODE="0666" KERNEL=="hidraw*", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c631", MODE="0666" KERNEL=="hidraw*", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c632", MODE="0666" KERNEL=="hidraw*", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c633", MODE="0666" KERNEL=="hidraw*", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c635", MODE="0666" KERNEL=="hidraw*", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c636", MODE="0666" KERNEL=="hidraw*", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c640", MODE="0666" KERNEL=="hidraw*", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c652", MODE="0666" ```