🐧 Linux Installation Guide
AntiMicroX works excellently on Linux with full support for all major distributions. This comprehensive guide covers installation, configuration, and troubleshooting for Ubuntu, Fedora, Arch Linux, and other popular distributions.
📦 Installation Methods
Ubuntu / Debian
Method 1: APT Repository (Recommended)
# Add the repository
wget -qO - https://antimicrox.github.io/antimicrox.gpg | sudo apt-key add -
echo "deb https://antimicrox.github.io/antimicrox focal main" | sudo tee /etc/apt/sources.list.d/antimicrox.list
# Update package list and install
sudo apt update
sudo apt install antimicrox
Method 2: .deb Package
# Download the latest .deb package
wget https://github.com/AntiMicroX/antimicrox/releases/download/3.3.4/antimicrox_3.3.4_amd64.deb
# Install with dpkg
sudo dpkg -i antimicrox_3.3.4_amd64.deb
# Fix dependencies if needed
sudo apt-get install -f
Fedora / RHEL / CentOS
Method 1: DNF/YUM Repository
# Add the repository
sudo dnf config-manager --add-repo https://antimicrox.github.io/antimicrox.repo
# Install AntiMicroX
sudo dnf install antimicrox
Method 2: RPM Package
# Download the latest .rpm package
wget https://github.com/AntiMicroX/antimicrox/releases/download/3.3.4/antimicrox-3.3.4-1.x86_64.rpm
# Install with dnf/yum
sudo dnf install antimicrox-3.3.4-1.x86_64.rpm
Arch Linux / Manjaro
Method 1: AUR (Recommended)
# Using yay (AUR helper)
yay -S antimicrox
# Using makepkg manually
git clone https://aur.archlinux.org/antimicrox.git
cd antimicrox
makepkg -si
Method 2: Official Repositories
# Install from community repository
sudo pacman -S antimicrox
openSUSE
# Add the repository
sudo zypper addrepo https://antimicrox.github.io/antimicrox.repo
# Install AntiMicroX
sudo zypper install antimicrox
🔧 Configuration and Permissions
User Permissions Setup
Linux requires proper permissions to access input devices. Follow these steps to ensure AntiMicroX can detect and use your controllers:
Step 1: Add User to Input Group
# Add current user to input group
sudo usermod -a -G input $USER
# Verify group membership
groups $USER
Step 2: Create udev Rules
# Create udev rules file
sudo nano /etc/udev/rules.d/99-antimicrox.rules
# Add these lines to the file:
SUBSYSTEM=="input", GROUP="input", MODE="0664"
SUBSYSTEM=="usb", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="028e", GROUP="input", MODE="0664"
SUBSYSTEM=="usb", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0268", GROUP="input", MODE="0664"
# Reload udev rules
sudo udevadm control --reload-rules
sudo udevadm trigger
Step 3: Restart or Re-login
Log out and log back in (or restart) for the group changes to take effect.
Desktop Environment Integration
GNOME
# Create desktop entry for applications menu
cat > ~/.local/share/applications/antimicrox.desktop << EOF
[Desktop Entry]
Version=1.0
Type=Application
Name=AntiMicroX
Comment=Gamepad to keyboard/mouse mapping
Exec=antimicrox
Icon=antimicrox
Terminal=false
Categories=Game;Utility;
EOF
# Update desktop database
update-desktop-database ~/.local/share/applications/
KDE Plasma
KDE Plasma users may want to add AntiMicroX to autostart:
# Add to autostart
cp /usr/share/applications/antimicrox.desktop ~/.config/autostart/
# Or create custom autostart entry
cat > ~/.config/autostart/antimicrox.desktop << EOF
[Desktop Entry]
Type=Application
Name=AntiMicroX
Exec=antimicrox --hidden
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
EOF
🎮 Controller-Specific Setup
Xbox Controllers
Xbox Wireless Controller Support
# Install xpadneo driver for better Xbox controller support
git clone https://github.com/atar-axis/xpadneo.git
cd xpadneo
sudo ./install.sh
# Alternative: Install from repository (Ubuntu)
sudo add-apt-repository ppa:atar-axis/xpadneo
sudo apt update
sudo apt install xpadneo
PlayStation Controllers
DualShock 4 / DualSense Setup
# Install ds4drv for DualShock 4 support
sudo pip install ds4drv
# For DualSense (PS5) controller
sudo apt install dualsensectl # Ubuntu
sudo dnf install dualsensectl # Fedora
sudo pacman -S dualsensectl # Arch
# Run ds4drv for DualShock 4
ds4drv --hidraw
Nintendo Controllers
Switch Pro Controller / Joy-Con
# Install joycond for Joy-Con support
git clone https://github.com/DanielOgorchock/joycond.git
cd joycond
make && sudo make install
sudo systemctl enable --now joycond
# For Pro Controller, usually works out of the box with recent kernels
# Check if detected:
lsusb | grep Nintendo
🐛 Troubleshooting
Common Issues and Solutions
Issue: "Permission denied" errors
AntiMicroX cannot access controller devices.
Solutions:
- Ensure user is in input group:
groups $USER
- Check udev rules are properly set
- Restart udev service:
sudo systemctl restart systemd-udevd
- Run AntiMicroX with sudo temporarily to test
Issue: Controller detected but not working
Controller appears in AntiMicroX but mappings don't work.
Solutions:
- Check if controller is grabbed by another process:
lsof /dev/input/event*
- Disable Steam Input in Steam settings
- Kill conflicting processes:
pkill -f steam
- Test with evtest:
sudo apt install evtest && sudo evtest
Issue: Wayland compatibility problems
AntiMicroX doesn't work properly on Wayland sessions.
Solutions:
- Switch to X11 session at login screen
- Install additional Wayland protocols
- Use environment variables:
QT_QPA_PLATFORM=wayland antimicrox
- Check desktop-specific solutions (GNOME/KDE)
🚀 Advanced Configuration
Custom Kernel Module Parameters
# Create modprobe configuration for Xbox controllers
echo 'options xpad disable_deadzones=1' | sudo tee /etc/modprobe.d/xpad.conf
# For better PlayStation controller support
echo 'options hid_sony force_feedback=1' | sudo tee /etc/modprobe.d/hid_sony.conf
# Reload modules
sudo rmmod xpad && sudo modprobe xpad
Systemd Service Setup
Create a systemd user service to start AntiMicroX automatically:
# Create service file
mkdir -p ~/.config/systemd/user
cat > ~/.config/systemd/user/antimicrox.service << EOF
[Unit]
Description=AntiMicroX Gamepad Mapping
After=graphical-session.target
[Service]
Type=simple
ExecStart=/usr/bin/antimicrox --hidden
Restart=on-failure
Environment=DISPLAY=:0
[Install]
WantedBy=default.target
EOF
# Enable and start the service
systemctl --user enable antimicrox.service
systemctl --user start antimicrox.service
📈 Performance Optimization
CPU and Memory Optimization
- Polling Rate: Reduce from 1000Hz to 500Hz in settings
- Process Priority:
nice -n -5 antimicrox
for higher priority - CPU Affinity:
taskset -c 0 antimicrox
to bind to specific CPU - Memory Locking: Use
ulimit -l unlimited
for real-time performance
Real-Time Performance
# Install real-time kernel (Ubuntu)
sudo apt install linux-lowlatency
# Configure real-time limits
echo '@audio - rtprio 99' | sudo tee -a /etc/security/limits.conf
echo '@audio - memlock unlimited' | sudo tee -a /etc/security/limits.conf
# Add user to audio group for RT privileges
sudo usermod -a -G audio $USER
🆘 Need More Help?
If you're still having issues with Linux setup, our community has extensive Linux expertise: